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

📄 tt226.asm

📁 单片机智能控制
💻 ASM
📖 第 1 页 / 共 5 页
字号:
NEXT79:  CJNE R3,#36H,NEXT7A
         MOV  R1,#0D4H
         MOV  A,R4
         MOV  @R1,A
         MOV  R1,#0D5H
         MOV  A,R5
         MOV  @R1,A           ;保存第3路第3次定时结束时间
         NOP
         NOP
         LJMP DDG11            ;转去等待键释放
NEXT7A:  CJNE R3,#46H,NEXT7B
         MOV  R1,#0D6H
         MOV  A,R4
         MOV  @R1,A
         MOV  R1,#0D7H
         MOV  A,R5
         MOV  @R1,A            ;保存第4路第3次定时结束时间
         NOP
         NOP
         LJMP DDG11            ;转去等待键释放
NEXT7B:  CJNE R3,#56H,NEXT7C
         MOV  R1,#0D8H
         MOV  A,R4
         MOV  @R1,A
         MOV  R1,#0D9H
         MOV  A,R5
         MOV  @R1,A           ;保存第5路第3次定时结束时间
         NOP
         NOP
         LJMP DDG11           ;转去等待键释放
NEXT7C:  CJNE R3,#66H,NEXT7D
         MOV  R1,#0DAH
         MOV  A,R4
         MOV  @R1,A
         MOV  R1,#0DBH
         MOV  A,R5
         MOV  @R1,A           ;保存第6路第3次定时结束时间
         NOP
         NOP
         LJMP DDG11           ;转去等待键释放
NEXT7D:  CJNE R3,#76H,NEXT7E
         MOV  R1,#0DCH
         MOV  A,R4
         MOV  @R1,A
         MOV  R1,#0DDH
         MOV  A,R5
         MOV  @R1,A           ;保存第7路第3次定时结束时间
         NOP
         NOP
         LJMP DDG11           ;转去等待键释放
NEXT7E:  CJNE R3,#86H,DDBG
         MOV  R1,#0DEH
         MOV  A,R4
         MOV  @R1,A
         MOV  R1,#0DFH
         MOV  A,R5
         MOV  @R1,A              ;保存第8路第3次定时结束时间
         NOP
         NOP
         LJMP DDG11
DDBG:    NOP
         NOP
         LCALL XSHI
         MOV  P2,#00H
         SETB P0.6
         SETB P0.7
         JNB  P0.6,DDBG
         JNB  P0.7,DDBG
         NOP
         NOP
         LJMP CXSM               ;返回
DDG11:   MOV  6CH,#10
YVDF:    NOP
         NOP
         LCALL XSHI
         NOP
         NOP
         DJNZ 6CH,YVDF
         NOP
         NOP
         LJMP CXSM               ;返回
XSHI:    MOV  3EH,#3             ;存放扫描需要显示的位数
         MOV  A,#0EAH
         CJNE A,14H,VYB
         MOV  R0,#1BH
         NOP
         NOP
         AJMP LK
VYB:     MOV  A,#0DEH
         CJNE A,6AH,MN        ;按下是否是定时键
         MOV  R0,#0BH
         NOP
         NOP
         AJMP LK
MN:      MOV  A,#0BFH
         CJNE A,70H,MZ
         MOV  R0,#0BH         ;是否进入单独启动/停止定时
         NOP
         NOP
         AJMP LK
MZ:      MOV  A,#0A5H
         CJNE A,67H,MBN       ;判断是否显示日期和星期
         MOV R0,#6DH
         NOP
         NOP
         AJMP LK
MBN:     MOV  R0,#03H
LK:      MOV  A,#01H
         MOV  3FH,A
NEXT:    MOV  A,3FH
         MOV  P2,A            ;指向第一位数码管
         MOV  A,@R0
         ANL  A,#0FH
         LCALL BNHJ           ;显示个位秒/分/时/星期
         LCALL DIR
         MOV  A,3FH
         RL   A
         MOV  3FH,A
         MOV  P2,A            ;指向第二位数码管
         MOV  A,@R0
         SWAP A
         ANL  A,#0FH
         LCALL BNHJ           ;显示十位秒/分/时
         INC  R0
         MOV  A,3FH
         RL   A
         MOV  3FH,A
         LCALL DIR
         DJNZ 3EH,NEXT
         NOP
         NOP
         RET
BNHJ:    CJNE A,#00H,BN1
         CLR  P0.3
         CLR  P0.2
         CLR  P0.1
         CLR  P0.0
         NOP
         NOP
         RET
BN1:     CJNE A,#01H,BN2
         CLR  P0.3
         CLR  P0.2
         CLR  P0.1
         SETB P0.0
         NOP
         NOP
         RET
BN2:     CJNE A,#02H,BN3
         CLR  P0.3
         CLR  P0.2
         SETB P0.1
         CLR  P0.0
         NOP
         NOP
         RET
BN3:     CJNE A,#03H,BN4
         CLR  P0.3
         CLR  P0.2
         SETB P0.1
         SETB P0.0
         NOP
         NOP
         RET
BN4:     CJNE A,#04H,BN5
         CLR  P0.3
         SETB P0.2
         CLR  P0.1
         CLR  P0.0
         NOP
         NOP
         RET
BN5:     CJNE A,#05H,BN6
         CLR  P0.3
         SETB P0.2
         CLR  P0.1
         SETB P0.0
         NOP
         NOP
         RET
BN6:     CJNE A,#06H,BN7
         CLR  P0.3
         SETB P0.2
         SETB P0.1
         CLR  P0.0
         NOP
         NOP
         RET
BN7:     CJNE A,#07H,BN8
         CLR  P0.3
         SETB P0.2
         SETB P0.1
         SETB P0.0
         NOP
         NOP
         RET
BN8:     CJNE A,#08H,BN9
         SETB P0.3
         CLR  P0.2
         CLR  P0.1
         CLR  P0.0
         NOP
         NOP
         RET
BN9:     CJNE A,#09H,BN10
         SETB P0.3
         CLR  P0.2
         CLR  P0.1
         SETB P0.0
         NOP
         NOP
         RET
BN10:    SETB P0.3
         SETB P0.2
         SETB P0.1
         SETB P0.0
         NOP
         NOP
         RET
DHCX:    CLR  RS0               ;电话遥控程序
         SETB RS1               ;切换到第3组工作寄存器组
         MOV  61H,#15
         SETB P0.4
         NOP
         NOP
         LCALL DIR
         CLR  P3.7              ;免提电路工作(按下电话机的免提键)
         NOP
         NOP
         LCALL DIS
         CLR  P0.4
         NOP
         NOP
         LCALL DIS
         SETB P0.4
         NOP
         NOP
         LCALL DIS
         CLR  P0.4
         NOP
         NOP
         LCALL DIS              ;向外线送出“嘟、嘟、”信号两次表示控制接入,可输入密码
         SETB P0.4
         NOP
         NOP
         LCALL DIR
         MOV  73H,#0BBH
XHSR:    MOV  A,#0AFH
         CJNE A,72H,HOP
         NOP
         NOP
         LJMP BYE
HOP:     JB   P3.3,FOF
         LCALL DIR
         NOP
         NOP
         LJMP XHSR
FOF:     LCALL DIR
         JB   P3.3,GOG
         LCALL DIR
         NOP
         NOP
         LJMP XHSR
GOG:     JNB  P3.3,KOK
         LCALL DIR
         NOP
         NOP
         LJMP GOG
KOK:     MOV  61H,#15
         LCALL DOR                  ;调用求键值子程序
         NOP
         NOP
         MOV  36H,A                 ;输入的键值暂存36H单元
         CJNE A,#0BH,K1             ;输入的是否是"*"键,不是则转K1
         MOV  A,#0CCH
         CJNE A,65H,YXF             ;检查是否通过密码
         MOV  R1,#90H
         MOV  A,@R1
         CJNE A,#99H,XGED
         NOP
         NOP
         LJMP FYDG                   ;进入单独停止某一路定时
XGED:    MOV  A,69H
         CJNE A,#01H,TT
         SETB P1.0                  ;关闭第一路设备电源
         NOP
         NOP
         LJMP OK1
YXF:     INC  27H
         MOV  A,27H
         CJNE A,#01H,YXF1
         MOV  1AH,#00H
         MOV  10H,#20H
         MOV  20H,#0FFH
         MOV  21H,#0FFH
         MOV  24H,#0FFH
         MOV  25H,#0FFH
         LJMP XHSR
YXF1:    NOP
         NOP
         LJMP BYE
K1:      NOP
         NOP
         LJMP K2
TT:      CJNE A,#02H,TT1
         SETB P1.1                  ;关闭第二路设备电源
         LJMP OK1
TT1:     CJNE A,#03H,TT2
         SETB P1.2                  ;关闭第三路设备电源
         LJMP OK1
TT2:     CJNE A,#04H,TT3
         SETB P1.3                  ;关闭第四路设备电源
         LJMP OK1
TT3:     CJNE A,#05H,TT4
         SETB P1.4                  ;关闭第五路设备电源
         LJMP OK1
TT4:     CJNE A,#06H,TT5
         SETB P1.5                  ;关闭第六路设备电源
         LJMP OK1
TT5:     CJNE A,#07H,TT6
         SETB P1.6                  ;关闭第七路设备电源
         LJMP OK1
