单片机数码管动态显示原理

来源:本站
导读:目前正在解读《单片机数码管动态显示原理》的相关信息,《单片机数码管动态显示原理》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《单片机数码管动态显示原理》的详细说明。
简介:本文主要讲了单片机数码管动态显示原理,下面一起来学习一下:

数码管静态显示时,4个数码管的显示是一样的,要使得4个数码管显示不同数值,需采用动态扫描显示方法,即在某一瞬间,只点亮一个数码管,快速变化,每一次点亮一个数码管时输入不同值,由于人眼的视觉暂留现象,感觉上4个数码管是同时亮的,而4个数码管的显示值则是各自不同的。

下面为扫描显示的关键代码,采用一个循环计数器,按照0111-1011-1101-1110-0111的顺序进行循环,这样做到依次点亮一个数码管,每次输入值不同,数码管显示亦不同。

PROCESS(CT)

BEGIN

IF CT'EVENT AND CT='1' THEN

CASE QQ IS

WHEN "0111"=>AN<=QQ; SW<=1; QQ<="1011"; --点亮最左边数码管,输入值为1;计数器跳转,准备点亮左边第2个数码管

WHEN "1011"=> AN<=QQ;SW<=2; QQ<="1101";

WHEN "1101"=> AN<=QQ;SW<=3; QQ<="1110";

WHEN OTHERS=> AN<=QQ;SW<=4; QQ<="0111"; --点亮最右边数码管,输入值为4;计数器跳转,准备点亮最左边数码管

END CASE;

END IF;

可在数码管静态显示的程序上进行修改,去掉Port中的SW输入,改为signal,同时增加QQ和CT作为signal,其中CT为扫描频率,建议取值在100-1000Hz之间,由50MHz时钟分频获得。

注意:开发板上数码管的位选顺序丝印是错的,反掉了。

参考上述代码和数码管静态显示程序,调通程序,正确显示1234,并进行以下扩展:

1)对8位拨位开关进行译码显示,显示数字范围为00-01-02-..-10-11-..-F0-F1-..-FF(16进制)

提示:拨位开关作为输入

2)按照0000-0001-0002-0003-....000F-1000-1001-....-F001-F002-....-FFFF(16进制)的顺序,以10Hz左右递增,显示变化的4位数

提示:要实现递增数字效果,需要增加一个计数器,由于每一位数码管对应一个4位2进制数,所以这个计数器应该是16位2进制

3)对8位拨位开关进行译码显示,显示数字范围为000-001-002-...009-100-101-...-200-...-255(10进制)

提示:之前数码管显示方式为16进制,要转换为10进制

提醒:《单片机数码管动态显示原理》最后刷新时间 2024-03-14 00:52:23,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机数码管动态显示原理》该内容的真实性请自行鉴别。