?? 6定時中斷動態四數碼管顯示.asm
字號:
;=================================================
; 定時中斷動態四數碼管顯示
;=================================================
;
; zsMCU51實驗板配套學習例程
;
; 中山單片機學習網 智佳科技
;
; 作者:逸風 QQ:105558851
;
; http://www.zsmcu.com
; E-mail:info@zsmcu.com
;=================================================
LED1 EQU 08H
LED2 EQU 09H
LED3 EQU 0AH
LED4 EQU 0BH
LedT0 EQU 0CH
ORG 0000H
LJMP START;轉入主程序
ORG 000BH ;定時器0中斷入口
INT_TO:
PUSH ACC
PUSH PSW
CLR TF0 ;清定時0中斷標?
MOV TH0,#0F6H ;2.5MS
MOV TL0,#03DH ;
MOV A,#11110000B ;關數碼管
ORL P2,A
MOV A,LedT0
CJNE A,#0,INT_T0_1
MOV A,LED1
MOVC A,@A+DPTR
MOV P0,A
CLR P2.7
MOV LedT0,#1
LJMP INT_T0_END
INT_T0_1:
MOV A,LedT0
CJNE A,#1,INT_T0_2
MOV A,LED2
MOVC A,@A+DPTR
MOV P0,A
CLR P2.6
MOV LedT0,#2
LJMP INT_T0_END
INT_T0_2:
MOV A,LedT0
CJNE A,#2,INT_T0_3
MOV A,LED3
MOVC A,@A+DPTR
MOV P0,A
CLR P2.5
MOV LedT0,#3
LJMP INT_T0_END
INT_T0_3:
MOV A,LED4
MOVC A,@A+DPTR
MOV P0,A
CLR P2.4
MOV LedT0,#0
LJMP INT_T0_END
INT_T0_END:
POP PSW
POP ACC
RETI
START:
MOV SP,#60H
MOV TMOD,#01H ;設定T0為十六位定時模式。
MOV TH0,#0F6H ;2MS
MOV TL0,#03DH ;
SETB TR0 ;開定時器0
SETB ET0 ;致能定時0中斷
CLR TF0 ;清定時0中斷標志
SETB EA ;開總中斷
MOV LedT0,#00H
MOV DPTR,#TABLE
MAIN:
MOV LED1,#1
MOV LED2,#2
MOV LED3,#3
MOV LED4,#4
SCAN:
LJMP SCAN
TABLE:
DB 00101000B ;0
DB 11101011B ;1
DB 00110010B ;2
DB 10100010B ;3
DB 11100001B ;4
DB 10100100B ;5
DB 00100100B ;6
DB 11101010B ;7
DB 00100000B ;8
DB 10100000B ;9
DB 01100000B ;A
DB 00100101B ;b
DB 00111100B ;C
DB 00100011B ;d
DB 00110100B ;E
DB 01110100B ;F
DB 11110111B ;-
DB 11111111B ;
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -