51单片机怎么显示出数字的?单片机数码管显示数字
数字怎么被显示出的呢?以共阴极数码管为例,何为共阴极,就是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 :程序如图四,结果图五:
图四
图五