⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tt226.asm

📁 单片机智能控制
💻 ASM
📖 第 1 页 / 共 5 页
字号:
CNP1:    MOV  R1,#0EDH
         MOV  @R1,#85H         ;修改修改时间和日期的标志
         MOV  R1,#0EEH
         MOV  A,@R1
         INC  A
         MOV  @R1,A
         CJNE A,#01H,XWDF
         MOV  67H,#5AH
         MOV  02H,#15
         CLR  P0.4
         LJMP DDBG
XWDF:    CJNE A,#02H,LHYJ
         MOV  67H,#0A5H
         MOV  02H,#15
         CLR  P0.4
         LJMP DDBG
LHYJ:    CJNE A,#03H,LSFJ
         MOV  67H,#5AH
         MOV  02H,#5
         MOV  R1,#0EEH
         MOV  @R1,#00H
         MOV  R1,#0EDH
         MOV  @R1,#00H
         SETB P0.4
         NOP
         NOP
LSFJ:    LJMP DDBG            ;转去等待键释放
XIA9:    JB   P0.7,XZOY       ;判断是否是AN13(启动/停止/退出定时和启动/屏蔽电话遥控)按下
         MOV  A,#0DEH
         CJNE A,6AH,TCDS
         MOV  R3,#00H
         CLR  RS1
         CLR  RS0             ;切换回原来的第0组寄存器组
         MOV  6AH,#00H        ;清除定时标志
         MOV  0BH,#10H
         MOV  3BH,#10
         NOP
         NOP
         LJMP DDBG
XZOY:    LJMP XIA10
TCDS:    MOV  A,#0BFH
         CJNE A,70H,QDTZ
         NOP
         NOP
         LJMP DDKZ            ;转到单独启动/停止每路定时
QDTZ:    INC  0FH
         MOV  A,0FH
         CJNE A,#01H,ZM1
         MOV  37H,#0DDH       ;单启动定时的标志
         MOV  1EH,#00H
         MOV  A,75H
         CPL  A
         MOV  75H,A
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
ZM1:     CJNE A,#02H,ZM2
         MOV  37H,#00H
         MOV  1EH,#0EEH       ;单启动电话遥控的标志
         MOV  A,75H
         CPL  A
         MOV  75H,A
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
ZM2:     CJNE A,#03H,ZM3
         SETB P0.5            ;同时启动电话遥控和定时
         MOV  37H,#0DDH
         MOV  1EH,#0EEH
         MOV  A,75H
         CPL  A
         MOV  75H,A
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
ZM3:     CJNE A,#04H,ZM5
         CLR  P0.5
         MOV  37H,#00H
         MOV  1EH,#00H
         MOV  0FH,#00H
         MOV  A,75H
         CPL  A
         MOV  75H,A           ;同时屏蔽电话遥控和定时
         NOP
         NOP
ZM5:     LJMP DDBG            ;转去等待键释放
DDKZ:    CJNE R3,#01H,NX11
         MOV  R1,#91H
         MOV  A,@R1
         CPL  A               ;取反是否启动第1路定时的标志
         MOV  @R1,A
         CJNE A,#0AAH,QF10
         MOV  R1,#80H
         MOV  @R1,#11H
         MOV  R1,#81H
         MOV  @R1,#11H            ;启动第1路定时
         NOP
         NOP
         LJMP DS3
QF10:    MOV  R1,#80H
         MOV  @R1,#00H
         MOV  R1,#81H
         MOV  @R1,#00H            ;停止第1路定时
         NOP
         NOP
         LJMP DS3
NX11:    CJNE R3,#02H,NX12
         MOV  R1,#92H
         MOV  A,@R1
         CPL  A                ;取反是否启动第2路定时的标志
         MOV  @R1,A
         CJNE A,#0AAH,QF20
         MOV  R1,#82H
         MOV  @R1,#11H
         MOV  R1,#83H
         MOV  @R1,#11H            ;启动第2路定时
         NOP
         NOP
         LJMP DS3
QF20:    MOV  R1,#82H
         MOV  @R1,#00H
         MOV  R1,#83H
         MOV  @R1,#00H            ;停止第2路定时
         NOP
         NOP
         LJMP DS3
NX12:    CJNE R3,#03H,NX13
         MOV  R1,#93H
         MOV  A,@R1
         CPL  A                   ;取反是否启动第3路定时的标志
         MOV  @R1,A
         CJNE A,#0AAH,QF30
         MOV  R1,#84H
         MOV  @R1,#11H
         MOV  R1,#85H
         MOV  @R1,#11H            ;启动第3路定时
         NOP
         NOP
         LJMP DS3
QF30:    MOV  R1,#84H
         MOV  @R1,#00H
         MOV  R1,#85H
         MOV  @R1,#00H            ;停止第3路定时
         NOP
         NOP
         LJMP DS3
