基于51单片机的点阵式LED显示控制

更新时间:2023-04-27 02:33:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

摘要····················································

目录 (2)

第一章绪论 (3)

1.1设计背景知识·····························

1.2研究趋势及发展现状··························

第二章8051单片机的体系结构

2.1 单片机的基本内部资源································

2.2 储存组织·································

2.3 单片机系统外围电路···································

第三章LED电路

3.1 LED简介·······························

3.2 16×16点阵LED原理及应用···································

3.3 LED点阵的显示文字图形的原理···························

3.4驱动方式·································

3.5点阵的移动·····················

第四章系统总体方案·····························

1

摘要

本设计是基于MCS-51的16×16点阵LED电子显示屏的设计。整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制行驱动器74LS154和列驱动器74HC595来驱动显示屏显示。该电子显示屏可以显示各种文字或单色图像,全屏能显示多个汉字、图像、阿拉伯数字等,显示采用动态显示,使得文字等能够实现静止、移入移出等多种显示方式。设计中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。本文的设计是基于单片机系统的基本模块的一部分。LED 点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。本设计主要以AT89C51单片机为核心,采用串行传输、动态扫描技术,来制作的一款拥有多功能的模块化16×16LED点阵的多功能显示屏。

关键词:AT89C51;单片机;LED点阵;显示屏;驱动电路

2

第1章绪论

1.1 课题设计背景知识

当今世界,电子技术迅猛发展,点阵式显示器件作为信息显示的重要媒体,由于LED 电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活在金融证券、体育、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也得到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。该设计广泛涉及了计算机及电子技术中的电源技术,单片机技术,数据通信技术,显示技术,存储技术,系统软件技术,接口及驱动等技术。我国经济发展迅猛,对信息传播有越来越高的要求,可以相信,LED电子显示屏以其大的显示信息量,寿命长,耗电量小,重量轻,空间尺寸小,稳定性高,易于操作,安装和维护等特点,将在社会经济发展中扮演越来越重要的角色。

LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万……几十万个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。

在短短的十来年中,LED点阵显示屏就以亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。LED显示屏的应用涉及社会经济的许多领域,主要包括:1.证券交易、金融信息显示;2.机场航班动态信息显示;3.港口、车站旅客引导信息显示;4.体育场馆信息显示;5.道路交通信息显示;6.调度指挥中心信息显示;7.邮政、电信、商场购物中心等服务领域的业务宣传及信息显示;8.广告媒体新产品等。

1.2 研究趋势及发展现状

1.我国LED产业发展现状

经过多年的发展,我国LED产业链已经日趋完善,企业遍布衬底、外延、芯片、封装、应用各产业环节。纵观整体产业链条,由于上游产业对于技术和资金要求较高,导致国内企业极少涉足,因此产业存在企业数量少,规模小的特点。相比之下,由于下游

3

封装和应用对企业提出的资金和技术要求相对较低,这恰恰与国内企业资金少,技术弱的特点相匹配,因此,国内从事这两个环节的企业数量较多。这种企业结构分布不均的局面导致中国LED产业多以低端产品为主,企业长期面临严峻的价格压力。随着国家半导体照明工程的启动,中国LED产业发展“一头沉”的状态正在发生改变,中国LED上游产业得到了较快的发展,其中芯片产业发展最为引人注目。但单从产业规模看,封装仍是中国LED产业中最大的产业链环节。2006年包括了衬底、外延、芯片、封装四个环节的中国LED产业总产值达到105.5亿元,其中封装环节产值达到87.5亿元。不断扩大的市场需求以及政府的大力支持是保证LED产业发展的有利因素。近几年,诸如显示屏、景观照明、交通指示灯、汽车应用、背光源等LED应用市场迅速兴起。新兴应用市场对LED发光效率要求的不断提升催生了对中高端产品的需求。随着市场需求的增大,LED芯片产业产品升级步伐逐渐加快,LED芯片产品将整体走向高端。另一方面,LED 封装产业的快速发展,也为LED芯片提供了广阔的市场需求,进而为LED产业的发展提供了良好的外部环境。国家对LED产业的发展也给予了大力支持。2006年,根据我国半导体照明产业的发展现状,有关部门制定半导体照明产业发展计划和2006年技术发展路线图提出,对于LED芯片的投资将占LED产业投资的20%,研究重点将放在GaN芯片的生产以及功率芯片的研发上。同时,随着LED芯片生产企业的不断增多,LED芯片产值的增长速度一直高于封装环节,导致芯片产值在我国LED产业产值中所占比重不断提升,由2002年的5.4%上升至2006年的11.3%。由此可见,我国LED产业正在由低端走向高端,向附加值更高、更具核心价值的芯片环节迈进。我国2005年—2007年LED器件、高亮度LED器件、LED芯片、高亮度LED芯片的产量和年增长率。可以看出LED芯片产量从2005年的180亿只上升为2007年的360亿只,保持着较高的年增长率,而高亮度LED芯片在2005年的产量为60亿只,到2007年味210亿只,增长了3.5倍。

