数码管动态扫描

各位汇编程序高手请帮忙看个程序,是数码管的动态扫描,我已经检查过很多次了,实属小弟实力有限,不知道哪里出现了错误,程序可以用keil生成hex文件。如果是按照程序的意思,应该是从00到99的循环,在keil上仿真是对的,但是我把它烧到Proteus上仿真数码管却出现了一个个乱码在走,一直不知道原因,请各位大哥帮个忙指出错误。
;************************************
P20 EQU P2.0;常数定义
P23 EQU P2.3
;************************************
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV DPTR,#TAB
MOV R7, #00H;十位计数
MOV R2, #00H;个位计数
DSUP0:MOV R6,#00H;扫描速度计数
DSUP: MOV A,R2
MOVC A,@A+DPTR;取个位字模
MOV P0,A
CLR P20;十位
SETB P23;个位
LCALL YSH1S
MOV A,R7
MOVC A,@A+DPTR;取十位字模
MOV P0,A
SETB P20
CLR P23
LCALL YSH1S
INC R6;个十位轮流扫描
CJNE R6,#3FH,DSUP
INC R2
ACALL YSH1S
CJNE R2,#0AH,DSUP0;是否到10
INC R7
MOV R2,#00H
CJNE R7,#0AH,DSUP0;同上
AJMP MAIN;重启
;*************************************
;延时子程序
YSH1S: MOV R3,#01H
LOOP2: MOV R4,#028H
LOOP21:MOV R5,#05AH
XHD3: DJNZ R5,XHD3
DJNZ R4,LOOP21
DJNZ R3,LOOP2
RET
;**************************************
;共阳极段码
TAB: DB 0C0H;0
DB 0F9H;1
DB 0A4H;2
DB 0B0H;3
DB 099H;4
DB 092H;5
DB 082H;6
DB 0F8H;7
DB 080H;8
DB 090H;9
DB 088H;A
DB 083H;B
DB 0C6H;C
DB 0A1H;D
DB 086H;E
DB 08EH;F
END

第1个回答  2009-11-25
帧扫描太快了(即R6的比较值太小了),而且每一位显示的时间又太长,应该每一位停留一毫秒就好了,你把R6的比较值3F加大一点看看本回答被提问者采纳

数码管显示的动态扫描原理
数码管显示的动态扫描原理如下:显示器中所有数码管在系统控制下有序逐位点亮,每位数码管的点亮时间为1到2微秒。利用人体视觉暂留现象及发光二极管余辉效应,各位数码管并非同时点亮,但扫描速度足够快,从而一组稳定不闪烁显示数据。

数码管动态扫描显示日期
数码管动态扫描显示日期是通过将多个数码管的段选线并联,位选线分别控制,利用人眼的视觉暂留效应,动态地依次显示每一位数字,从而实现日期的显示。详细来说,数码管动态扫描显示日期的工作原理主要依赖于人眼的视觉暂留效应。这种效应是指当一个物体消失后,人眼还能在短时间内看到它的残像。利用这一特...

数码管显示的动态扫描原理
数码管显示的动态扫描原理涉及以下几个方面:首先,系统控制下的所有数码管按照一定的顺序逐个被点亮。其次,每个数码管的点亮时间通常在1到2微秒之间。这一快速点亮的过程利用了人眼的视觉暂留效果和发光二极管的余辉特性,使得尽管数码管并非同时点亮,但观感上却呈现出一组连续且稳定的显示数据,避免了...

...数码管静态扫描和动态扫描.简述LED数码管动态扫描的原理及其实现方式...
数码管静态扫描就是点亮固定的段位。优点是简单方便,缺点是只能点亮一个数码管。数码管动态扫描就是以一定的频率依次点亮多个数码管的段位,只要频率足够大,人眼无法识别出,就会形成多个数码管同时亮的现象。优点是可以控制多个数码管的显示,缺点是程序复杂,浪费单片机的运算资源。

如何实现LED数码管的动态扫描显示?
步骤一:布局设计 连接P2口至一个高效的译码器,它如同魔术师的手指,通过精准的位码转换,为每个数码管带来动态的生命力。关键在于采用扫描显示技术,每秒一次的脉冲,如同时间的沙漏,稳定而有序。核心策略:扫描原理 扫描时,要确保位码从左到右依次点亮,就像电影中的逐帧动画,每一次移动都带来新的...

什么是数码管的消影?单片机是如何做的?
这是数码管动态扫描显示方式造成的:当你在数码管上循环显示1,2时,(过程是在所有位的数码管上送出1的段码,然后只给第一位使能,就会在第一位上显示1,以此类推)因为人有视觉暂留,当显示完1后,再显示2,如果间隔时间过短,那就会感觉1、2两个数字是叠加在一起显示的:如果你在两位数码管...

简述LED数码管动态,扫描的原理及其实现方式?
LED数码管动态扫描原理其实就是利用“人眼视觉暂留”这个现象来实现的,人眼视觉暂留时间大概在一帧图像的时间。一帧图像时间是1\/24秒,也就是41ms左右的时间,所以一排数码管只要在这个时间之内重复显示,那么我们看到的数码管就会被认定为稳定的显示。数码管控制花样更改方便,只需将编辑生成的花样格式...

...书籍连载14第三篇FPGA至简设计项目 第五章数码管动态扫描_百度...
FPGA至简设计原理与应用 第五章数码管动态扫描 1. 简介<\/ 数码管,无论是共阳极还是共阴极类型,是电子显示中不可或缺的元件。共阳极数码管需要+5V供电,阴极低电平表示亮;共阴极则相反,阳极高电平亮。例如,输入1001111的abcdefg代码对应显示数字1。了解0-9的二进制或十六进制代码至关重要。2. ...

数码管显示技术:静态与动态
数码管静态显示是指每个数码管的驱动电平保持不变,直到数值发生变化。它的亮度较高,但功耗较大。动态显示数码管动态显示利用人眼的短暂视觉停留,让数码管轮流显示一段时间,如20ms,造成多个数码管同时亮起的错觉。它能显示更多位数,但亮度稍逊。注意事项动态扫描频率应不低于50Hz,理想情况下应高于60Hz,以免...

数码管扫描的时间公式
数码管扫描的时间公式:1秒=1000毫秒。数码管动态扫描j每个管扫描时长为10~20毫秒合适,也就是每个管子通电时间。先将一个管通电送段码,延时让它通10~20毫秒,通然后关掉再给另一个通电送段码,延时让它通10~20毫秒,如此循环,如果用定时器做延时和定时器有关系,在程序别的地方修改了定时器就会...

相似回答