Bootstrap

共阳极数码管显示0~9_《显示器件应用分析精粹》之(3)数码管静态显示

如果你觉得驱动一个发光二极管实在没什么挑战,那就试试数码管(LED segment Display)吧,它是将多个LED发光单元制作成一定形状,并按特定位置排列封装在一起的显示器件。最常用的数码管是“8”字型的(还有“米”字型的,本书不涉及,它们的工作原理完全相同),一位数码管的引脚定义如下图所示:

66fff2c21dbd0a8fea76b46b2f99b3fb.png

一位数码管通常有两种引脚排列方式,第二种(b)一般存在于尺寸比较小的数码管中(例如9mm),这样可以使引脚的间距不会那么紧张(因为数码管的宽度比较小)。这里所说的9mm指的是数码管“8”字的高度,换算成英制就是0.36英寸,如下图所示。

ff9a5e4e5cf7a0a02fa2a92a30651bf2.png

英寸是电子工程师对数码管大小的通俗称谓,其它常用的还有0.4英寸、0.56英寸等等。为了方便对数码管进行显示控制,我们使用字母对每个LED发光单元进行了标记,也称其为“段(Segment)”。数码管按段的数量可分为七段与八段,后者比前者多了一个LED发光单元,也就是右下方的那一个小数点(dp)。

数码管按内部LED的连接方式可分为与共阳(CommonAnode,CA)与共阴(Common Cathnode, CC)两类,共阳八段LED数码管的内部电路示意如下图所示。

41f646b8db28355b30e9f9d8eda6d2dd.png

可以看到,八个段对应的LED阳极都是连接在一起的,所以才称其为共阳极,而公共阳极引脚也经常会标记为COM。在实际应用时,共阳数码管的COM引脚应该与高电平(通常是正电源)连接,此时如果将某个LED的阴极设置为低电平“0”,相应的段就会被点亮,而将某个LED的阴极设置为高电平“1”时,相应的段就不会被点亮。例如,显示数字“6”时对应各段的状态如下图所示:

74f95dceb0d5e5672925416d19fbc9d2.png

还有一种共阴极类型的LED数码管,它将所有LED的阴极连接到一起并引出一个公共阴极(COM)。与共阳数码管恰好相反,在实际应用时,COM引脚应该接低电平(通常是公共地),相应的内部电路如下图所示:

21543dea133b5ca1ed65fbdda0876db6.png

本文开头的引脚定义图中的A(C)就表示“共阳(共阴)”,这意味着同一型号数码管的引脚是完全兼容的。为了方便后续使用单片机控制数码管显示需要的字符,我们总结了显示各种字符时各段对应的输入电平状态。共阴极数码管的显示字符与对应驱动电平信号如下表所示:

499ab182a098674a37ad149923be1cdc.png

我们把所有段驱动电平的十六进制称为字型码,将共阴极数码管的字型码取反就可以驱动共阳极数码管。例如,共阳数码管需要显示字符“6”时,将相应的字型码0x7D(0b1111_1101,下划线为分隔符,无实际意义,当位数比较多时有助于阅读)全部取反(非逻辑)即为0x02(0b0000_0010)。

如果你实在懒得去分析这些段的具体状态,也可以使用74系列逻辑芯片中的二进制(Binary-Coded Decimal‎, BDC)转七段(Seven Segment)译码器74LS46/47(驱动共阳极数码管)或74LS48(驱动共阴极数码管),这样你只需要输入0~9对应的二进制电平信号就可以显示相应的数字,是不是很方便?我们以74LS47驱动共阳极数码管为例,相应的Proteus软件平台仿真电路如下图所示:

756d1c5c244f14b6ab067dfb1f678ca7.png

图中数码管的段引脚从左至右依次为a、b、c、d、e、f、g、dp,它们分别与74LS47输出QA、QB、QC、QD、QE、QF、QG连接(段dp未使用)。74LS46/47的输出为开集(Open-Collector,集电极开路)结构,这意味着它们不具备输出高电平的能力,如下图所示。

f750725ee13fe2f8611c779bcb8aabd2.png

以下为付费内容,请移至微信公众号阅读

;