2.LED显示屏的发展趋势

我国现阶段的应用市场主要在建筑照明、室内外显示屏,因此,下一波的主力可能还是目前这些市场。但在手机、小尺寸液晶背光、汽车的渗透会加大,另外一些零散市场如特种照明的开拓也会更大(特种照明对成本的要求没有通用照明那么苛刻)。经过前几年的替换,LED交通指示灯已经非常普遍,由于LED的使用寿命较长,短期内很难在出现大规模的替换工作,这就使得交通指示灯对于LED的需求将出现一段低潮期;国内轿车市场庞大,但要求较高,认证周期长,只要有过硬的产品质量,国内车用背光及车灯的LED市场需求非常大,而且这一市场的需求增长比较稳定;而LED显示屏以其易拼装、低功耗、高亮度等优点已经广泛应用到银行、证券、广场、车站、体育场馆中,未来这一市场仍有很大增长潜力;在奥运会、世博会、一些城市夜景工程示范效应的带动以及国家半导体照明工程等众多有利因素的促进下,建筑照明市场依然前景广阔。

4

现代信息社会中,作为人机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。高亮度、全彩化蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。基础材料的产业化。使LED全彩色显示产品成本下降,应用加快。LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时,由于全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品。全彩色LED 显示屏的广泛应用会是LED显示屏产业发展的一个新的增长点。未来LED显示屏会向着标准化、规范化,产品结构多样化的方向发展。

3.课题设计意义

本设计利用单片机对整个系统进行总体控制,进行显示所要显示的汉字和字符。其中显示字模数据有单片机输入显存,点阵的点亮过程有程序控制,由驱动电路完成。点阵采用单色显示,该显示器电路的特点是:点阵的动态显示过程占用时间比较短,亮度均匀。该设计课题使我们能够掌握LED显示屏的基本显示原理和设计方法,对LED 显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了51单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。

目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。因此此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。

5

第二章单片机的系统结构

MCS-51单片机内部包含运算器、控制器、片内存储器、并行I/O接口、串行I/O接口、定时/计数器、中断系统、振荡器等功能等。系统内部结构由8位中央处理器,时钟模块,I/O端口,内部程序循序存储器,内部数据存储器,2个16位定时计数器,中断系统和一个串行通信模块组成,如图2.1所示

51系列单片机内部模块的功能说明如下:

(1)中央处理器:单片机的核心部件,执行预先设置好的程序代码,负责数据的计算和逻辑的控制。

(2)程序存储器:存放程序代码。

(3)数据存储器:存放程序执行过程中的数据。

(4)中断系统:根据设置接受单片机的各中断事件,提交到处理器。

(5)时钟模块:提供整个单片机所需要的各个时钟信号。

(6)可编程串行口:根据设置进行串行数据通信。

6

(7)16位定时计数器:根据设置进行定时或计数工作。

(8)I/O端口:与外部接口部件通信,进行数据交流。

2.1 单片机基本内部资源

2.1.1单片机的内部资源

基于51单片机的内部资源如下:

(1)32个I/O端口,4组8位,可以位寻址。

(2)23个16位定时计数器。

(3)两个外部中断。

(4)5个中断源,2个中断优先级。

(5)一个全双工的异步串行口。

(6)128Bytl以上的RAM。

(7)独立的,可扩展至64KB的ROM。

7

2.1.2 并行I/O口引脚

并行I/O口引脚如下:

(1) P0口—8位双向三态I/O口;使用外存时,分时复用地址线(低8位)数据总线;P0作为通用输出口时2,必须外接上拉电阻;用作输入口时,必须先

把锁存器写入1。

(2) P1口—8位准双向I/O口,只用作通用的I/O口使用;作为输出口时,由于内部有上拉电阻,所以不需要外接上拉电阻;用作输入口时,必须首先向锁

存器写入1。

(3) P2口—8位准双向I/O口;访问外存时只输出地址高8位;

(4) P3口—8位准双向I/O口;每个脚还是具有第二功能,当P3处于第二功能时,单片机内部硬件自动将端口锁存器的Q端置1.如表2.1所示。

P3口相应的端口线处于第二功能,应满足以下条件:

①串行I/O口处于运行状态(RXD,TXD)

②外部中断已经打开(INT0,INT1)

③定时/计数器处于外部计数状态(T0,T1)

④执行读/写外部RAM的指令(RD,WR)

2.1.3控制引脚

控制引脚如下:

(1) RST/V

PD :复位信号输入端/备用电源输入端(当V

CC

电源降低到低电平时,RST/V

PD

端的备用电源自动施加到系统,保证片内RAM中的信息不丢失)。晶振工作后2个机器周期的高电平复位CPU。

(2) ALE:地址锁存信号,用于访问外存时锁存器低8位地址。ALE为晶振6分频。

8

(3) PSEN:外部程序存储器,从程序存储器中取指令或读取数据时,该信号有效。(4) EA:允许访问片内外程序的存储器控制端。当EA=1从内部开始执行程序;当EA=0只访问外程序存储器

2.1.4电源及时钟引脚

电源及时钟引脚如下:

(1) X1:按外部晶体此引脚接地,又是内部振荡器的输入端。

(2) X2:接外部晶体的另一端,又是内部振荡器的输出端。

(3) VCC,VSS:电源和地,+5电源供电,使用TTL电平【6】。

2.2储存组织

2.2.1算数逻辑单元ALU

算数逻辑单元是8位,由加法器和其它逻辑电路(如移位电路、控制门)组成,主要功能是完成算数/逻辑运算,位处理。

2.2.2 寄存器

(1)通用寄存器(8位):4组,8个寄存器R0-R7,R0和R1可用于间接寻址。

(2)特殊功能寄存器(SFR):共有21个。

①累加器A(Acc):8051是累加器结构,所有的运算都是以累加器为一个源操作数和目的操作数。常用于存放与算术或逻辑运算的两个操作数中的一个操作数及运算结果,或用于存放目的操作数。

②累加器B:乘、除指令中的一个操作数,在乘法运算中被乘数放在累加器A中,乘数放在累加器B中,而积的稿8位放在寄存器B中,低8位放在累加器A中。可以作为一般变量使用

③程序状态字寄存器PSW:也称为标志位寄存器,8位寄存器,保存指令执行状态,其状态表如表2.2所示。

Cy:进(借)位标志,保存算数运算的进或接位,位操作的累加器。“1”:当加法或减法运算时,最高位有进位或借位;“0”:当加法或减法运算时,最高位无进位或借位。Cy=1,溢出;Cy=0未溢出

AC:辅助进位标志,“1”:当加法或减法运算时,低4位向高4位有进位或借位;“0”: 当加法或减法运算时,低4位向高4位无进位或借位。常用于BCD码的调整。

9

F0:用户标志,可以使用的位变量,可以随PSW被保存。

RS1,RS0:寄存器组选择如表2.3所示。

M1 M0 方式地址

0 0组0 (00H~07H)

0 1组 1 (08H~0FH)

1 0组

2 (10H~17H)

1 1组 3 (18H~1FH)

OV:溢出标志位,有符号数运算结果超出允许范围OV=1,否则OV=0;计算机在数据处理过程中,OV置位和清零的依据是:

加法运算时,若最高位产生进位,而次高位没有向最高位产生进位;或最高位没有产生进位,而次高位向最高位产生进位时,OV=1否则OV=0.

减法运算时,,若最高位产生借位,而次高位没有向最高位产生借位;或最高位没有产生借位,而次高位向最高位产生借位时,OV=1否则OV=0.

P:奇偶标志位,每个机器周期根据累加器A中的内容的奇偶性由硬件置1复位,A 中1的个数为奇P=1;否则P=0

