本程序展示了使用51单片机动态显示数码管。该程序可以显示0-999的数字,并可以根据需要设定显示速度。
程序原理
该程序采用中断定时器来控制数码管的显示。中断定时器每隔一段时间产生一次中断,中断服务程序将数字转换成数码管的显示码,并输出到数码管的驱动电路。
数码管的显示码是一个8位的二进制数,每一位对应一个数码管的段。当某一位为1时,表示该段点亮;当某一位为0时,表示该段熄灭。
下面是数码管显示码与数字的对应关系表:
| 数字 | 显示码(十六进制) | |---|---| | 0 | 0x3F | | 1 | 0x06 | | 2 | 0x5B | | 3 | 0x4F | | 4 | 0x66 | | 5 | 0x6D | | 6 | 0x7D | | 7 | 0x07 | | 8 | 0x7F | | 9 | 0x6F |程序代码
c include实验结果
程序下载到51单片机后,数码管会动态显示0-999的数字。数字显示速度可以通过调整中断定时器的计数初值来设定。
本程序可以应用于各种需要动态显示数字的场合,如数字时钟、计步器等。
51单片机如何利用4个七段数码管采用动态显示显示4位数字,如2035?
不停地利用人的视觉暂留,在一个合适的速度下依次显示1个2,1个0,1个3,1个5.
当显示一个“2”的时候,其他三位都是空的,以此类推。
但人眼是看不到短时间内这些变化的,假如这个行为不断循环,那么人看到的就是“2035”,而不是单个的数字。
比如说吧:
本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!
添加新评论