9.2.2  LED数码管及其应用

9.2.2 LED数码管及其应用

LED数码管显示块是由发光二极管显示字段的显示器件。在单片机应用中通常使用七段LED。这种显示块有共阴极和共阳极两种,如图9-4所示。

数字显示是单片机应用系统常用方式。单片机测控系统中,通常要显示被测工程量,往往需要4~5位含有小数点的数值。本节首先介绍单个LED数码管显示技术。

例如:通过MCS-51系列单片机的P1接口驱动1个LED数码管每隔一秒循环显示字符“0”~“9”(晶振12MHz)。

解:通常的七段LED数码管有8个发光二极管,故也有人称之为八段显示器。其中7个发光管构成数字“8”;1个发光管构成小数点dp。

978-7-111-46831-8-Chapter09-5.jpg

图9-4 七段LED数码管

a)引脚配置 b)共阴极 c)共阳极

(1)硬件接口 因为MCS-51系列单片机的I/O接口的高电平输出电流在1mA左右,所以不能采用直接驱动LED;而MCS-51系列单片机的I/O接口的低电平输出电流在5~10mA左右,所以采用灌入电流接法,即P1.0口为低电平时,数码管a段亮;P1.1口为低电平时,数码管b段亮;P1.7口为低电平时,数码管dp段亮;依此类推。因此该数码管是共阳极数码管。硬件原理如图9-5所示。

978-7-111-46831-8-Chapter09-6.jpg

图9-5 硬件原理图

(2)数字字符的实现 根据硬件原理图,只要P1接口有不同的电平组合,数码管就有不同的字符。例如:要显示字符“1”,则b、c亮,其余灭,也就是P1.1=0,P1.2=0,其余为1;即P1=11111001B=F9H。按此思路将对应于此硬件图的数码管的字形码列于表9-1。

表9-1 七段LED数码管的段选码

978-7-111-46831-8-Chapter09-7.jpg

(3)软件编程 直接将字形码输出给P1,延时1s后,再输出下1个数字。

汇编语言程序如下:

ORG 0000H

START:MOV P1,#0C0H

LCALL DELAY

978-7-111-46831-8-Chapter09-8.jpg

采用查表,显示R3中的数,程序如下:

978-7-111-46831-8-Chapter09-9.jpg