目录
本篇除去数码管本体外,还涉及到两个74芯片,理解难度较高!
原理图阅读
首先看数码管本体的原理图
左下角的74HC245称作三态收发器,在这里主要起增加引脚驱动能力的作用。由于本篇讨论范围仅限于软件,因此可以将其忽略
数码管型号为3461AS-1,属于共阴极。器件上各位数中相同位置的发光段(a~g、dp)被接在一起放在底部,顶部则为每一位数单独配置一个控制端COM。该型号数码管的控制方式为:向底部发光段引脚施加高电平以决定显示什么符号,称作段选;向顶部COM施加低电平以决定符号在哪一位数上出现,称作位选
举个例子:若想在左起第五位上显示数字1,则需要让b段、c段所在的7号、4号引脚变为高电平,然后让LED3(9号引脚)变为低电平
这样就梳理清楚了数码管自身的问题。接下来研究具体实现方法
首先是段选。上面已经忽略了74HC245的存在,因此段选引脚可看作直连处理器,非常简单
然后是位选。可以看到COM上的引脚标识并非P+数字的形式,可以断定这套系统上还有其它未知元器件。继续翻看原理图可以找到一颗74HC138芯片
74HC138称作译码器。它能将左侧ABC三个引脚的输入组成的二进制数翻译为十进制,并让右侧对应位置的引脚变为低电平
举个例子:当输入信号为C=0,B=0,A=0时,组成的二进制数为000,对应的十进制数为0,此时Y0所在的15号引脚将输出0;当输入信号为C=1,B=1,A=0时(注意ABC的顺序是反的),组成二进制数110,对应十进制数6,此时10号引脚将输出0
这样就将整个系统搞明白了。上面在左起第五位显示数字1的例子,完整的过程是:让P02、P05变为低电平以完成段选;让P24变为低电平,经过译码后LED5变为低电平以完成位选(注意处理器引脚初始状态均为高电平)