📄 daima30.asm
字号:
ORG 2080H
START: LD SP,#0FFH
LD IOC1,#50H
LD 40H,#0
LD 42H,#1
LD 44H,#2
LD 46H,#3
LD 48H,#4
LD 4AH,#5
LDB HSO_COMMAND,#2CH ;数码管全亮
ADD HSO_TIME,TIMER1,#03H
NOP
LDB HSO_COMMAND,#0CH ;数码管全灭
ADD HSO_TIME,TIMER1,#03H
NOP
NOP
HERE: LCALL DISPLAY
SJMP HERE
;
DISPLAY:DB P1,TAB[40H] ;读字形
LDB HSO_COMMAND,#00H
ADD HSO_TIME,TIMER1,#03H ;HSO.0立即置零
NOP
NOP
LCALL DELAY ;延时
LDB HSO_COMMAND,#20H
ADD HSO_TIME,TIMER1,#03H ;HSO.0置1
NOP
NOP
;
LDB P1,TAB[42H]
LDB HSO_COMMAND,#01H
ADD HSO_TIME,TIMER1,#03H ;HSO.1立即置零
NOP
NOP
LCALL DELAY ;延时
LDB HSO_COMMAND,#21H
ADD HSO_TIME,TIMER1,#03H ;HSO.1置1
NOP
NOP
;
LDB P1,TAB[44H]
ORB P1,#01H
LDB HSO_COMMAND,#02H
ADD HSO_TIME,TIMER1,#03H ;HSO.2立即置零
NOP
NOP
LCALL DELAY ;延时
LDB HSO_COMMAND,#22H
ADD HSO_TIME,TIMER1,#03H
NOP
NOP
;
LDB P1,TAB[46H]
LDB HSO_COMMAND,#03H
ADD HSO_TIME,TIMER1,#03H ;HSO.3置零
NOP
NOP
LCALL DELAY ;延时
LDB HSO_COMMAND,#23H
ADD HSO_TIME,TIMER1,#03H ;HSO.3立即置1
NOP
NOP
;
LDB P1,TAB[48H]
ORB P1,#01H
LDB HSO_COMMAND,#04H
ADD HSO_TIME,TIMER1,#03H ;HSO.4置零
NOP
NOP
LCALL DELAY ;延时
LDB HSO_COMMAND,#24H
ADD HSO_TIME,TIMER1,#03H ;HSO.4立即置1
NOP
NOP
;
LDB P1,TAB[4AH]
LDB HSO_COMMAND,#05H
ADD HSO_TIME,TIMER1,#03H ;HSO.5置零
NOP
NOP
LCALL DELAY ;延时
LDB HSO_COMMAND,#25H
ADD HSO_TIME,TIMER1,#03H ;HSO.5立即置1
NOP
NOP
RET
DELAY: LDB AL,#255 ;延时子程序
DELAY1: NOP
NOP
DJNZ AL,DELAY1
RET
;========TAB==================================== 字形表
TAB: DCB 0FCH,60H,0DAH,0F2H,66H
DCB 0B6H,0BEH,0E0H,0FEH,0F6H
END
动态扫描显示必须由CPU不断地调用显示程序,才能保证持续不断的显示。和静态显示相比,动态扫描的程序稍有点复杂。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -