数码管.asm
来自「AT89S52单片机程序50例(00-50)」· 汇编 代码 · 共 56 行
ASM
56 行
;名称 数码管1
;功能 此程序实现四数码管显示01234567
ORG 0000H
LOOP:MOV P0,#07H ;07H在共阴数码管上显示为数字"7"
MOV P2,#0FFH ;关掉所有数码管
MOV P2,#07H ;显示最右边的位(第一位)
CALL DELAY ;调用延时子程序
MOV P0,#7DH ;7DH在共阴数码管上显示为数字"6"
MOV P2,#0FFH ;关掉所有数码管
MOV P2,#06H ;显示第二位
CALL DELAY ;调用延时子程序
MOV P0,#6DH ;6DH在共阴数码管上显示为数字"5"
MOV P2,#0FFH ;关掉所有数码管
MOV P2,#05H ;显示第三位
CALL DELAY ;调用延时子程序
MOV P0,#66H ;066H在共阴数码管上显示为数字"4"
MOV P2,#0FFH ;关掉所有数码管
MOV P2,#04H ;显示第四位
CALL DELAY ;调用延时子程序
MOV P0,#4FH ;4FH在共阴数码管上显示为数字"3"
MOV P2,#0FFH ;关掉所有数码管
MOV P2,#03H ;显示最右边的位(第一位)
CALL DELAY ;调用延时子程序
MOV P0,#5BH ;05BH在共阴数码管上显示为数字"2"
MOV P2,#0FFH ;关掉所有数码管
MOV P2,#02H ;显示第二位
CALL DELAY ;调用延时子程序
MOV P0,#06H ;06H在共阴数码管上显示为数字"1"
MOV P2,#0FFH ;关掉所有数码管
MOV P2,#01H ;显示第三位
CALL DELAY ;调用延时子程序
MOV P0,#3FH ;3FH在共阴数码管上显示为数字"0"
MOV P2,#0FFH ;关掉所有数码管
MOV P2,#00H ;显示第四位
CALL DELAY ;调用延时子程序
JMP LOOP ;循环
;延时子程序
DELAY:MOV R7,#25
D1:MOV R6,#5
D2:MOV R5,#1
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?