[b]数码管点亮思路分享:
在此例程中我仅仅说明如何点亮一个数码管,我会尽我所能解释清楚原理。I will do my best to clearify the theory。 希望大家可以有自己的思考如何点亮其他的数码管。如原理图所示,图中数码管 (1-8) 所示为共阴数码管(所有数码管连接同样的GND),所有的数码管具有相同的 ABCDEFGH 引出(用于操控数码管内哪一段LED点亮), 同时对于每一个数码管而言,具有一个使能位,在图中所示则为K1-K8. 如果K1-K8 其中某一个输出位高电平,那么对应的数码管就会被使能(此时还不会显示数据,因为未对对应的管脚进行使能)。此时操作GPIO控制对应的管脚ABCDEFGH并且形成不同的组合便可以显示出不同的数字。那么怎么知道这种组合呢? 数码管在未点亮状态显示的为数字8. , 我们可以用7个横线来组成这个8(具体参考数码管)。 从最上面的横线向右 以此是ABCDEFG(8中间的横线) H(数码管的小数点位)。
所以,用户可以向不同的GPIO引脚写入高电平来点亮数码管里的一个横线来组成自己想要显示的数字。 根据原理图,A-H 正好8位,使用了GPIOP6的8个端口(0-8).由于这个P6,直接HEX写入和按位寻址的,所以可以根据组合的二进制转换为16进制直接写入即可。
那么留下个问题,如果想点亮第二个数码管该怎么操作呢?
如果想同时点亮多个数码管该怎么操作呢?