④堆栈及堆栈指针SP:堆栈(存储区)按先进后出的原则读写数据,堆栈空间用内部RAM(256),用于保护现场和恢复现场。堆栈指针SP为8位寄存器,指示栈顶位置。进栈,SP+1,再压栈;出栈,先出栈再SP-1,MCS-51系统复位后,SP初始化为07H。

⑤数据指针寄存器DPTR:16位专用寄存器,由DPH(数据指针高8位)和DPL(数据指针低8位)组成,用于存储外部数据存储器的存储单元地址。DPTR寄存器间接寻址方式可访问0000H~FFFFH的全部64KB的外部数据存储器的空间。

⑥程序计数器PC(16位):不属于SFR,但有联系,用于存放下一条的指令地址。

2.3 单片机系统外围电路

单片机外围电路一般有两块;时钟电路(如图2.3所示)和复位电路(如图2.4所示)。

时钟电路由一个晶振和两个小电容组成,用来产生时钟频率。

复位电路由一个电阻、按键和一个电容组成,用来产生复位信号使单片机上

10

电的时候复位。

AT89C51单片机芯片内部都有有一个反相放大器构成的振荡器,XTAL1和XTAL2分别为振荡器电路的输入端和输出端。时钟可由内部和外部生成,在XTAL1 和XTAL2的引脚上外接定时元件,内部振荡器就会产生自激振荡。外接元件有晶体振荡器和电容,他们组成并联谐振电路。晶振的振荡频率选择12MHz,C1 、C2的电容取值22PF,具有快速起振、稳定晶振频率和微调频率的作用。

=12MHz,则4个基本周期的具体数值为:

若外接晶振频率为f

osc

(1)震荡周期=1/12uf;

(2)时钟周期=1/6uf;

(3)机器周期=1uf;

(4)指令周期=1,2,和4uf。

单片机有多种复位电路,单片机复位电路的基本功能是:系统上电时提供复位

11

信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分和过程中引起的抖动而影响复位。本系统采用电平式开关复位和上电复位方式,当上电时,C1相当于与短路,使单片机复位,在正常工作时,按下复位时单片机复位,在有时2碰到干扰时会造成错误复位。但是大多数条件下,不会出现单片机错误复位,而可能会引起内部某些寄存器错误复位,在服务端加一个去耦电容,则会得到很好地效果

第3章LED电路

3.1 LED简介

组合型LED点阵显示器以以发光二极体为图素,它用高亮度LED晶粒进行阵列组合后,再透过环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点,

点阵显示器有单色和双色两类,可显示红、黄、绿、橙等。LED点阵有4*4,4*8,5*7,5*8,8*8,16*16,24*24,40*40……多种。根据图素的数目分为:单色、双原色、三原色等;根据图素的颜色不同所显示的文字、图像等内容的颜色也不同,单元色点阵只能显示固定色彩如:红、绿、黄等单色、双原色和三原色点阵显示内容的颜色有图素不同颜色发光二极体变量组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极体的点亮时间,可显示256或更高级灰度显示,即可是实现真色彩显示。

几种LED点阵显示器的内部电路结构和外形规格,其它型号点阵的结构与引脚可实验获得,LED点阵显示器单块使用时,即可代替数码显示数位,也可显示各种中西文字符号。如5*7点阵显示器用于显示西文字母,5*8点阵显示器用于显示中西文。8*8点阵显示器用于显示中文文字,也可用于图形显示。用多块点阵显示器组合则可构成大荧幕显示器,但这类使用装置常通过微机或单片机控制驱动。

由LED点阵显示器的内部结构可知,器件易采用动态扫描驱动方式工作,由于LED 管芯大多为高亮度型,因此某行或某列的单体LED驱动电流可选用窄脉冲,但其平均电流应限制在20mA内,多数点阵显示器的单体LED的正向压降约在2V左右,但大亮点∮

12

10的点阵显示器单体LED的正向压降约为6V。

大荧幕显示系统一般是将由多个LED点阵组成的小模组以搭积木的方式组合而成的,每一个小模组都有自己的独立的控制系统,组合在一起后只要引入一个总控制器控制各模组的命令和资料即可,这种方法既简单而且具有易展、易维修的特点。

LED点阵显示系统中各模组的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示幕的各行进行选通,同时又向各列送出表示图形或文字资讯的脉冲信号,反复以上操作就可显示各种图形或文字通讯。

