区别:
一、洗衣功能不同
1、x8155:洗衣功能更多,支持防缠、预约功能、脱水功能、儿童安全锁、中途添衣、桶自洁功能。
2、x8156:洗衣功能比x8155更少,支持防缠、预约功能、脱水功能、中途添衣功能。
二、洗衣程序不同
1、x8155:洗衣程序只有羊毛洗、丝绸洗、常用、记忆、毛毯、浸泡洗。
2、x8156:洗衣程序更多,有羊毛洗、丝绸洗、常用、记忆、毛毯、浸泡洗、节水立体漂、超快速、羽绒洗功能
三、外观不同
1、x8155:x8155的洗衣机外观是银色的。
2、x8156:x8156的洗衣机外观则是金色的。
ORG 0000HSTART: AJMP MAIN
ORG 001BH
AJMP PITO
ORG 0030H
MAIN: MOV SP, #60H
MOV R0, #79H
MOV R7, #06H
ML1: MOV @R0, #00H
INC R0
DJNZ R7, ML1
MOV TMOD, #10H
MOV TL1, #0DCH
MOV TH1, #0BH
SETB EA
SETB ET1
MOV 30H, #16
LOOP0: LCALL SMXS
LCALL KEY
JB 20H.7, KEYA
JB 20H.6, KEYB
JB 20H.5, KEYC
JB 20H.4, KEYD
LCALL SMXS
AJMP LOOP0
KEYA: CPL TR1
AJMP LOOP0
KEYB: JB TR1, LOOP0
MOV R0, #7AH
LCALL DAAD1
MOV A, R2
XRL A, #60H
JNZ LOOP0
LCALL CLR0
AJMP LOOP
KEYC: JB TR1, LOOP0 当TR0为1时转系统键控程序
MOV R0, #7CH 当TR0为0时进行分加1
LCALL DAAD1 调加1子程序
MOV A, R2
XRL A, #60H
JNZ LOOP0 若不为60分转系统键控程序
LCALL CLR0 若为60分调清零子程序
AJMP LOOP0 转系统键控程序
KEYD键功是在电子钟停止运行时对时进行加1 *** 作:
KEYD: JB TR1, LOOP0 当TR0为1时转系统键控程序
MOV R0, #7EH 当TR0为0时进行时加1
LCALL DAAD1 调加1子程序
MOV A, R2
XRL A, #24H
JNZ LOOP0 若不为24小时转系统键控程序
LCALL CLR0 若为24小时调清零子程序
AJMP LOOP0 转系统键控程序
KEY: LCALL KEYCL 调键处理子程序
JZ EXIT 若没有键按下则返回
LCALL SMXS 有键按下两次调显示
LCALL SMXS 用于前沿去抖动
LCALL KEYCL 判断是否真的有键按下
JZ EXIT 若没有键按下则返回
MOV B, 20H 有键按下则保存键值
KEYSF: LCALL KEYCL 判断是否有键松开
JZ KEY1 没有则继续判断
LCALL SMXS 若已经按下则调显示
LCALL SMXS 用于后沿去抖动
LJMP KEYSF
KEY1: MOV 20H, B 保存键值
EXIT: RET 键扫子程序返回
P1口数据处理子程序KEYCL:
出口参数:A,20H
KEYCL: PUSH PSW 保护现场
PUSH DPL 保护DPTR低8位
PUSH DPH 保护DPTR高8位
SETB PSW.1 改变当前寄存器组为组3
MOV P1, #0F0H 向P1口写1
MOV A, P1 读P1口数据
CPL A 对P1口数据取反
ANL A, #0F0H 屏蔽P1口低4位
MOV 20H, A 保存取反后的键值
POP DPH 恢复DPTR高8位
POP DPL 恢复DPTR低8位
POP PSW 恢复PSW中的内容
RET P1口数据处理子程序返回
PITO: PUSH PSW ;中断服务
PUSH ACC
SETB PSW.3
MOV TL1, #0DCH
MOV TH1, #0BH
MOV A, 30H
DEC A
MOV 30H, A
JNZ RET0
MOV 30H, #16
MOV R0, #7AH
ACALL DAAD1
MOV A, R2
XRL A, #60H
JNZ RET0
ACALL CLR0
MOV R0, #7CH
ACALL DAAD1
MOV A, R2
XRL A, #60H
JNZ RET0
ACALL CLR0
MOV R0, #7EH
ACALL DAAD1
MOV A, R2
XRL A, #24H
JNZ RET0
ACALL CLR0
RET0: POP ACC
POP PSW
RETI
DAAD1: MOV A, @R0
DEC R0
SWAP A
ORL A, @R0
ADD A, #01H
DA A
MOV R2, A
ANL A, #0FH
MOV @R0, A
MOV A, R2
INC R0
ANL A, #0F0H
SWAP A
MOV @R0, A
RET
CLR0: CLR A
MOV @R0, A
DEC R0
MOV @R0, A
RET
SMXS: PUSH PSW
PUSH ACC
SETB PSW.2
MOV SCON, #00H; 使用了串口,显示分秒
MOV R6, #04H
BB: MOV R0, #79H
ZZ: MOV A, @R0
MOV DPTR, #TAB
MOVC A, @A+DPTR
MOV SBUF, A
JNB TI, $
CLR TI
INC R0
DJNZ R6, ZZ
MOV R6, #04H
ACALL DELAY
SMXS2: MOV R1, #7EH ;使用8155动态显示时.
MOV 41H, #04H
MOV 42H, #02H
LOOP: MOV DPTR, #0FEF8H
MOV A, #0CFH
MOVX @DPTR, A
-------------------------------------------------------
MOV DPTR, #TAB
MOV A, @R1
MOVC A, @A+DPTR 1
MOV DPTR, #0FEF9H
MOVX @DPTR, A
------------------------------------------------------
MOV A, 41H
MOV DPTR, #0FEFBH
MOVX @DPTR, A
ACALL DELAY
DEC R1
MOV A, 41H
RL A
MOV 41H, A
DJNZ 42H, LOOP
POP ACC
POP PSW
RET
DELAY:
MOV R5, #50
LOOP2: MOV R4, #50
LOOP1: NOP
NOP
DJNZ R4, LOOP1
DJNZ R5, LOOP2
NOP
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)