NX13:    CJNE R3,#04H,NX14
         MOV  R1,#94H
         MOV  A,@R1
         CPL  A                ;取反是否启动第4路定时的标志
         MOV  @R1,A
         CJNE A,#0AAH,QF40
         MOV  R1,#86H
         MOV  @R1,#11H
         MOV  R1,#87H
         MOV  @R1,#11H            ;启动第4路定时
         NOP
         NOP
         LJMP DS3
QF40:    MOV  R1,#86H
         MOV  @R1,#00H
         MOV  R1,#87H
         MOV  @R1,#00H            ;停止第4路定时
         NOP
         NOP
         LJMP DS3
NX14:    CJNE R3,#05H,NX15
         MOV  R1,#95H
         MOV  A,@R1
         CPL  A
         MOV  @R1,A
         CJNE A,#0AAH,QF50
         MOV  R1,#88H
         MOV  @R1,#11H
         MOV  R1,#89H
         MOV  @R1,#11H           ;启动第5路定时
         NOP
         NOP
         LJMP DS3
QF50:    MOV  R1,#88H
         MOV  @R1,#00H
         MOV  R1,#89H
         MOV  @R1,#00H            ;停止第5路定时
         NOP
         NOP
         LJMP DS3
NX15:    CJNE R3,#06H,NX17
         MOV  R1,#96H
         MOV  A,@R1
         CPL  A
         MOV  @R1,A
         CJNE A,#0AAH,QF60
         MOV  R1,#8AH
         MOV  @R1,#11H
         MOV  R1,#8BH
         MOV  @R1,#11H            ;启动第6路定时
         NOP
         NOP
         LJMP DS3
QF60:    MOV  R1,#8AH
         MOV  @R1,#00H
         MOV  R1,#8BH
         MOV  @R1,#00H            ;停止第6路定时
         NOP
         NOP
         LJMP DS3
NX17:    CJNE R3,#07H,NX18
         MOV  R1,#97H
         MOV  A,@R1
         CPL  A
         MOV  @R1,A
         CJNE A,#0AAH,QF70
         MOV  R1,#8CH
         MOV  @R1,#11H
         MOV  R1,#8DH
         MOV  @R1,#11H            ;启动第7路定时
         NOP
         NOP
         LJMP DS3
QF70:    MOV  R1,#8CH
         MOV  @R1,#00H
         MOV  R1,#8DH
         MOV  @R1,#00H            ;停止第7路定时
         NOP
         NOP
         LJMP DS3
NX18:    CJNE R3,#08H,NX19
         MOV  R1,#98H
         MOV  A,@R1
         CPL  A
         MOV  @R1,A
         CJNE A,#0AAH,QF80
         MOV  R1,#8EH
         MOV  @R1,#11H
         MOV  R1,#8FH
         MOV  @R1,#11H            ;启动第8路定时
         NOP
         NOP
         LJMP DS3
NX19:    NOP
         NOP
         LJMP DDBG
QF80:    MOV  R1,#8EH
         MOV  @R1,#00H
         MOV  R1,#8FH
         MOV  @R1,#00H            ;停止第8路定时
         NOP
         NOP
         LJMP DS3
XIA10:   MOV  P2,#0DFH        ;指向第6列
         SETB P0.6
         SETB P0.7
         JB   P0.6,JYFL      ;判断是否是AN6(定时1/星期加1)按下
         MOV  R1,#0EDH
         MOV  A,@R1
         CJNE A,#85H,CFRG
         MOV  A,#0A5H
         CJNE A,67H,CNDR
         MOV  02H,#10
         MOV  A,6FH
         ADD  A,#10H
         MOV  6FH,A
         CJNE A,#8FH,DJUR
         MOV  6FH,#1FH
DJUR:    LJMP DDG11            ;转去等待键释放
CNDR:    MOV  A,#0BFH
         CJNE A,70H,CJRD
         NOP
         NOP
CFRG:    LJMP DDBG
JYFL:    NOP
         NOP
         LJMP XIA11
CJRD:    MOV  02H,#10
         MOV  3BH,#15
         CLR  RS1
         SETB RS0             ;切换工作寄存器组到第2组
         MOV  6AH,#0DEH       ;按下定时键的标志
         INC  R3
         MOV  A,R3
         ANL  A,#0FH
         CJNE A,#01H,JN1
         NOP
         NOP
         LJMP DYC1
JN1:     CJNE A,#02H,JN2
         NOP
         NOP
         LJMP DYC2
JN2:     CJNE A,#03H,JN3
         NOP
         NOP
         LJMP DYC3
JN3:     CJNE A,#04H,JN4
         NOP
         NOP
         LJMP DYC4
JN4:     CJNE A,#05H,JN5
         NOP
         NOP
         LJMP DYC5
