【郭天祥 TX-1C经典版 51单片机开发板试用体验】+动态显示...

  • mr_liu
  • LV4工程师
  • |      2017-09-26 00:20:32
  • 浏览量 1024
  • 回复:0
本帖最后由 mr_liu 于 2017-9-26 00:28 编辑 bg1.png四、数码管的动态显示 1.介绍 实现数码管的动态显示,6位数码管分别显示数字1-6 2.原理 数码管的动态显示又叫数码管的动态扫描显示,原理是轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人感觉好像各位数码管同时都在显示,而实际是多位数码管一位一位轮流显示的,只是速度快的人眼无法分辨。 3.软件部分 在上一篇数码管静态显示工程的基础上加以修改,然后逐步验证 3.1 首先让前两位数码管分别显示1和2 通过原理知道了当扫描速度足够快时可以实现,但是这个频率是多少呢?这个问题我在问答区问过,得到的答案是20Hz,也就是50ms,然后实际测试下。部分代码如下 说明下,用的延时函数是STC烧写软件的延时计算器生成的,软件延时的精确度可能不够准确 测试代码如下:
 while(1)

        {

                dula = 1;

                P0 = 0x06;

                dula = 0;

                wela = 1;

                P0 = 0xfe;

                wela = 0;

                Delay50ms();

                

                dula = 1;

                P0 = 0x5b;

                dula = 0;

                wela = 1;

                P0= 0xfd;

                wela =0;

                Delay50ms();

        }
下载验证:可以看到是可以看出再闪的,然后逐步把时间缩短,在10ms时还是会有晃动,直至缩短至1ms,才可以看到稳定的显示1和2 3.2 “消影”处理 但是这时会发现后面4个未点亮的数码管会有亮的阴影出现,是由于送完段选数据后如果立即打开位选这时P0口的段选数据会立即通过位选锁存器直接加在数码管上,所以处会先显示混乱的现象。这里要做“消影”处理,也就是每次开位选前给P0口送0xff。 重新下载验证,可以看到此时没有了刚才的现象 3.3 显示1-6 同理可以实现后4位数码管的显示 最后效果为:
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子