LED显示器接口技术及实验

阅读: 评论:0

LED显示器接口技术及实验
在单片机系统中,经常用LED(发光二极管)数码显示器来显示单片机系统的工作状态、运算结果等各种信息,LED数码显示器是单片机与人对话的一种重要输出设备。
16.1 LED数码显示器的构造及特点
图16-1是LED数码显示器的构造。它实际上是由8个发光二极管构成,其中7个发光二极管排列成“8”字形的笔画段,另一个发光二极管为圆点形状,安装在显示器的右下角作为小数点使用。通过发光二极管亮暗的不同组合,从而可显示出0~9的阿拉伯数字符号以及其它能由这些笔画段构成的各种字符。2009我的梦想
图16-1 LED数码显示器的构造
LED数码显示器的内部结构共有两种不同形式,一种是共阳极显示器,其内部电路见图16-2,即8个发光二极管的正极全部连接在一起组成公共端,8个发光二极管的负极则各自独立引出。另一种是共阴极显示器,其内部电路见图16-3,即8个发光二极管的负极全部连接在一起组成公共端,8个发光二极管的正极则各自独立引出。
图16-2 共阳极显示器内部电路
图16-3 共阴极显示器内部电路
LED数码显示器中的发光二极管共有两种连接方法:
共阳极接法。把发光二极管的阳极连在一起,使用时公共阳极接+5V,这时阴极接低电
平的段发光二极管就导通点亮,而接高电平的则不点亮。
共阴极接法。把发光二极管的阴极连在一起,使用时公共阴极接地,这时阳极接高电平的段发光二极管就导通点亮,而接低电平的则不点亮。
驱动电路中的限流电阻R,通常根据LED的工作电流计算而得到,R=(Vcc-Vled)/Iled。式中,Vcc为电源电压(+5V),Vled为LED压降(一般取2V左右),Iled为工作电流(可取1~20mA)。R通常取数百欧姆。
我们实验中使用的89C51单片机,其P0~P3口具有20mA的灌电流输出能力,因此可直接驱动共阳极的LED数码显示器。
为了显示数字或符号,要为LED数码显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。
七段发光二极管,再加上一个小数点位,共计8位代码,由一个数据字节提供。各数据
16.2 LED数码显示器的显示方法
在单片机应用系统中,LED数码显示器的显示方法有两种:静态显示法和动态扫描显示法。
16.2.1 静态显示法
所谓静态显示,就是每一个显示器各笔画段都要独占具有锁存功能的输出口线,CPU 把欲显示的字形代码送到输出口上,就可以使显示器显示出所需的数字或符号,此后,即使CPU不再去访问它,显示的内容也不会消失(因为各笔画段接口具有锁存功能)。
静态显示法的优点是显示程序十分简单,显示亮度大,由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。但静态显示也有其缺点,主要是占用的I/O口线较多,硬件
成本也较高。所以静态显示法常用在显示器数目较少的应用系统中。图16-4为静态显示示意图。
图16-4中由74LS273(8D锁存器)作扩展输出口,输出控制信号由P2.0和/WR合成,当二者同时为0时,或门输出为0,将P0口数据锁存到74LS273中,口地址为FEEEH。输出口线的低4位和高4位分别接BCD-7段显示译码驱动器74LS47,它们驱动两位数码管作静态的连续显示。
图16-4 静态显示示意图
16.2.2 动态扫描显示法
动态扫描显示是单片机应用系统中最常用的显示方式之一。它是把所有显示器的8个笔画段a~h的各同段名端互相并接在一起,并把它们接到字段输出口上。为了防止各个显示器同时显示相同的数字,各个显示器的公共端COM还要受到另一组信号控制,即把它们接到位输出口上。这样,对于一组LED数码显示器需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为段码;另一组是位输出口输出的控制信号,用来选择第几位显示器工作,称为位码。在这两组信号的控制下,可以一位一位地轮流点亮各个显示器显示各自的数码,以实现动态扫描显示。在轮流点亮一遍的过程中,每位显示器点亮的时间则是极为短暂的(1~5mS)。由于LED具有余辉特性以及人眼视觉的惰性,尽管各位显示器实际上是分时断续地显示,但只要适当选取扫描频率,给人眼的视觉印象就会是在连续稳定地显示,并不察觉有闪烁现象。动态扫描显示由于各个数码管的字段线是并联使用的,因而大大简化了硬件线路。图16-5为动态显示示意图。
图16-5 动态显示示意图
在实际的单片机系统中,LED显示程序都是作为一个子程序供监控程序调用,因此各位显示器都扫过一遍之后,就返回监控程序。返回监控程序后,进行一些其它操作,再调用显示扫描程序。通过这种反复调用来实现LED数码显示器的动态扫描。
动态扫描显示接口电路虽然硬件简单,但在使用时必须反复调用显示子程序,若CPU 要进行其它操作,那么显示子程序只能插入循环程序中,这往往束缚了CPU的工作,降低了CPU的工作效率。另外扫描显示电路中,显示器数目也不宜太多,一般在12个以内,否则会使人察觉出显示器在分时轮流显示。
16.3做静态显示实验
16.3.1 实现方法
在LED数码管输出试验板上做一个静态显示实验,通电后左边两个数码管静态显示56,右边两个数码管则作累加显示
16.3.2 源程序文件
在我的文档中建立一个文件目录(S16-1),然后建立一个S16-1.uv2的工程项目,最后建立源程序文件(S16-1.asm)。
输入下面的程序:
序号:  1 ORG 0000H
2LJMP MAIN
3 ORG 030H
4 MAIN: MOV 20H,#00H
5 MOV A,20H
6 MOV P3,#92H
7 MOV P2,#82H
8 GOON: CLR C
9 ANL A,#0FH
10 MOV DPTR,#TAB
11 MOVC A,@A+DPTR
12 MOV P0,A
13 MOV A,20H
14 SWAP    A
回馈单元
15 ANL A,#0FH
16 MOVC A,@A+DPTR
17 MOV P1,A
18 ACALL DEL
19 MOV A,20H
20 INC A
windows server 2003
21 DA A
22 MOV 20H, A
23 AJMP GOON
24 DEL: MOV R7,#014H
25 DEL1: MOV R6,#0FFH
26 DEL2: MOV R5,#01FH
27 DEL3: DJNZ R5,DEL3
28 DJNZ R6,DEL2
29 DJNZ R7,DEL1
30 RET
31 ORG 0100H
etrust
32 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H
中国第一个空军司令33 DB 80H,90H,88H,83H,0C6H,0A1H,86H,08EH
34 END
编译通过后,将S16-1文件夹中的hex文件烧录到89C51芯片中,将芯片插入到LED 数码管输出试验板上,通电运行。可看到左边两个数码管静态显示56,右边两个数码管则从00~99作累加显示。
16.3.3 程序分析解释
序号1:程序开始。
序号2:跳转到MAIN主程序处。
序号3:主程序MAIN从地址0030H开始。
序号4:将立即数00H传送给20H单元中。
序号5:将20H单元中的内容传送给累加器A。
许仕龙序号6:将立即数92H送P3口,使最左的数码管显示5。
序号7:将立即数82H送P2口,使左边第二个数码管显示6。
序号8:进位位CY置0。
序号9:屏蔽累加器A中高4位。
序号10:将数据表格的首地址(0100H)存入16位数据地址指针DPTR中。
序号11:查表。
序号12:将累加器A中内容传送给P0输出口,点亮“个”位数码管。
序号13:再将20H单元中的内容传送给累加器A。
序号14:交换累加器A中的高、低4位。

本文发布于:2023-07-08 22:49:42,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/189425.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:显示   显示器   输出   数码
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图