3.2 16×16点阵LED原理及应用

16*16点阵LED实物如图3.1所示。设计时必须掌握点阵工作原理方能进行更深层设计。16*16LED点阵其实就是4块8*8点阵LED级联而成的,因此特给出8*8的点阵LED的工作原理图。如图3.2为8*8点阵LED外观及引脚图

13

14

其等效电路如图3.3所示,只要其对应的X 、Y 轴顺向偏压,即可使LED 发亮。例如:如果想使左上角LED 点亮,则Y 0=1,X 0=0即可。应用时限流电阻可以放在X 轴或Y

轴。而16*16就是在8*8院里的基础上将四块8*8级联而成,如图3.4所示。

3.3 LED点阵的显示文字图形原理

汉子显示屏用于显示汉子、字符及图像信息,在公共汽车、银行、医院及户外广告等都有广泛的应用。下面是简单的汉字显示屏的操作,由单片机控制汉字的显示内容。为了降低成本,使用了四块8*8的LED点阵发光管的模块,组成了一个16*16的LED点阵显示屏,如图3.5所示。在实际的使用中可以根据这个原理自行的扩展显示的汉字,下面是介绍汉字显示的原理:

LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套驱动电路。以16*16点阵为例,把所有同一行的发光管的阴极连在一起把所有同一行的发光管的阳极连长在一起(共阴极的接法)。先送出对应的第一列发光管亮灯的数据并锁存,然后选通第一列使其燃亮一定的时间,然后熄灭;再送出第二列的数据并锁存,然后选通第二列使其燃亮相同的时间,然后熄灭;······第16列之后,又重新燃亮第一列,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。

显示数据可通过单片机的P0,P2口接驱动电路传输到点阵行引脚。

LED点阵显示模块进行的方法有两种:

