完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` 最近在学习数码管的动态显示,可以用一个口控制段码,一个口控制位选端。 类似程序 ORG 0000H AJMP MAIN ORG 0030H MAIN: ACALL LOOP1 AJMP MAIN LOOP1: MOV DPTR,#TAB MOV R0,#00H MOV R1,#00H LOOP2: MOV P1,R0 ;P0显示位址 MOV A,R1 MOVC A,@A+DPTR MOV P0,A ;P1显示段码 ACALL DELAY MOV P0,#00H INC R0 INC R1 CJNE R0,#08,LOOP2 RET DELAY: MOV R6,#5 DD1: MOV R7,#10 DD2: DJNZ R7,DD2 DJNZ R6,DD1 RET TAB: DB 03FH,06H,5BH,4FH,66H,6DH,7DH,07H END 但是这样的显示效果是数字不能变,如何实现在使用动态显示的前提下,让数字动起来?谢谢各位大神!!! ` |
|
相关推荐
4个回答
|
|
程序我就写了,说下思路,首先要定义保存显示字符的变量。例如定义Num1~Num8.八个要显示的数,
然后用动态扫描的方法将Num1~Num8分别显示在八个数码管中。那么如果想改变显示的内容。只需要将要显示的内容保存进Num1~Num8就行了。例如每隔一秒对应的内容加1等。那么就能让数字动起来了。 |
|
|
|
按照您的提示,我准备做一个两位数的计时器,个位从0到9,再进位到十位,程序如下 ORG 0000H AJMP MAIN ORG 0030H MAIN: ACALL LOOP1 AJMP MAIN LOOP1: MOV DPTR,#TAB MOV R0,#00H MOV R1,#00H LOOP2: MOV R4,#01H MOV P1,R4 ;P1显示位址 MOV A,R0 MOVC A,@A+DPTR MOV P0,A ;P0显示段码 ACALL DELAY ;短延迟 MOV P0,#00H LOOP3: INC R4 MOV P1,R4 MOV A,R1 MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P0,#00H ACALL DEL ;长延迟 INC R0 CJNE R0,#0AH,LOOP2 INC R1 CJNE R1,#0AH,LOOP1 RET DELAY: MOV R6,#5 DD1: MOV R7,#10 DD2: DJNZ R7,DD2 DJNZ R6,DD1 RET DEL: MOV R7,#100 D1: MOV R6,#100 D2: MOV R5,#100 D3: DJNZ R5,D3 DJNZ R6,D2 DJNZ R7,D1 RET TAB: DB 03FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 可以勉强实现动态显示,但是显示亮度低,还有闪烁的效果,十位一直是零,请问是什么问题?谢谢! |
|
|
|
显示亮度低,闪烁是因为你程序里面延时太多了,数码管扫描速度不够快。十位一直是0是因为你CJNE R1,#0AH,LOOP1 这条命令错了,跳错地方了了。跳到LOOP1,个位十位都被清零了。 |
|
|
|
ORG 0000H AJMP MAIN ORG 0030H MAIN: ACALL LOOP1 AJMP MAIN LOOP1: MOV DPTR,#TAB MOV R0,#00H MOV R1,#00H MOV R3,#00H LOOP2: MOV R4,#00H MOV P1,R4 ;P1显示位址 MOV A,R0 MOVC A,@A+DPTR MOV P0,A ;P0显示段码 ACALL DELAY ;短延迟 MOV P0,#00H LOOP3: INC R4 MOV P1,R4 MOV A,R1 MOVC A,@A+DPTR MOV P0,A ACALL DELAY MOV P0,#00H INC R3 CJNE R3,#50,LOOP2 ;长延迟 INC R0 MOV R3,#00H CJNE R0,#0AH,LOOP2 MOV R0,#00H INC R1 CJNE R1,#0AH,LOOP2 RET DELAY: MOV R7,#100 DD1: MOV R6,#50 DD2: DJNZ R6,DD2 DJNZ R7,DD1 RET TAB: DB 03FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END 基本功能可以实现了,还有小问题,我去自己修正,谢谢您! |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】(第三篇)ADC采集+PWM输出
54 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十五章 人脸识别实验
395 浏览 0 评论
439 浏览 0 评论
如何用OpenCV的相机捕捉视频进行人脸检测--基于米尔NXP i.MX93开发板
1265 浏览 0 评论
《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验
529 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11749 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 22:35 , Processed in 0.653104 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号