📄 xiugaihoushuzizhong.txt
字号:
org 00h
second2 equ 30h ;秒末位数存放处
second1 equ 31h ;秒前位数存放处
minute2 equ 32h ;分末位数存放处
minete1 equ 33h ;分前位数存放处
org 0000h
ajmp star
org 0030h
star:
mov a,#00h ;;清0
mov second2,a
mov second1,a
mov minute2,a
mov minete1,a
stlop: acall display ;显示
inc second2
mov a,second2
cjne a,#10,stlop ;表示逢10进一 秒后面一位
mov second2,#00h
inc second1
mov a,second1
cjne a,#6,stlop ;表示逢6进一 秒前面一位
mov second1,#00h
inc minute2
mov a,minute2
cjne a,#10,stlop ;表示逢10进一分后面一位
mov minute2,#00h
inc minete1
mov a,minete1
cjne a,#6,stlop ;表示逢6进一分前面一位
mov minete1,#00h
ajmp stlop
;显示子程序
display:
mov dptr,#numtab ;指定查表启始地址
mov r0,#4
dpl1: mov r1,#250 ;显示1000次
dplop: mov a,second2 ;取秒末位数
movc a,@a+dptr ;查秒末位数的7段代码
mov p1,a ;送出秒末位的7段代码
setb p0.0 ;开秒末位显示
acall delay ;显示167ms
clr p0.0
mov a,second1 ;取秒前位数
MOVC A,@A+DPTR ;查秒前位数的7段代码
mov p1,a ;送出秒前位的7段代码
setb p0.1 ;开秒前位显示
acall delay;显示167ms
clr p0.1
mov a,minute2 ;取分末位数
MOVC A,@A+DPTR ;查分末位数的7段代码
mov p1,a ;送出分末位的7段代码
setb p0.2 ;开分末位显示
acall delay;显示167ms
clr p0.2
mov a,minete1 ;取分前位数
MOVC A,@A+DPTR ;查分前位数的7段代码
mov p1,a ;送出分前位的7段代码
setb p0.3;开分前位显示
acall delay;显示167ms
clr p0.3
djnz r1,dplop ;1000次没完循环
djnz r0,dpl1 ;4个1000次没完循环
ret
;1S延时
delay:MOV R7,#334
DJNZ R7,$
RET
;7段数码管各划的数字排列表
numtab: db 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
;0 1 2 3 4 5 6 7 8 9
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -