|
ORG 0000H ;在000H單元存放轉(zhuǎn)移指令
AJMP MAIN ;轉(zhuǎn)移到主程序
ORG 0003H ;主程序從0030H開(kāi)始
LJMP ZD
ORG 0030H ;主程序從0030H開(kāi)始
MAIN:
SETB EA ;開(kāi)總中斷
SETB EX0 ;開(kāi)中斷0
SETB IT0 ;設(shè)置中斷0的觸發(fā)方式為下降沿觸發(fā)
MOV P1,#00H ;數(shù)碼管顯示初值
SETB P2.0 ;
SETB P2.1
MOV R0,#00H ;開(kāi)始計(jì)時(shí)顯示
MOV R1,#00H
MOV R2,#140
MOV R3,#0AH
MOV R4,#0AH
MOV DPTR,#TAB ;置共陽(yáng)字段碼表首址
L0: MOV A,R0
MOVC A,@A+DPTR ;查段碼表
MOV P2,#040H
MOV P1,A
ACALL DELAY
MOV A,R1
MOVC A,@A+DPTR ;查段碼表
MOV P2,#80H
MOV P1,A
ACALL DELAY ;調(diào)用延時(shí)程序
DJNZ R2,L0
INC R0
MOV R2,#140
DJNZ R3,L0
MOV R0,#00H
MOV R3,#0AH
INC R1
DJNZ R4,L0
AJMP MAIN ;返回主程序
DELAY: ;誤差 -0.868055555556us
MOV R6,#0FBH ;延時(shí)程序
DL0:
MOV R5,#04H
DJNZ R5,$
DJNZ R6,DL0
RET
ZD:
MOV R0,#30
MOV R1,#200
MOV R2,#200
H:
DJNZ R0,H
MOV R0,#30
CPL P3.2
DJNZ R1,H
MOV R1,#200
DJNZ R2,H
MOV R0,#00H
MOV R1,#00H
MOV R2,#140
MOV R3,#0AH
MOV R4,#0AH
RETI
TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ;
END
|
|