本节介绍通过单片机的
IO
口控制板载数码管显示。
一、数码管介绍
1.数码管简介
数码管是一种半导体发光器件,其基本单元是发光二极管。 数码管也称 LED
数码管,不同行业人士对数码管的称呼不一样,其实都是同样的产品。数码管按段数可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP),这个小数点可以更精确的表示数码管想要显示的内容;按能显示多少个(8)可分为 1 位、 2 位、 3 位、 4 位、 5 位、6 位、7 位等数码管。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM
)的数码管,共阳数码管在应用时应将公共极 COM
接到+5V
,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM
)的数码管,共阴数码管在应用时应将公共极 COM
接到地线 GND
上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
不同位数的数码管实物图如下所示:
2.数码管显示原理
不管将几位数码管连在一起,数码管的显示原理都是一样的,都是靠点亮内部的发光二极管来发光,下面我们就来讲解一个数码管是如何亮起来的。数码管内部电路如下图所示:
从上图可看出,一位数码管的引脚是 10 个,显示一个 8 字需要 7 个小段,另外还有一个小数点,所以其内部一共有 8 个小的发光二极管,最后还有一个公共端,多数生产商为了封装统一,单位数码管都封装 10 个引脚,其中第 3 和 第 8 引脚是连接在一起的。而它们的公共端又可分为共阳极和共阴极,图中间为共阳极内部原理图,右图为共阴极内部原理图。
对共阴极数码来说,其 8 个发光二极管的阴极在数码管内部全部连接在一起,所以称“共阴”,而它们的阳极是独立的,通常在设计电路时一般把阴极接地。当我们给数码管的任意一个阳极加一个高电平时,对应的这个发光二极管就点亮了。如果想要显示出一个 8 字,并且把右下角的小数点也点亮的话,可以给 8 个阳极全部送高电平,如果想让它显示出一个 0 字,那么我们可以除了给第“g,dp” 这两位送低电平外,其余引脚全部都送高电平,这样它就显示出 0 字了。
如果使用共阴数码管,需要注意增加单片机 IO
口驱动电流,因为共阴数码管是要靠单片机 IO
口输出电流来点亮的,但单片机 I/O
口难以输出稳定的、如此大的电流,所以数码管与单片机连接时需要加驱动电路,可以用上拉电阻的方法或使用专门的数码管驱动芯片,比如 74HC573
、74HC245
等,其输出电流较大,电路接口简单。
共阳极数码管其内部 8 个发光二极管的所有阳极全部连接在一起,电路连接时,公共端接高电平,因此我们要点亮哪个发光管二极管就需要给阴极送低电平,此时显示数字的编码与共阴极编码是相反的关系,数码管内部发光二极管点亮时,也需要 5mA
以上的电流,而且电流不可过大,否则会烧坏发光二极管。因此不仅要防止数码管电流过大,同时要防止流经数码管的电流集中到单片机时电流不能过大,否则会损坏主芯片。
一般共阳极数码管更为常用,为什么呢? 这是因为数码管的非公共端往往接在 IC
芯片的 I/O
上,而 IC
芯片的驱动能力往往是比较小的,如果采用共阴极数码管,它的驱动端在非公共端, 就有可能受限于 IC
芯片输出电流不够而显示昏暗,要外加上拉电阻或者是增加三极管加大驱动能力。但是 IC
芯片的灌电流,即输入电流范围比较大。所以使用共阳极数码管的好处:将驱动数码管的工作交到公共端(一般接驱动电源),加大驱动电