单片机程序求助!!(实现4位数码管轮流动态显示0,1,2,3,)
答案:1 悬赏:70 手机版
解决时间 2021-03-20 10:47
- 提问者网友:我一贱你就笑
- 2021-03-20 01:40
单片机程序求助!!(实现4位数码管轮流动态显示0,1,2,3,)
最佳答案
- 五星知识达人网友:北城痞子
- 2021-03-20 02:17
ORG 0000H
LJMP 0100H
MAIN: MOV 60H,#1 ;给显示缓冲区送显示的初值
MOV 61H,#2
MOV 62H,#3
MOV 63H,#4
LY: LCALL DISP ;调用显示子程序
MOV R3,#15; 延时
LK: LCALL YS1MS
DJNZ R3,LK
MOV 64H,60H
MOV 60H,61H
MOV 61H,62H
MOV 62H,63H
MOV 63H,60H
SJMP LY
DISP: MOV R0,#60H ;指针指向显示缓冲区
MOV R7,#4 ;设循环显示的次数 显示4位数据
CLR C
MOV R6,#00000001B ;从p2.0开始显示 即先显示1
LL: MOV DPTR,#TAB ;数据指针指向显示编码表达首地址
MOV A,@R0
MOVC A , @ A+ DPTR ;取显示编码
MOV P0,A ;送P0口显示
MOV A,R6
MOV P2,A ;控制显示位
RLC A ;修改显示位
MOV R6,A
INC R0 ;指向下一个要显示的数据
LCALL YS1MS ;延时显示时间
DJNZ R7,LL ;4位数据没显示完 则转LL继续显示
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H ;显示编码
DB 92H,82H,0F8H,80H,98H
YS1MS: MOV R5,#45 ;延时子程序
YSLL: MOV R4,#200
YYLL: DJNZ R4,YYLL
DJNZ R5,YSLL
RET追问我试了您给的程序,,有错误,关键是我不怎么看的懂,,都不晓得咋改。。。还有,,请针对我的要求,和我给出的程序,,指出我给的程序出错的地方。。我还处于初学阶段,最近在熟悉定时器的使用,所以请一定好好帮我检查下。非常感谢了。
LJMP 0100H
MAIN: MOV 60H,#1 ;给显示缓冲区送显示的初值
MOV 61H,#2
MOV 62H,#3
MOV 63H,#4
LY: LCALL DISP ;调用显示子程序
MOV R3,#15; 延时
LK: LCALL YS1MS
DJNZ R3,LK
MOV 64H,60H
MOV 60H,61H
MOV 61H,62H
MOV 62H,63H
MOV 63H,60H
SJMP LY
DISP: MOV R0,#60H ;指针指向显示缓冲区
MOV R7,#4 ;设循环显示的次数 显示4位数据
CLR C
MOV R6,#00000001B ;从p2.0开始显示 即先显示1
LL: MOV DPTR,#TAB ;数据指针指向显示编码表达首地址
MOV A,@R0
MOVC A , @ A+ DPTR ;取显示编码
MOV P0,A ;送P0口显示
MOV A,R6
MOV P2,A ;控制显示位
RLC A ;修改显示位
MOV R6,A
INC R0 ;指向下一个要显示的数据
LCALL YS1MS ;延时显示时间
DJNZ R7,LL ;4位数据没显示完 则转LL继续显示
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H ;显示编码
DB 92H,82H,0F8H,80H,98H
YS1MS: MOV R5,#45 ;延时子程序
YSLL: MOV R4,#200
YYLL: DJNZ R4,YYLL
DJNZ R5,YSLL
RET追问我试了您给的程序,,有错误,关键是我不怎么看的懂,,都不晓得咋改。。。还有,,请针对我的要求,和我给出的程序,,指出我给的程序出错的地方。。我还处于初学阶段,最近在熟悉定时器的使用,所以请一定好好帮我检查下。非常感谢了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