📄 led display.asm
字号:
DISP_CNT EQU 30H
TCNT EQU 31H
ORG 00H
SJMP START
ORG 0BH
LJMP INT_T0
START: MOV DISP_CNT,#00H
MOV TCNT,#00H
MOV P2,#00H
MOV TMOD,#01H
MOV TH0,#(65536-5000)/256
MOV TL0,#(65536-5000)MOD 256
MOV IE,#82H
SETB TR0
DISP: MOV A,DISP_CNT ;段码组号
MOV DPTR,#TABLE
MOV R0,P2 ;读取位选信息
ADD A,R0 ;得到偏移地址
MOVC A,@A+DPTR
MOV P0,A ;取出段码显示
LJMP DISP
INT_T0: MOV TH0,#(65536-5000)/256
MOV TL0,#(65536-5000)MOD 256
INC P2 ;数码管位选信号
MOV A,P2
CJNE A,#08H,RETUNE ;已扫描一次?
MOV P2,#00H
INC TCNT ;扫描次数加1
MOV A,TCNT
CJNE A,#10,RETUNE ;一组数已显示0.4秒?
MOV TCNT,#00H
INC DISP_CNT ;段码组号加1
MOV A,DISP_CNT
CJNE A,#15,RETUNE ;所有段码组都已显示?
MOV P2,#00H
MOV DISP_CNT,#00H
MOV TCNT,#00H
RETUNE: RETI
TABLE: DB 00H,00H,00H,00H,00H,00H,00H
DB 06H,5BH,4FH,66H,6DH,7DH,07H,7FH
DB 00H,00H,00H,00H,00H,00H,00H,00H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -