📄 yy1.a51
字号:
ORG 00H
AJMP MAIN
A1 EQU 2AH
A2 EQU 2BH
F EQU 2CH
ORG 2AH
MAIN:MOV A1,#1FH ;设置时间显示初值
MOV A2,#0F3H ;A线放行,B线禁止
MOV P3,A2
MOV R7,#19H ;延时秒数
MAIN1:LCALL DEL1 ;1s延时子程序
DJNZ R7,MAIN1
MOV A2,#0F5H ;A线警告,B线禁止
MOV P3,A2
MOV R7,#05H ;延时秒数
MAIN2:LCALL DEL1
DJNZ R7,MAIN2
MOV A2,#0DEH ;A线禁止,B线放行
MOV A1,#1FH ;设置时间显示初值
MOV P3,A2
MOV R7,#19H ;延时秒数
MAIN3:LCALL DEL1
DJNZ R7,MAIN3
MOV A2,#0EEH ;A线禁止,B线警告
MOV P3,A2
MOV R7,#05H ;延时秒数
MAIN4:LCALL DEL1
DJNZ R7,MAIN4
AJMP MAIN ;循环
DEL1:DEC A1 ;1s延时子程序DEL1,显示秒数减一
MOV A,A1
MOV B,#0AH
DIV AB ;秒数转为十进制
MOV DPTR,#TABLE
MOVC A,@A+DPTR ;查表个位数的字形码
MOV R1,A
MOV A,B
MOV DPTR,#TABLE
MOVC A,@A+DPTR ;查表十位数的字形码
MOV R2,A
MOV R6,#250 ;设置循环次数
LOOP:MOV A,R2 ;十位数的字形码
MOV F,#01H ;位控码
ACALL DISP ;调用显示子程序
MOV A,R1 ;个位数的字形码
MOV F,#02H ;位控码
ACALL DISP
MOV R4,#250
DJNZ R4,$
MOV R3,#250
DJNZ R3,$
DJNZ R6,LOOP ;循环
RET ;返回
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;十进制数字形码表
DISP:MOV R0,#250 ; 显示子程序,设置循环次数
MOV R5,A
DISP1:MOV A,R5
MOV P1,A ;字形码输出
MOV A,F
MOV P2,A ;位控制码输出
DJNZ R0,DISP1 ;循环
RET ;返回
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -