51单片机数码管显示函数_单片机从零开始学

(3) 2024-10-07 21:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
51单片机数码管显示函数_单片机从零开始学,希望能够帮助你!!!。

前文《设计一款
<交通灯控制系统>
的编程思路》中提到了一个关键的函数:数码管显示函数,那么我们今天就聊一下数码管的段码表如何制作。

51单片机数码管显示函数_单片机从零开始学_https://bianchenghao6.com/blog__第1张

图一.数码管字段排列对应单片机管脚图

上面的图片中,上半部分是从我们先前画的PCB原理图中截图出来的,可以看出单片机管脚对应数码管段码的关系;下半部分是一个数码管段码生成软件的界面截图。

  • 数码管的字段排列:

从图中可以看出,数码管的显示字段是按照固定格式排列的,参考上图的左下红色部分。

  • 数码管的引脚排列:

但是不同品牌/型号的实物管脚是不标准排列的。因此,使用哪种型号的数码管,就要先通过器件手册或者实际测量来确定管脚排列图(表),例如上图中的右上部分就是本文采用的数码管引脚排列图。

  • 单片机的引脚连线:

通常单片机的引脚排列是根据布线的情况来改变的,而不是按I/O口的bit位顺序对应数码管的段码顺序。因此这个连线一般都在PCB布线的时候对原理图做修改,以达到最优的PCB布线效果。当然也完全可以按照单片机管脚顺序来对应数码管段码顺序。

假如我们要显示一个数字“0”,如何设计单片机程序呢?

51单片机数码管显示函数_单片机从零开始学_https://bianchenghao6.com/blog__第2张

图二. 数字“0”对应的数码管字段数值

从上图可以看出,对于一个共阳极数码管来说,字段引脚为低电平0点亮,为高电平1关闭。那么显示一个数字“0”就要关闭字段“g”和“h”,对应到单片机的P0口就是一个从bit高位到低位()的值,换算成十六进制就是“0x84”。

同样,我们可以得到0~9数字的值,把它定义为数组表格,在c51程序中调用取值。

51单片机数码管显示函数_单片机从零开始学_https://bianchenghao6.com/blog__第3张

图三. 数码管显示一位数字“0”的代码片段

当然实际程序中要复杂很多,但是拆解到每一个功能的实现都是很容易理解的。

以上是最笨的也是最简单的方法之一,是单片机初学者应该掌握的基础。当然还有一种更简单且一劳永逸的方法,不需要软件生成代码,如果对我们前面聊的宏定义弄熟悉了,就很容易实现了。

今天就先聊到这里,感谢阅读小文,如果有什么好的想法和建议欢迎关注或留言......

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复