直接静态显示吧,不做扫描了,用延时做1S计数,也不做定时了。
共阳的数码管代码从0-9是:3F,06,5B,4F,56,6D,7D,07,7F,6F
你的共阳数码管没有控制阳极的话,复位是全亮的,单片机复位后各IO口都是高电平。
P1口是个位
P2口是十位
ORG 0000H
MAIN:
MOV P1,#3FH ;字符0
MOV P2,#5BH ;字符2
ACALL DELAY1S
MOV P1,#6FH ;字符9
MOV P2,#06H ;字符1
ACALL DELAY1S
。
。
。
;以此类推到20秒时候两个数码管都变成0显示
MOV P1,#3FH
MOV P2,#3FH
LOOP:
AJMP LOOP
;下面是延时1S的子程序。
DEALY1S:
MOV R7,#0A7H
DL1:
MOV R6,#0ABH
DL0:
MOV R5,#10H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
NOP
RET
END
要是相重复显示,就把LOOP改成MAIN.
你要是相在延时期间相干别的,就改成定时器中断显示。
是用proteus仿真吗?画完了仿真图了吗?把图贴上来,好按仿真图写程序。