下面两种是自动洗衣机程序你可以跟据下列程序进行修改. 第一种: ORG 0000H START: AJMP MAIN ; 初始化 ORG 0003H AJMP INT0 ; 暂停中断中断向量 ORG 000BH AJMP T0 ; 定时器0中断向量 ORG 0013H AJMP INT1 ; 开盖,不平衡中断中断向量 ORG 0030H MAIN: MOV P1, #0F0H ; 主程序开始 MOV P3,#7FH MOV SP,#35H MOV 56H,#0F0H ; #0F0H 排水标志(指定 56H 为标志单元) MOV 57H,#03 ; 洗衣机标准洗衣工作程序标志(指定 57H) MOV 54H,#40 ; 强洗正、反转驱动4秒赋值(指定 54H 存放) MOV 55H,#10 ; 强洗间歇1秒赋值(指定 55H 存放) MOV 58H,#06 ; 漂洗6分钟赋值(指定 58H 存放) CLR ET0 SETB EA ; 开总中断 CLR IT0 ; 设置外部中断0、1为低电平触发 CLR IT1 SETB PX0 ; 设置中断优先级别 SETB PT0 SETB PX1 MOV TL0,#0B0H ; 设置100MS中断时间常数 MOV TH0,#3CH MOV TMOD,#01H KA: JNB P1.4,X1 ; 以下为按键扫描程序 AJMP KB X1: ACALL K1 KB: JNB P1.5,X2 AJMP KC X2: ACALL K2 KC: JB P3.4,KA ; 按键扫描程序结束 ACALL DEL10 JB P3.4,KA ACALL FZH JNB P3.4,$ SETB ET0 ; 开定时器0中断 SETB TR0 ; 启动定时器0 SETB P3.5 SETB EX0 CLR P3.4 MOV A ,57H CJNE A,#00H,XY ; 是排水程序? AJMP BSH1 ; 是则跳转排水程序 XY: MOV 70H,#00 MOV 51H,#00 SETB P1.0 ; 以下为进水*作,打开进水阀 MOV A,#240 L0: CJNE A,51H,L1 ; 进水系统有故障? AJMP FW ; 有则跳转故障处理程序 L1: JB P3.5 ,L0 ; 进水达预定水位? CLR P1.0 ; 进水结束,关闭进水阀 MOV 70H,#00 MOV 71H,#00 MOV 72H,#00 L: MOV 50H,#00 ; 以下为洗涤/漂洗工作程序 SETB P1.2 ; 正转洗涤/漂洗驱动 MOV A,50H CJNE A,50H,$ CLR P1.2 ; 洗涤/漂洗间歇 MOV 50H,#00 MOV A,55H CJNE A,50H,$ MOV 50H,#00 SETB P1.3 ; 反转洗涤/漂洗驱动 MOV A,54H CJNE A,50H,$ CLR P1.3 ; 洗涤/漂洗间歇 MOV 50H,#00 MOV A,55H CJNE A,50H,$ MOV A,58H CJNE A,72H,L ; 洗涤/漂洗工作结束? BSH: MOV A,56H CJNE A,#0F0h,PBSH ; 洗涤/漂洗工作结束,排水否? DEC 57H ; 洗衣工作循环次数减 1 BSH1: SetB P1.1 ; 排水*作,打开排水阀 MOV 70H,#00 MOV 51H,#00 MOV A,#60 BSH2: CJNE A,51H,BSH3 ; 排水系统有故障? AJMP FW ; 有则跳转故障处理程序 BSH3: JNB P3.5,BSH2 ; 水位下降至预定水位? MOV A,51H ADD A,#50 MOV 70H,#00 MOV 51H,#00 CJNE A,51H,$ ; 排水时间延长D+50秒 MOV 73H,#00 ; 以下为脱水程序 CLR P3.5 ; 开盖、不平衡中断请求触器允许 SETB EX1 ; 脱水期间,开盖、不平衡中断允许 BSH4: MOV 50H,#00 SETB P1.2 ; 脱水驱动5秒 MOV A,#50 CJNE A,50H,$ CLR P1.2 ; 脱水间歇2秒 MOV A,#20 MOV 50H,#00 CJNE A,50H,$ INC 73H MOV A,73H CJNE A,#17,BSH4 ; 脱水时间达 2 分钟? CLR P1.1 SETB P3.5 CLR EX1 ; 脱水结束,禁止开盖、不平衡中断中断崐 MOV A,57H CJNE A,#00,BSH5 ; 洗衣工作是否结束? AJMP PBSH ; 结束跳转结束报警程序 BSH5: MOV A,58H SUBB A,#2 ; 洗涤/漂洗时间减2分钟 MOV 58H,A AJMP XY ; 洗衣工作未结束,继续下一循环 PBSH: MOV 74H,#00 ; 洗衣结束报警程序 JK: MOV 50H,#00 BJ1: SETB P3.7 MOV A,50H CJNE A,#10,BJ1 MOV 50H,#00 BJ2: CLR P3.7 MOV A,50H CJNE A,#10,BJ2 INC 74H MOV A,74H CJNE A,#3,JK AJMP MAIN ; 洗衣工作结束,返回主程序 ; FW: CLR EX1 ; 以下为进排水系统故障处理程序 CLR P1.0 CLR P1.1 CLR P1.2 CLR P1.3 FW1: MOV 50H,#00 FW2: SETB P3.7 JNB P1.4,FW4 MOV A,50H CJNE A,#10,FW2 MOV 50H,#00 FW3: CLR P3.7 JNB P1.4,FW4 MOV A,50H CJNE A,#20,FW3 AJMP FW1 FW4: CLR P3.7 ACALL FZH JNB P1.4 ,$ AJMP MAIN ; INT0: PUSH A ; 以下为暂停中断服务 程序 PUSH PSW PUSH DPH PUSH DPL SETB P3.4 ; 撤消本次中断请求信号 ACALL FZH MOV A,P1 MOV R1,A ; 保存P1端口状态 ANL A,#0F0H MOV P1,A ; 洗衣机暂停各种*作 JB P3.4,$ ; 等待启动键按下 ACALL FZH MOV A,R1 MOV P1,A ; 恢复P1口原始数据 POP DPL POP DPH POP PSW POP A CLR P3.4 RETI ; 中断返回 ; T0: PUSH A ; 定时器0定时中断服务程序 PUSH DPH PUSH DPL PUSH PSW INC 50H INC 70H ; 100MS单元累加1 MOV A,70H CJNE A,#0AH,LL ; 时间达1秒? MOV 70H,#00 INC 51H INC 71H ; 时间达1秒,则秒单元累加1 MOV A,71H CJNE A,#3CH,LL ; 时间达1分? MOV 71H,#00H INC 52H INC 72H ; 时间达1分,则分单元累加1 LL: POP PSW POP DPL POP DPH POP A RETI ; 中断返回 ; INT1: PUSH A ; 以下为开盖、不平衡中断服务程序 PUSH PSW PUSH DPH PUSH DPL SETB P3.5 ; 撤消本次中断请求信号 CLR P1.1 ; 停止排水* 作 CLR P1.2 ; 停止脱水*作 CLR ET0 ; 关定时器0定时中断 JP0: JNB P1.6,$ ; 等待开盖或不平衡中断信号消失 SETB P1.1 ; 恢复排水*作 SETB P1.2 ; 恢复脱水*作 POP DPL POP DPH POP PSW POP A CLR P3.5 SETB ET0 ; 定时器0中断允许 RETI ; 中断返回 ; K1: ACALL DEL10 ; 以下为强弱选择键处理程序 JNB P1.4,X4 AJMP EXIT1 X4: ACALL FZH MOV A,54H CJNE A,#40,J1 CLR P1.7 MOV 54H,#30 MOV 55H,#20 AJMP EXIT1 J1: SETB P1.7 MOV 54H,#40 MOV 55H,#10 EXIT1: JNB P1.4,EXIT1 RET ; K2: ACALL DEL10 ; 以下为洗衣工作程序选择键处理程崐序 JNB P1.5,X5 AJMP X9 X5: ACALL FZH MOV A,57H CJNE A,#00,X6 SETB P3.0 ; 标准洗衣工作程序赋值 SETB P3.1 MOV 57H,#03 MOV 56H,#0F0H AJMP X9 X6: CJNE A,#03,X7 SETB P3.0 ; 经济洗衣工作程序赋值 CLR P3.1 MOV 57H,#02 MOV 56H,#0F0H AJMP X9 X7: CJNE A,#02,X8 CLR P3.0 ; 单独洗衣工作 程序赋值 SETB P3.1 MOV 57H,#01 MOV 56H,#00 AJMP X9 X8: CJNE A,#01,X9 CLR P3.0 ; 排水洗衣工作程序赋值 CLR P3.1 MOV 57H,#00 MOV 56H,#00 X9: JNB P1.5,X9 ; 等待该键释放 RET ; FZH: SETB P3.7 ; 发声子程序 ACALL DEL10 CLR P3.7 RET ; DEL10: MOV R6,#0AH ; 10MS延时子程序 D1MS: MOV R7,#64H DLL: NOP NOP NOP DJNZ R7,DLL DJNZ R6,D1MS RET 本TXT 由“文库宝”下
不会吧,你想修改洗衣机程序?是嫌他的程序不好吗。修改时可以的,一个牌子的大多数程序是一样的,用写码器也可,或着更换主板上的那个32脚的程序集成块,不过技术含量有点高,不太建议你改,。不过我以前没事的时候试过,用了3天,现在想想有点划不来
你是要修改洗衣机程序还是想问如何选择洗衣程序哦?选择洗衣程序的话一般有个程序选择按钮按一次就换一个洗衣程序,其对应的指示灯会亮,这个说明书里都有的。如果想修改洗衣机程序那可要一定技术含量了,一般洗衣机程序厂家已经固定了的,你想修改必须懂单片机编程会写程序,然后把写好的程序写进新的单片机更换原来的单片机才行。
要写码器