第五课:数码管
单个数码管是由7段横线和一个点状圆形LED构成的,如果单独控制这8个LED需要16个引脚,而把它们集中在一个模块上的时候,可以把正极或者负极共用一个端口,从而使得我们需要8个控制端和一个共用电压输入/接地端。为了满足元器件的对称美学和磨损要求,一般会用10个引脚来接出一个数码管,上下各5个接口,上下两排的中间接口一般是两个共用端口。
由于每个引脚只会控制一个LED小灯泡的开关,所以我们还需要给特定的引脚排列组合的点亮不同位置,才能形成人类能“看懂”的数字。实际上还可以表示大写的A,小写的b,大小写的Cc,小写的d,大写的E和大写的F,可以扩展到16进制HEX!于是我们有下列对照表:
对于共用VCC-5V端口的共阳极数码管(1指将该引脚拉高电平,接电源):
| 显示数字 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| 端口A | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 端口B | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
| 端口C | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 端口D | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 端口E | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
| 端口F | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| 端口G | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
| 端口DP | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
对于共用GND端口的共阴极数码管(1是指将该引脚拉低电平,即接地):
| 显示数字 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|---|
| 端口A | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 端口B | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 端口C | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 端口D | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 端口E | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
| 端口F | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| 端口G | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 端口DP | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
思考:1.为什么不直接10个引脚对应0-9这10个数字呢?然后需要额外多一个引脚接地或者接电压输入端。此时封装器件内部该如何走线呢?同理,为了节省端口,是否还可能存在一个中转站,使得上表的内容被转译到数码管中呢?
2.如果点亮一个LED需要2V的压降,并联这些LED两端电压不变,但是增加的5-20mA导通电流的功率是否会造成对电源的考验呢?比如突然从1变成8,需要从亮2个变成亮7个LED,如何解决这一突然的变化呢?
对于多个数字集成显示的数显管,工程师们利用了人眼30Hz的分辨率,通过单次点亮一个数字,然后在1000ms内快速刷新的方式使得人眼看到的是全部显示的多个数字。这样的好处自然是节省端口,如果需要显示N个数字,只需要外接N+8个引脚而不是N*8个。在第三课介绍LED时我们提到了点亮LED需要串联小电阻以保护电路电源不处于“短路”状态,所以此处在电源与LED之间需要接入一个\(200 \sim 500\Omega\)的保护电阻,并在接地之间根据共阴极/共阳极的不同类型接入一个NPN/PNP型的三极管。下图展示的就是四个共阴极数码管的驱动电路,使用NPN型三极管接地。

参考文章:
1. 知乎:数码管共阳和共阴是什么意思?
2. 百度百科:共阴极数码管
💬 评论 (0)