LEDBUF EQU 30H ;顯示碼緩存區(qū)
HOUR EQU 40H
MINUTE EQU 41H
SECOND EQU 42H
C100US EQU 43H
TICK EQU 10000 ;置中斷次數(shù)
T100US EQU 256-100 ;置定時器初值
LJMP START ;跳轉(zhuǎn)到主程序
ORG 0003H
LJMP DISPLYLED
RETI
ORG 000BH ;定時器0中斷入口
TOINT: PUSH PSW ;狀態(tài)保護(hù)
PUSH ACC
MOV A,C100US+1
JNZ GOOD ;計數(shù)值是否為0
DEC C100US
GOOD: DEC C100US+1
MOV A,C100US
ORL A,C100US+1
JNZ EXIT
MOV C100US,#HIGH(TICK) ;重置計數(shù)值
MOV C100US+1,#LOW(TICK)
INC SECOND ;秒加一
MOV A,SECOND
CJNE A,#60,EXIT ;判斷秒針是否為60
MOV SECOND,#0
INC MINUTE
MOV A,MINUTE
CJNE A,#60,EXIT
MOV MINUTE,#0
INC HOUR
MOV A,HOUR
CJNE A,#24,EXIT
MOV HOUR,#0
EXIT: POP ACC
POP PSW
RETI
DELAY: ; 延時子程序
MOV R7,#0FEH
DELAYLOOP:
DJNZ R7,DELAYLOOP
DJNZ R6,DELAYLOOP ; R6是否有錯,是否應(yīng)改為R7?
RET
LEDMAP: ;數(shù)碼管顯示碼
DB 3FH,06H,5BH,4FH
DB 66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |