51单片机数码管动态显示教程(51单片机之数码管)
51单片机数码管动态显示教程(51单片机之数码管)重点来了,共阴极数码管,高电平点亮。图三然后,我们把这8盏led灯排列一下,形成一个数码管,如图二:图二那好,我们还是用P1口做实验,8盏灯(HGFEDCBA)分别和(P17---P10)对应连接,如图三:
数码管是怎么显示出数字的?看了这篇文章,你会不禁而言:哦,原来这么简单。
数码管,实际就是8盏led灯,其中7盏是横杠型的,用来显示数字,剩下1盏是点型的,用来......自己想去。
那么,数字怎么被显示出的呢?以共阴极数码管为例,何为共阴极,就是led灯的负端都连在一起,如图一:
图一
然后,我们把这8盏led灯排列一下,形成一个数码管,如图二:
图二
那好,我们还是用P1口做实验,8盏灯(HGFEDCBA)分别和(P17---P10)对应连接,如图三:
图三
重点来了,共阴极数码管,高电平点亮。
显示数字1,对比图二,就是B、C的led要亮,(HGFEDCBA) -- (0000 0110) :0x06,
对应的P1口就是 P1 = 0x06,就是说,只要P1 = 0x06,数码管就显示数字“1”了。
同样的道理,显示数字7,对比图二,就是A、B、C的led要亮,
(HGFEDCBA) -- (0000 0111) :0x07,对应的P1口就是 P1 = 0x07,
就是说,只要P1 = 0x07,数码管就显示数字“7”了。
就是这样,我们最后得出,让共阴极数码管显示数字0--9的数据分别为:
0x3F 0x06 0x5B 0x4F 0x66 0x6D 0x7D 0x07 0x7F 0x6F
很多人一开始在度娘上找到数码管的显示数据,都会非常闷逼。在想:为什么是这些数据?这些数据是怎么得来的?为什么别人会懂,而我就不懂? 现在恭喜你,你也懂了!(看到这里,大家如果有种恍然大悟的感觉,就在评论里面赞赞飞飞我吧)
至此,没错,protues仿真一下,让数码管循环显示 0--9 :程序如图四,结果图五:
图四
图五
下一篇,我将介绍51单片机、如何用一个按键,控制一盏led。