JN5:     CJNE A,#06H,JN6
         NOP
         NOP
         LJMP DYC6
JN6:     MOV  A,R3
         SUBB A,#06H
         MOV  R3,A
         NOP
         NOP
         LJMP DYC1
TY79:    CJNE A,#02H,XETY
         MOV  0BH,#10H
         CLR  RS1
         CLR  RS0             ;切换工作寄存器组到第1组
         MOV  70H,#00H        ;清除单独启动/停止每路定时的标志
         MOV  74H,#00H        ;第二次按下定时2则退出调整各路定时启动/停止状态
XETY:    NOP
         NOP
         LJMP DDBG
XIA11:   JB   P0.7,BUTS       ;判断是否是AN14(定时2/星期减1)按下
         MOV  R1,#0EDH
         MOV  A,@R1
         CJNE A,#85H,VGTY
         MOV  A,#0A5H
         CJNE A,67H,SWJU
         MOV  02H,#10
         MOV  A,6FH
         SUBB A,#10H
         MOV  6FH,A
         CJNE A,#0FH,KLSD
         MOV  6FH,#7FH
         NOP
         NOP
KLSD:    LJMP DDG11             ;转去等待键释放
VGTY:    NOP
         NOP
         LJMP DDBG
SWJU:    MOV  02H,#10
         MOV  A,#0DEH
         CJNE A,6AH,TY77
         NOP
         NOP
         LJMP PSIG
BUTS:    NOP
         NOP
         LJMP XIA12
TY77:    INC  74H
         MOV  A,74H
         CJNE A,#01H,TY79
         MOV  3BH,#15
         MOV  70H,#0BFH       ;进入单独启动/停止每路定时状态
         CLR  RS1
         SETB RS0             ;切换工作寄存器组到第2组
         MOV  R3,#01H
DS3:     CJNE R3,#01H,NEX11
         MOV  R1,#80H
         MOV  A,@R1
         MOV  R4,A
         MOV  R1,#81H
         MOV  A,@R1
         MOV  R5,A            ;显示第1路定时是否启动
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
NEX11:   CJNE R3,#02H,NEX12
         MOV  R1,#82H
         MOV  A,@R1
         MOV  R4,A
         MOV  R1,#83H
         MOV  A,@R1
         MOV  R5,A            ;显示第2路定时是否启动
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
NEX12:   CJNE R3,#03H,NEX13
         MOV  R1,#84H
         MOV  A,@R1
         MOV  R4,A
         MOV  R1,#85H
         MOV  A,@R1
         MOV  R5,A            ;显示第3路定时是否启动
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
NEX13:   CJNE R3,#04H,NEX14
         MOV  R1,#86H
         MOV  A,@R1
         MOV  R4,A
         MOV  R1,#87H
         MOV  A,@R1
         MOV  R5,A            ;显示第4路定时是否启动
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
NEX14:   CJNE R3,#05H,NEX15
         MOV  R1,#88H
         MOV  A,@R1
         MOV  R4,A
         MOV  R1,#89H
         MOV  A,@R1
         MOV  R5,A            ;显示第5路定时是否启动
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
NEX15:   CJNE R3,#06H,NEX16
         MOV  R1,#8AH
         MOV  A,@R1
         MOV  R4,A
         MOV  R1,#8BH
         MOV  A,@R1
         MOV  R5,A            ;显示第6路定时是否启动
         NOP
         NOP
         LJMP DDBG            ;转去等待键释放
NEX16:   CJNE R3,#07H,NEX17
         MOV  R1,#8CH
         MOV  A,@R1
         MOV  R4,A
         MOV  R1,#8DH
         MOV  A,@R1
         MOV  R5,A            ;显示第7路定时是否启动
         LJMP DDBG            ;转去等待键释放
NEX17:   CJNE R3,#08H,NEX18
         MOV  R1,#8EH
         MOV  A,@R1
         MOV  R4,A
         MOV  R1,#8FH
         MOV  A,@R1
         MOV  R5,A            ;显示第8路定时是否启动
NEX18:   LJMP DDBG            ;转去等待键释放
PSIG:    MOV  3BH,#15
         DEC  R3
         MOV  A,R3
         ANL  A,#0FH
         CJNE A,#06H,JN11
         NOP
         NOP
         LJMP DYC6
JN11:    CJNE A,#05H,JN12
         NOP
         NOP
         LJMP DYC5
JN12:    CJNE A,#04H,JN13
         NOP
         NOP
         LJMP DYC4
JN13:    CJNE A,#03H,JN14
         NOP
         NOP
         LJMP DYC3
JN14:    CJNE A,#02H,JN15
         NOP
         NOP
         LJMP DYC2
JN15:    CJNE A,#01H,JN16
         NOP
         NOP
         LJMP DYC1
JN16:    MOV  A,R3
         ANL  A,#0F0H
         ADD  A,#06H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -