📄 dyn display.asm
字号:
KEY BIT P3.7 ;按键位
HB BIT P3.2 ;数码管高位
LB BIT P3.3 ;数码管低位
FLAG BIT 00H ;标志位
ORG 00H
START: JB KEY,S1 ;判断按键是高电平还是低电平
MOV DPTR,#TABLE1 ;如果是低电平,置"12345"显示码首地址
CLR FLAG
LJMP S2
S1: MOV DPTR,#TABLE2 ;如果是高电平,置"HELLO"显示码首地址
SETB FLAG
S2: MOV R0,#00H ;数码管高位显示码偏移地址
MOV R1,#01H ;数码管低位显示码偏移地址
K1: MOV R7,#100 ;延时常数
L1: SETB LB
CLR HB
MOV A,R0
MOVC A,@A+DPTR ;查高位段码
MOV P2,A
LCALL DELAY ;数码管高位显示
SETB HB
CLR LB
MOV A,R1
MOVC A,@A+DPTR ;查低位段码
MOV P2,A
LCALL DELAY ;数码管低位显示
DJNZ R7,L1
JB FLAG,J1 ;扫描一次后,判断按键电平是否变化
JB KEY,START
LJMP J2
J1: JNB KEY,START
J2: INC R0 ;显示码偏移地址加1
INC R1
CJNE R0,#06H,K1 ;判断是否循环完一次
LJMP START
DELAY: MOV R5,#5 ;延时子程序
D1: MOV R6,#250
DJNZ R6,$
DJNZ R5,D1
RET
TABLE1: DB 00H,06H,5BH,4FH,66H,6DH,00H
TABLE2: DB 00H,76H,79H,38H,38H,3FH,00H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -