求单只数码管循环显示0-9的汇编代码

2024-11-26 07:47:40
推荐回答(2个)
回答1:

ORG 0000H
SJMP MAIN
ORG 030H
MAIN: MOV R1,#00H
MOV A,R1
D1: ANL A,#0FH
MOV DPTR,#TAB
MOVC A,@A+DPTR ;查表
MOV P0,A ;P0口输出,显示数字
ACALL DELAY
INC R1
MOV A,R1 ;A加1
CJNE A,#10,D1 ;判断A是否到达10
LJMP MAIN ;当A达到10跳回主函数,重新赋值为0
DELAY: MOV R2,#05H ;延时
D2: MOV R3,#0FFH
D3: MOV R4,#0FFH
DJNZ R4,$
DJNZ R3,D3
DJNZ R2,D2
RET
TAB: DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;数值1到9的共阳极编码
END

补充说明两点:
1、程序下载到目标板之后,注意一下晶振频率,如果显示效果不佳,可以通过修改延时参数,调节刷新频率。
2、这里采用的是共阳极编码二极管(公共端已经接VCC了),下载程序前,请注意自己到网上找编码,代替倒数第二行代码。

回答2:

延时就可以了,。这么简单还来问。选写出。,0-9的码