基于AT89C51单片机的LED点阵显示屏的制作方法

文档序号:12843540阅读:1301来源:国知局
基于AT89C51单片机的LED点阵显示屏的制作方法与工艺

本实用新型涉及LED显示屏领域。



背景技术:

LED点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。同时也可广泛应用到军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业。

LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。由于它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点,在国外得到了广泛的应用。目前也有公开的文献和在售产品以AT89C51作为主控制模块,但是在精度和可靠性方法,仍存在问题,需要改进。



技术实现要素:

本实用新型所要解决的技术问题是实现一种以AT89C51作为主控制模块、电路结构精简、运行稳定可靠的LED点阵显示屏。

为了实现上述目的,本实用新型采用的技术方案为:基于AT89C51单片机的LED点阵显示屏,所述AT89C51单片机输出显示信息至驱动控制电路,所述驱动控制电路输出驱动信号至LED屏显示电路,所述AT89C51单片机的引脚18、引脚19和引脚20连接时钟电路,所述时钟电路由一个12M的晶振和两个30P 的小电容组成,所述AT89C51单片机的引脚40、引脚31和引脚20连接复位电路,所述复位电路由22UF的电容和1K的电阻及1N4148二极管组成。

LED屏内设有温度传感器,所述温度传感器信号输出端连接AT89C51单片机的引脚1。

所述AT89C51单片机电源输入端接5V电源,电源电路在AT89C51单片机的 VCC和地之间接一个电容,且电容要紧靠单片机安装。

所述AT89C51单片机的信号输入端连接RS232远程通信单元。

所述AT89C51单片机经I2C总线连接AT24C256存储单元。

本实用新型以单片机AT89C51作为控制器来实现LED点阵显示屏系统,电路结构精简、运行稳定可靠、降低了控制部分的制作成本,能够有效提高产品性能。

附图说明

下面对本实用新型说明书中每幅附图表达的内容作简要说明:

图1为AT89C51单片机引脚排列图;

图2为AT89C51最小系统框图;

图3为显示驱动电路示意图;

图4为温度测量模块接口电路示意图;

图5为时钟模块AT89C51晶振电路示意图;

图6为复位电路示意图;

图7主控制单元和辅助控制单元模块示意图。

具体实施方式

AT89C51是一种低电压、高性能CMOS8位微控制器,片内含4Kbytes的可反复擦写的只读程序存储器和128bytes的随机存取数据存储器,AT89C51采用高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,其强大的功能为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。基于以上理由,选择AT89C51。

AT89C51具有以下标准功能:兼容MCS-51内核单片机,4KB可在线编程 Flash存储器,128×8bit内置RAM,ROM三级加密模式,32位可控I/O引脚,2个16位的定时/计数器,2个数据指针,2个16位的时钟源,6个中断源,1 个全双工UART串行接口。图1是AT89S51各个引脚排列图。

如图1所示,AT89C51管脚说明:

VCC:供电电压。

GND:接地。

PO口:PO口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当 P1口的管脚第一次写入1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,PO口作为原码输入口,当FIASH进行校验时,PO输出原码,此时PO外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向1/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示:

P3口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2(外部中断0)

P3.3(外部中断1)