(1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该列上哪个LED亮(相当于段码)。能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示出一个完整的图像。

(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):此时用一个P口输出决定哪一个能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列

15

数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧的完整图形。

本设计应用的是第二种的扫描方法,即竖直方向(Y方向)扫描。

每一个字由16行16列的点阵形成显示,即每个字均有256个点阵来表示,我们可以把每一个点理解为一个像素。一般我们使用的是16*16点阵宋体字库,即所谓的16*16,是每一个汉字在纵横各16点的区域内显示的。汉字库从该位置起的32字节信息记录了该字的字模信息。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素内的任何图形。

我们以“习”为例来说明其扫描原理,每一个字由16行16列的点阵组成显示,如下图,如果用8位的AT89C51的单片机来控制,由于单片机的总线为8位,一个字需要拆分成两个部分。一般我们把它分解成左部分和右部分,左部分由16*8(列*行)的点阵组成,右部分也由16*8(列*行)的点阵组成。在本例中单片机首先显示的是左上角的第一行的部分,因为列接阴极,0是亮,1是灭,“习”字的上面两行二进码是11111111,11111111,11000000,00111111,转换成对应的16进制代码是0xFF,0xFF,0xC0,0x03,依次类推,就这样一行一行的扫描。如图3-5所示:

由这个原理可以看到,无论显示何种字体或图像,都可以用这种方法来分析出它的扫描代码从而显示在屏幕上。了解汉字的显示原理之后,下面本论文介绍如何得到汉字的字模信息。现在有一些现成的汉字字模生成软件,可从网上下载汉字字库提取程序直接提取字库,如图3.6所示的为一种字模生成软件,软件打开后输入汉字,点击“检取”后,16进制数据汉字代码即可以自动生成,把我们所需要的竖排数据复制到我们的程序即可。

16

3.4驱动方式

LED点阵的驱动方式可分为静态驱动和动态驱动两种。

静态驱动方式:在静态驱动的有机发光显示器件上,一般各有机电致发光像素的阴极是连在一起引出的,各像素发光只要让恒流源的电压与阴极的电压之差大于像素发光值的前提下,像素将在恒流源的驱动下发光,若要一个像素不发光就将它的阳极接在一个负电压上,就将它反向截止。但是在图像变化比较多时可能出现交叉效应,为了避免我们必须采取交流的形式。静态驱动电路一般用于段式显示屏的驱动上。

动态驱动方式:在动态驱动的有机发光显示器件上,人们把像素的两个电极做成了矩阵型结构,即水平一组显示像素的同一性质的电极是共用的,纵向一组显示像素的相同性质的另一电极是共用的。如果像素可分为N行和M列,就可有N个行电极和M个列电极。行和列分别对应发光像素的两个电极,即阴极和阳极。在实际电路驱动过程中,要逐行点亮或者要逐列点亮像素,通常采用逐行扫描的方式,行扫描,列电极为数据电极。实现方式是:循环的给每行电极施加脉冲,同时所有列电极给出该行像素的驱动电流脉冲,从而实现一行所有像素的显示。该行不在同一行或同一列的像素就加上反向电压使其不显示,以避免“交叉效应”,这种扫描是逐行进行的,扫描所有行所需要时间叫做帧周期。

17

本设计驱动电路由行驱动和列驱动构成。为了充分利用单片机的接口,行驱动电路中加入了一个4-16线译码器74LS154,然后A,B,C,D四角为输入端,形成16种不同的输入状态,行驱动电路(如图3.7所示)。

列驱动由集成电路74HC595构成,它具有一

个8位串入并出的移位寄存器和一个8位输出

锁存器的结构,可以实现在显示本行列数据的

同时,传送下一行的列数据,即达到重叠处理

的目的,列驱动电路如图3-8所示。

18

3.5 点阵的移动

下面以16*16点阵为例介绍点阵的移动。要显示一个字符,该字符的点阵数据可以列向(纵向)16点组字。无论哪一种组字方法,都可以显示字符的水平方向的移动,又可以显示竖直方向的移动。本设计主要显示方式是所有字符一一静态卷帘显示,上下滚动,左右滚动。

1.向上滚动原理

(1)列扫描方式向上移动

列向组字显示字符竖直方向的移动。若是列向数字,希望显示向上移动的一个字符,第一次扫描从行码的点阵数组中取第1-16个数据,送行码输出口,对应这16个数据,同时用列码输出口输出列码,分别控制扫描第1-16列。由于是列向组字(上下高低),扫描完成这16个数据后,第2次扫描的16个数据,应将原来的第一个扫描的16个行码每一个都循环右移一位,使显示的点都上移一行(如果显示下滚动则应循环左移),在进行扫描。如此,没进行下一次的扫描,把上一次的16个行码都循环右移一位,在进行扫描就实现了数据向上移动。

也可以用字形的方法容易理解,下面的16*16的LED显示一个字是8个字型,首先扫描的而是第一个字型,同样是16行,16列扫描,16次显示:完成一个字型后,在扫描第二个字型,完成第二个字型后,再扫描第三个字型…………以此类推,即可产生改文字向上的感觉。当把第一个字型编码中,每行显示的数据都右移一位,以产生第二个字型编码,即可产生字符向上滚动的感觉。

当第一个字符扫描完成后,就进行这样的调整动作,以产生第二个字型编码。同样的,当第二个字型完成后,就进行这样的=调整动作,以产生第三个字型的编码。调整的动作是先将8个编码根据序号填入存储器。

(2)行扫描方式上下移动

方法1:延长数组法。如果是行向数字,希望显示向上移动一个字符,第1次扫描从列码的点阵数组中取第1-16个数据,送列码输出口,对应于这8个数据,同时用行码输出口输出行码,分别控制扫描第1-16行。第2次扫描从点阵数组中取第2-17个数据(第17个数据与第1个相同),分别送列码输出口,对应于这16个数据,同时用行码输出口输出行码,仍分别控制第1-16行。第三次扫描从点阵数组中取第3-18个数据(第18个和第2个相同)扫描……以此类推,如此就可以实现了字符的向上移动。

方法2:数组数据“循环左移法”。实现数组数据循环左移法的方法与上面类似。也有用数组数据循环左移子程序:不用子程序,而是用变量判断控制实现数组数据的循环

19

左移。

2.向左移动原理

(1)列扫描方式左移动

方法1:延长数组法。将原来字符点阵数组的16个数据重复一遍延长,点阵属猪的数据个数为32个。每扫描一帧取8个数据显示,下一帧取数要在数组中后移一个数取数。循环一遍扫16帧。可以假象有两块16*16的点阵模块(共32帧)水平平行排列,用一个恰好能罩住16列点阵的中控方框去罩这个点阵,第1罩(第1帧)往最左边数起第1列开始的16列,就扫描显示这16列;第2罩(第2帧)使方框右移一列,罩住从左边数起第2列开始的16列,就扫描显示这16列……以此类推,这样每扫描完一帧使方框右移一列;最后第16罩(第16帧)时,罩住左边数起的第16列开始的16列,就扫描显示这16列。如此完成16帧画面的扫描显示,也就完成了整个一次移动循环扫描,之后反复循环,即刻呈现显示字符沿水平向左移动的图像,如图3.9所示:

因为是列向数字(列扫描方式,点阵数据为行码,上面为低位,上面为高位),希望显示移动的一个字符,第1次扫描从行码的点阵数组中取第1-16个数据,送行码输出口,对应于这8个数据,同时用列码输出口输出列码,分别控制第1-16列。扫描完前16个数据之后,第2次扫描从点阵数组中取第3-18个数据(第18个数据与第1个数据相同),送行码输出口,对应于这16个数据,同时用列码输出口输出列码,扔分别控制扫第1-16列。第3次扫描从点阵数组中取第5-20个数据(第20个数据和第2个数据相同)扫描……如此实现字符向左移动。

以上完成一个图形移动的方法,也可以看成是移动16个不同的字形。(如图2.13所示),首先扫描第1个字型,同样是16行,16次扫描,16次显示;完成一个字型的扫描之后,再扫描第2个字型;完成第2个字型扫描之后,再扫描第3个字型……以此

20

类推,即可产生改文字的左移感觉。

也就是把第1个字型的编码中,第1列显示数据,变成第2列显示数据;第2列显示数据变成第3列显示数据,第3列显示数据变成第4列显示数据……以此类推。

当第1个字型扫描完成结束后,就进行这样的动作调整,以产生第2个字型的编码。同样的,当第2个字型扫描完成之后,就进行这样的调整动作,以产生第3个字型的调整编码。调整这个动作时,先将16个编码根据序填入储存器,例如第1行编码存入20H,第2行编码存入21H……要进行左移调整时,则先将20H地址的数据转移到36H地址,再将21H的数据地址转移到20H地址,再将22H数据的地址转移到21H地址,再将23H 的地址转移到22H的地址,将24H地址的数据转移到23H的地址,到36H地址,再将21H 地址的数据转移到20H地址,将22H的地址的数据转移到21H的地址,将23H的地址数据转移到22H地址,将24H的地址数据转移到23H的地址,再将25H的地址数据转移到24H的地址,将26H的地址数据转移到25H的地址,将27H的地址数据转移到26H地址……

方法2:数组数据“循环左移法”。注意,不是把二进制数据按位循环左移,而是把数组中的数据按其在数组中的位置循环左移,具体方法如下:

原先字符点阵数组中的16个数据不延长,但下一帧的16个数据,是把上一帧的16个数据的位置(先后顺序)“循环左移”一次,即原来的第2个移到第1个,原来第3个移到第2个,原来的第4个移到第3个……原来的第1个移到第16个。实现数组数据循环左移的方法有:第一遍“数组数据循环左移子程序”,该子程序每执行一次,可把数组中的数据循环左移一次,主程序中先调用一次该子程序,这时数组中的诗句循环左移一次,然后再从数组中取数据显示。当数组中的数据个数较多时,片内的RAM将不够大,必须将数组定义在片外RAM:第二遍,不用子程序,而是用变量判断控制,实现数组数据的循环左移。

(2)行扫描方式左移

行向组字显示字符水平方向的左移。如果是行向数字(行扫描方式,点阵数据为列码,左边为低位,右边为高位),希望显示向左移动一个字符,第一次扫描从列码的点阵数组中取第1-16行。扫描完成这16个数据之后,第2次扫描的第16个数据,应将原来的第1次扫描的16列码每一个都循环右移一位(如果使显示右移则应循环左移),再进行扫描。如此,没进行下一次扫描,把上一次扫描的16个列码都循环右移一位,在进行扫描。

数据的右移与数据的左移相似,只是取码的顺序相反而已,在此就不再作过多叙述。

本设计应用的是数组方法实现动态移动。

21

本文来源:https://www.bwwdw.com/article/6hrq.html

Top