1、新建项目,做好准备。
2、数码管段选表。
3、延时函数。
4、uchar i变量i;wk = 1打开位选,P0 = 0xf71111 0111第4位数码管显示,wk = 0关闭位选。
5、while(1) //死循环效果{} 。
6、dk = 1//打开段选,P0 = leddata[i],dk = 0//关闭段选,delay(100)//延时效果。
7、选择效果,限制i值的循环范围。
一位数码管循环显示1-9的汇编程序ORG
00H
:单片机启动地址
START:MOV
R2,#0
;要显示的第一个数为0
MOV
R5,#10
;要循环显示的次数10次
MAIN:
MOV
DPTR,#TAB
;显示编码表格首地址
MOV
A,R2
;
取要显示的数在R2种
MOVC
A,@A+DPTR
;查表
求要显示的数的编码
MOV
P3,A
;送P3口驱动7段数码管显示
INC
R2
;修改要显示的下一个数
LCALL
DELAY
;
调用延时子程序(稳定显示)
DJNZ
R5,MAIN
;循环显示次数减1
不等于0
继续显示
JMP
START
;从新转主程序
开始新一轮的显示
DELAY:MOV
R0,#5
;延时子程序
DELAY0:MOV
R7,#200
DELAY1:MOV
R6,#250
DJNZ
R6,$
DJNZ
R7,DELAY1
DJNZ
R0,DELAY0
RET
TAB:DB
DB
0C0H,
0F9H,
0A4H,0B0H,99H,92H,82H,0F8H,
DB
80H,
90H,;0~9的显示编码表格
END
;结束汇编、
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)