背景: #EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读新闻

单片机与显示器接口

[日期:2006-08-12] 来源:单片机应用技术  作者:刘守义 [字体: ]

单片机应用系统最常用的显示器是LED(发光二极管显示器)和LCD液晶显示器),这两种显示器可显示数字、字符及系统的状态,它们的驱动电路简单、易于实现且价格低廉,因此,得到广泛应用。


LED
显示和接口


   
常用LED显示器有LED状态显示器(俗称发光二极管)、LED七段显示器(俗称数码管)和LED十六段显示器。发光二极管可显示两种状态,用于系统状态显示;数码管用于数字显示;LED十六段显示器用于字符显示。本节重点介绍LED七段显示器。

7.1  用定时器/计数器模拟生产线产品计件,以按键模拟产品检测,按一次键相当于产品计数一次。检测到的产品数送P1口显示,采用单只数码管显示,计满16次后从头开始,依次循环。系统采用12MHz晶振

解:根据题意可设计出硬件电路如图7.9所示。

 


7.9 模拟生产线产品计件数码管显示电路

其源程序可设计如下:

    ORG       1000H

                            MOV      TMOD#60H              ;定时器T1工作在方式2

                            MOV      TH1#0F0H         T1置初值

                            MOV      TL1#0F0H

                            SETB      TR1                             ;启动T1

       MAIN         MOV      A#00H                      ;计数显示初始化

                    MOV      P1#0C0H                  数码管显示0

DISP          JB           P3.3DISP                 ;监测按键信号

ACALL   DELAY                        ;消抖延时

JB          P3.3DISP                 ;确认低电平信号

DISP1        JNB       P3.3DISP1                ;监测按键信号

ACALL   DELAY                        ;消抖延时

JNB        P3.3DISP1                ;确认高电平信号

                            CLR        P3.5                             T0引脚产生负跳变

                            NOP

NOP

SETB      P3.5                             T0引脚恢复高电平

                      INC        A                                 ;累加器加1

                            MOV      R1A                         ;保存累加器计数值

ADD       A#08H                      ;变址调整

MOVC    A@A+PC                  ;查表获取数码管显示值

MOV      P1A                          数码管显示查表值

MOV      AR1                         ;恢复累加器计数值

                            JBC        TF1MAIN                 ;查询T1计数溢出

SJM P     DISP                           16次不到继续计数

              TAB           DB          0C0H0F9H0A4H    012

                                   DB          0B0H99H92H         345

                                   DB          82H0F8H80H         678

                                   DB          90H88H83H       9AB

                                   DB          0C6H0A1H86H      CDE

                                   DB          8EH                             F

DEALY       MOV      R2#14H                    10ms延时

DELAY1     MOV      R3#0FAH

DJNZ      R3$

                     DJNZ      R2DEALY1

RET

END

     比较例5.4和例7.1可知,同样是显示数字信息,例5.4是通过P1口每一位状态的显示来获取信息,例7.1是直接通过数码管显示的数字来获取信息,显然,后者更加直观、快捷,从获取信息的角度来看,例7.1优于例5.4。由例7.1可具体剖析数码管的结构,分析其工作原理。

1数码管简介

1数码管结构

数码管8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0 ~9、字符A ~ FHLPRUY、符号“-”及小数点“.”。数码管的外型结构如图7.10a)所示。数码管又分为共阴极和共阳极两种结构,分别如图7.10b)和图7.11c)所示。


a 外型结构                        b 共阴极                     c)共阳极

7.10  数码管结构图

    2数码管工作原理

    共阳极数码管8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻

共阴极数码管8个发光二极管的阴极(二极管负端)连接在一起,通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端,当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能提供额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻

7.1采用共阳极数码管与单片机P1口直接连接,其电路连接如图7.9所示,数码管公共阳极接+5V电源,其它管脚分别接P1口的8个端口,限流电阻510W,数码管字段导通电流约为6mA(额定字段导通电流一般为5 ~ 20 mA)。

3数码管字形编码

要使数码管显示出相应的数字或字符必须使段数据口输出相应的字形编码。对照图7.10a),字型码各位定义如下:

数据线D0a字段对应,D1字段与b字段对应……,依此类推。如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮。如要显示“0”,共阳极数码管的字型编码应为:11000000B(即C0H);共阴极数码管的字型编码应为:00111111B(即3FH)。依此类推可求得数码管字形编码如表7.1所示。

7.1  数码管字型编码

显示字符

字形

       

       

dp

g

f

e

d

c

b

a

字型码

dp

g

f

e

d

c

b

a

字形码

0

0

1

1

0

0

0

0

0

0

C0H

0

0

1

1

1

1

1

1

3FH

1

1

1

1

1

1

1

0

0

1

F9H

0

0

0

0

0

1

1

0

06H

2

2

1

0

1

0

0

1

0

0

A4H

0

1

0

1

1

0

1

1

5BH

3

3

1

0

1

1

0

0

0