P3.4TO(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6(外部数据存储器写选通)

P3.7(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接受一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE 只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。

当保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源。

XTAL 1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

单片机的最小化系统是指单片机能正常工作所必须的外围元件,主要可以分成时钟电路和复位电路,我们采用的是AT89C51芯片,它内部自带4K的FLASH 程序存储器,一般情况下,这4K的存储空间足够我们使用。单片机的时钟电路有一个12M的晶振和两个30P的小电容组成,它们决定了单片机的工作时间精度为1微秒。复位电路由22UF的电容和1K的电阻及1N4148二极管组成,这样在满足单片机可靠复位的前提下降低了复位引脚的对地阻抗,可以显著增强单片机复位电路的抗干扰能力。二极管的作用是起快速泄放电容电量的功能,满足短时间多次复位都能成功。

如图2所示,LED显示屏控制系统以AT89C51为控制器,采用RS-232通信标准,可显示汉字、字符、数字或单色图片。系统采用ATMEL公司新推出的AT89C51 作为主控芯片,由单片机完成与PC机的通讯,同时完成数据存储、循环显示等。系统能脱机运行,具有结构简单、维护方便、显示刷新速度快、成本低等特点。

理想的LED驱动方式是采用恒压、恒流方式,但驱动器的成本会增加。其实每种驱动器都有优点和缺陷,根据产品的要求和应用场合,合理选用LED驱动方式,精确设计驱动电路成为关键。

本实用新型,显示驱动电路选用74HC595芯片。74HC595是带锁存输出的8 位串行移位寄存器,其中SI是串行数据的输入端;VCC、GND分别是电源和地; RCK是储存寄存器的输入时钟,SCK是移位寄存器的输入时钟,SCLR是移位寄存器的输入清除,QˊH是串入数据的输出,G是对输入数据的输出使能控制,QA~ QH是串入数据的并行输出端。74HC595是串行输入并行输出的8位移位寄存器,而移位寄存器是由D触发器构成的。在本设计中,16×16点阵显示屏有16列,所以需要16个D触发器构成的移位寄存器,通过两片74HC595芯片的级联构成控制16列的移位寄存器输出端是8位并行缓存器具有锁存功能。如图3所示。由于CLK、LOAD端相连,而数据线分开,这样在同一脉冲下,行列的数据可以同时进行传入,行列数据准备好后,启动LOAD信号使所有数据同时输出并锁存,这样的设计较之传统方法提高了4倍的速度,占用I/O口少。

LED显示屏驱动电路的设计,与所用控制系统相配合,通常分为动态扫描型驱动及静态锁存型驱动二大类。以下就动态扫描型驱动电路的设计为例为进行分析:动态扫描型驱动方式是指显示屏上的4行、8行、16行等n行发光二极管共用一组列驱动寄存器,通过行驱动管的分时工作,使得每行LED的点亮时间占总时间的1/n,只要每行的刷新速率大于50Hz,利用人眼的视觉暂留效应,人们就可以看到一幅完整的文字或画面。常规型驱动电路的设计一般是用串入并出的通用集成电路芯片如74HC595或MC14094等作为列数据锁存,以8050 等小功率NPN三极管为行驱动,而以达林顿三极管如TIP127等作为行扫描管。如动态扫描型驱动方式是指显示屏上的4行、8行、16行等n行发光二极管共用一组列驱动寄存器,通过行驱动管的分时工作,使得每行LED的点亮时间占总时间的1/n,只要每行的刷新速率大于50Hz,利用人眼的视觉暂留效应,人们就可以看到一幅完整的文字或画面。常规型驱动电路的设计一般是用串入并出的通用集成电路芯片如74HC595或MC14094等作为列数据锁存,以8050等小功率NPN三极管为列驱动,而以达林顿三极管如TIP127等作为行扫描管。如以单色点阵、16行×64列为一个基本单元,则需用8片74HC595、16个行扫描管,其工作原理为:将八片74HC595级连,共用一个串行时钟CLK及数据锁存信号 STR。当第一行需要显示的数据经过8×8=64个CLK时钟后将全部移入74HC595 中,此时产生一个数据锁存信号STR,使数据锁存在74HC595的后级锁存器中,同时由行扫描控制电路产生信号使第一行扫描管导通,相当于第一行LED的正端都接高平,显然第一行LED管子的亮、灭取决于74HC595中所锁存的信号;在第一行LED管子点亮的同时,在74HC595中移入第二行需要显示的数据,随后将其锁存,并同时由行扫描控制电路将第一行扫描管关闭而接通第二行,使第二行LED管子点亮……以此类推,当第十六行扫描过后再回到第一行,只要扫描速度足够高,就可形成一幅完整的文字或图像。

如图4所示,温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器,测温范围为-55℃~125℃,可编程为9位~12位A/D转换精度,测温分辨率达到0.0625℃,采用寄生电源工作方式,CPU只需一根口线便能与 DS18B20通信,占用CPU口线少,可节省大量引线和逻辑电路。

单片机是一个超大规模的集成电路,集成电路内有成千上万个晶体管,要使单片机正常运行,就必须为其提供能量使其工作在相应的状态。单片机需要一个5V电源,电源电路需要在单片机的VCC和地之间接一个电容,且此电容要紧靠单片机安装,以滤除电源的纹波。本实用新型中电源模块采用78L05三端集成稳压器,其固定电压为5V,可以和其它功率转移器件一起构成大电流的稳压电源,如可驱动输出电流高达100毫安的稳压器.其卓越的内部电流限制和热关断特性使之特别适用于过载的情况。

78L05的特性如下:

三端稳压器

输出电流可达到100mA

无需外接元件

内部热过载保护

内部短路电流限制

78L05与桥式整流器构成200W/5V的直流稳压电源电路如图5所示。

与任何微处理器一样,AT89C51的运作是有节奏的,因此,就需要一个时钟来控制CPU的运行速度,步进执行各种操作。如图6所示的时钟电路即可以完成此种操作。

AT89C51单片机的P1.4,P1.5,P1.6和P1.7作为键盘输入,其

控制功能介绍如下:

KEY1:显示中文字符

KEY2:显示英文字符

KEY3:将现行显示的内容(汉字或英文)进行右移(也可左移,可以自行在程序中修改)显示;

KEY4:将现行显示的内容(汉字或英文)实现动态的显示效果

由于键盘的电路和原理都比较简单,而且本次键盘个数较少,未用到矩阵式键盘组合,因此在此对键盘的介绍将省略。

整个控制系统在运行时,上位机(PC机)为了对控制系统的运行参数和运行结果进行控制,必须在PC机和数字控制器系统之间建立信息交换渠道,也就是要构造通信总线。总线是一组传送规定信息的公共通道,有时亦称为数据公路,通过它可以把各种数据和命令传送到各自要去的地方。总线按照通用与否可以分为非标准型和标准型总线,标准总线一般是由国际计算机或计算机相关行业推荐的,有严格的电气、握手连线规则的具有很强通用性的总线,如:RS-232-C, STD总线等,非标准总线,则是设计者为了设计方便,而为某个特定功能而设计的总线,该类总线一般没有通用性,总线通信效果的好坏也和设计者的水平有很大的关系。

由于上位机采用PC机,PC机的总线接口都为标准总线接口,所以,上、下位机之间的通信必须采用标准总线。本系统中,大部分的计算都在下位机执行,上、下位机的通信并不是非常繁忙,所以,设计时选用了通用的串行总线RS-232。 RS-232总线,设计简单,连线方便,容易调试,在没有调制解调器的情况下最大传输距离可以达到50英尺。在本系统中,通过串口需要传输给下位机控制信号,下位机也在设定的间隔时间向上位机传递其运动状态。在应用中,由于 RS-232电平与TTL逻辑电平不同,上下位机之间的通信需要信号进行一定的转换。设计串口通信模块时,由于AT89C51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。

图6复位电路,由四部分组成:

1、或非门U1、U2与R1、R2、C3构成高低电平相间的矩形波振荡电路。

当U3的输出端Q=H时,复位信号无效,当Q=L时,复位信号有效。复位信号有两个,是为了适应不同的CPU及接口芯片。

2、Vcc检测电路。

U4与R3、R4、R5、Z1等构成VCC检测电路,只要Vcc<4.75V,那么比较器同相端电压V2<2.5V,输出V7=L,U3的CLR=L,则Q=L,U5的输出由U5的13脚决定,因该脚是矩形波信号,故经取非后输出也是矩形波信号,此时复位信号有效。

3、R8、C1构成延时电路。

当Vcc>4.75V时,最初一段时间内,因C1电压不突变,故U3的CLR=1,复位信号有效。这段时间是为了保证微机系统的晶振稳定振荡后才允许CPU工作

4、U3、R9、C2与PULSE IN构成CPU运行监视单元,即WATCHDOG电路。

U3是一单稳态触发电路芯片,在电源正常后,引脚2、3为高电平,引脚1 为输入信号PULSE IN。该信号由CPU提供,只要在时间T(T由R9、C2决定) 内有负脉冲出现,则U3输出Q端一直为高电平。此时或非门U5的输出端一直为低电平,复位信号无效。若在时间T内没有负脉冲出现,则U3输出Q端为低电平,U5的输出由其此脚13决定,复位有效。在电源正常后CPU开始运行,程序中具有这样的功能:在时间T内使PULSE IN产生一个负脉冲,只要程序正常运行,就不会产生复位。一旦当CPU运行脱离正常流程,则没有负脉冲产生。在超过时间T后Q端变为低电平,复位信号有效,使CPU重新接预定程序运行。此电路虽然工作可靠,但电路比较复杂。

为了能将系统所设定的常数,如更新的站点信息,设定的定时显示时间在系统掉电之后仍能恢复,在设计时必须考虑将常数保存起来。由于AT24C256单片机片内没有EEPROM,须采用外部扩展方式。在系统的设计过程中,为了取得较大的系统余量,常采取存储芯片AT24C256,按照16×16的点阵来算,可以存储1000个字符,对于一个客车广告屏屏来说容量已经足够。

AT24C256接口采用I2C总线接口方式。I2C总线是一种用于IC器件之间连接的二线制总线。连接总线的器件的输出必须是集电极或漏极开路,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。它通过SDA(串行数据线)及SCL(串行时钟线)两根线和连在总线上的上位机进行通信,并根据地址识别每个器件。采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂

靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统既简单又灵活的扩展与控制。

用PC机实现的主要功能包括单片机显示子系统的(选择显示方式选择,包括静态、闪动、滚动、打字等),滚动方向选择(包括上下滚动和左右滚动),动态显示速度调节(即文字闪动频率、滚动速度、打字),显示速度等。显示采用定时器中断方式进行行扫描,每次中断显示一行,定时中断时间为1.25ms,这样整屏的刷新率为50Hz,因而无闪烁感实现动态显示速度调节的方法通常是改变定时器的中断时间,但是当显示速度很慢的时候,该方法容易使整屏的刷新率降低,从而使显示内容出现闪烁。因此,本设计采用一种“软定时”方法,即在程序中命名一个变量作为“软定时器”,以用来设定两次动态显示的时间间隔。在对定时中断调用计数时,如果调用次数达到设定值,则改变显示内容。为保证能够正常显示,“软定时器”的设定值必须大于整屏显示周期。

由于显示屏每行显示1.25ms,整屏显示周期为20ms,考虑到余量的情况,可将软定时器的设定值定在大于30ms。如此循环计数,即可实现动态显示。“软定时器”的设定值可以通过上位机PC机来改变,这样既可实现LED动态显示的速度调节,又可保持显示内容的流畅和无闪烁感。以上提到的静态、闪动、滚动和打字等4种显示方式,实际上是单片机定时中断程序进行行扫描处理的不同方法。

下面将分别说明如何实现这4种显示方式:

1、静态显示。

静态显示只需在定时中断处理程序中从显示缓冲区调入相应的一行显示数据,然后选中该行即可实现该行的显示,如此循环,便可显示整个内容。

2、闪动显示。

闪动显示与此类似,不同的是要间隔一个“软定时器”的定时时间,在行扫描时,行移位寄存器的D端打入的数据全为0,可使得整屏不显示,以确保黑屏的时间与显示当然时间相等,从而实现汉字或图符的闪动显示。

3、滚动显示。

滚动显示要求需要显示的内容每隔一定时间向指定方向这里以从右向左为例移动一列,这样显示屏可以显示更多的内容。为此,需要在下次移动显示之前对显示缓冲区的内容进行更改,从而完成相应点阵数据的移位操作。具体操作方法是:设置一个显示缓冲区,该区应包括两部分,一部分用来保存当前LED 显示屏上显示的汉字点阵数据;另一部分为点阵数据预装载区,用来保存即将进入LED显示屏的1个汉字的点阵数据。滚动指针始终指向显示屏的最右边原点。当滚动指针移动到需要显示的点阵数据存储区的第1个汉字的首地址时,内容。需要注意的是,要确保该操作能在1.25ms的中断时间内完成(这里 AT24C256采用24MHz晶振实验证明可以实现该操作)。这样,在一个扫描周期后,整个汉字将左移一列,而显示缓冲区的内容也同时更改。由于预装载区保存了1 个汉字点阵数据,即16×16点阵,所以当前显示缓冲区的内容只能移动16列。当下一个滚动到来时,滚动指针将移动到点阵数据存储区的下一个汉字的首地址,并在预装载区存入该汉字的点阵数据。然后重复执行上述操作便可实现滚动显示。特殊字符或图形的显示与此类似,这里不再赘述。

4、打字显示。

打字显示要求汉字在显示屏上按从左到右的顺序一个个的出现,如同打字的效果。设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即LED显示空白,然后每间隔一个“软定时器”设定的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到打字显示的效果。

本系统采用的AT24C256单片机是新一代增强型8051单片机,用该单片机作为系统的中央控制单元,负责产生和控制扫描信号、读出显示缓冲区的数据送给扫描驱动电路,使LED点阵屏按照一定的要求显示。根据设计要求,显示方式要具有掉电存储功能,因此,在单片机外围电路加上I2C总线的EEPROM,利用单片机外部中断功能检测出来所需要的显示方式,并把它存储在该EEPROM 内,这样,即使断电显示方式也仍然存储在该EEPROM里面,单片机再重新读取该EEPROM里面的内容,也就是断电前的显示方式。大大丰富了系统功能,提高了系统的可操作性。利用该系统,可以实现静态显示、动态显示和定时显示控制。DS1302为时钟芯片,为显示准确的时间;DS18B02是温度控制芯片,显示车内的温度;AT24C256是容量为256Kbit的E2ROM,用来保存扫描方式的数据的信息,以及广告信息和更新广告信息等其它待显示的信息。RS232通信模块用来更新显示信息和升级系统。整个系统由两大模块组成:主控制单元和辅助控制单元模块,其框图如图7所示。

制造大屏幕时,首先要按照亮度指标选择LED或者显示模块,其次是根据选择的产品红、绿、蓝颜色的亮度比来确定哪一种颜色为基准,一般是将亮度比例低的一种作为亮度基准,当基准的一种己经达到最大亮度时,调整另外一种(双色)或两种(全彩)。显示屏幕是双色时,大多数情况下以绿色为基准,调整红色二极管的工作电流。一般是降低工作电流,以平衡颜色黄色为调整标准,这样就要减小整个显示屏幕的亮度。显示屏的颜色调整至最佳平衡状态,则会使屏的亮度降低。如果显示屏幕为了达到亮度要求,将每一种颜色都达到最大的亮度,那么就失去了颜色的平衡,例如:双色屏幕的黄颜色偏红,或者偏绿。

TTL输出低电平约为0.4V,若作灌电流输入,正常的最大灌入电流为35mA,当超过此电流时,输出低电平升高,随着电流的增加,输出低电平不断升高,即有输出电压大于0.4V电路仍工作正常。在显示扫描电路中,工作电流为20mA 可以满足控制红色的要求,因为红色LED的亮度比较高;绿色LED的工作电流要高于20mA,电流约在30-50mA之间,此时,74HC595的输出电压也要增加,其原因是74HC595有输出电阻,而且是非线性变化。

扫描电路以动态扫描、静态驱动的方式工作。显示屏的扫描频率受到显示模块结构的限制,每个模块有8X8个LED,整个显示屏模块的行数据全部串联,更新一次数据时间比较长,当扫描频率为100Hz时,整屏的亮度就会降低。若降低屏的扫描频率,显示亮度降低。实验证明,描扫频率与颜色的关系比较小。

上面结合附图对本发明进行了示例性描述,显然本实用新型具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本实用新型的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1