TT6:     CJNE A,#08H,TT7
         SETB P1.7                  ;关闭第八路设备电源
         LJMP OK1
TT7:     CJNE A,#09H,YPX
         MOV  37H,#00H
         MOV  1EH,#0EEH             ;单启动电话遥控的标志
         MOV  0FH,#02H
         MOV  75H,#33H
         LJMP OK1
YPX:     CJNE A,#00H,YRU
         MOV  76H,#99H              ;停止遥控密码检测
OK1:     CLR  P0.4
         NOP
         NOP
         LCALL DIS
         NOP
         NOP
         LCALL DIS
         SETB P0.4                  ;向外线送出一次长2.5Hz“嘟”信号表示系统已经操作
         MOV  69H,#0FFH
         MOV  27H,#00H
         NOP
         NOP
         LJMP XHSR                  ;返回待命
YRU:     INC  27H
         MOV  A,27H
         CJNE A,#02H,YXD
         MOV  27H,#00H
         MOV  69H,#0FFH             ;连续两次按下“*”键则电话挂机
         LJMP BYE
YXD:     NOP
         NOP
         LJMP OK4
FYDG:    MOV  A,69H
         CJNE A,#01H,WWB
         MOV  R1,#91H
         MOV  @R1,#55H               ;停止第1路定时
         MOV  R1,#80H
         MOV  @R1,#00H
         MOV  R1,#81H
         MOV  @R1,#00H
         LJMP OK6
WWB:     CJNE A,#02H,WWB1
         MOV  R1,#92H
         MOV  @R1,#55H               ;停止第2路定时
         MOV  R1,#82H
         MOV  @R1,#00H
         MOV  R1,#83H
         MOV  @R1,#00H
         LJMP OK6
WWB1:    CJNE A,#03H,WWB2
         MOV  R1,#93H
         MOV  @R1,#55H               ;停止第3路定时
         MOV  R1,#84H
         MOV  @R1,#00H
         MOV  R1,#85H
         MOV  @R1,#00H
         LJMP OK6
WWB2:    CJNE A,#04H,WWB3
         MOV  R1,#94H
         MOV  @R1,#55H               ;停止第4路定时
         MOV  R1,#86H
         MOV  @R1,#00H
         MOV  R1,#87H
         MOV  @R1,#00H
         LJMP OK6
WWB3:    CJNE A,#05H,WWB4
         MOV  R1,#95H
         MOV  @R1,#55H               ;停止第5路定时
         MOV  R1,#88H
         MOV  @R1,#00H
         MOV  R1,#89H
         MOV  @R1,#00H
         LJMP OK6
WWB4:    CJNE A,#06H,WWB5
         MOV  R1,#96H
         MOV  @R1,#55H               ;停止第6路定时
         MOV  R1,#8AH
         MOV  @R1,#00H
         MOV  R1,#8BH
         MOV  @R1,#00H
         LJMP OK6
WWB5:    CJNE A,#07H,WWB6
         MOV  R1,#97H
         MOV  @R1,#55H               ;停止第7路定时
         MOV  R1,#8CH
         MOV  @R1,#00H
         MOV  R1,#8DH
         MOV  @R1,#00H
         LJMP OK6
WWB6:    CJNE A,#08H,WWB7
         MOV  R1,#98H
         MOV  @R1,#55H               ;停止第8路定时
         MOV  R1,#8EH
         MOV  @R1,#00H
         MOV  R1,#8FH
         MOV  @R1,#00H
         LJMP OK6
WWB7:    CJNE A,#77H,WWB8
         MOV  R1,#9AH
         MOV  A,@R1
         INC  A
         MOV  @R1,A
         CJNE A,#01H,WWB8
         MOV  R1,#90H
         MOV  @R1,#0FFH
         MOV  R1,#9AH
         MOV  @R1,#00H
         MOV  69H,#0FFH
         MOV  27H,#00H
         CLR  P0.4
         LCALL DIS
         SETB P0.4
         LCALL DIS                  ;返回启动/停止设备操作
         NOP
         NOP
         LJMP XSKH
WWB8:    MOV  69H,#77H
         NOP
         NOP
         LJMP XHSR
OK6:     MOV  69H,#0FFH
         LJMP OK4
BYE:     SETB P3.7
         LCALL DIR
         MOV  1AH,#00H
         MOV  65H,#00H
         MOV  66H,#03H
         MOV  69H,#0FFH
         MOV  72H,#00H
         MOV  73H,#00H
         MOV  27H,#00H
         MOV  A,#99H
         CJNE A,76H,JFUY
         SETB P0.4
         AJMP HPLK
JFUY:    CLR  P0.4
HPLK:    CLR  RS0
         CLR

⌨️ 快捷键说明

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