51单片机LED点阵屏显示设计文档格式.docx
《51单片机LED点阵屏显示设计文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机LED点阵屏显示设计文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
本文介绍的客车广告屏屏系统是智能交通系统的一部分,它是利用先进的显示、及通信等技术手段,动态地、实时地显示公交车的站点信息,最大限度的提高公交车站牌的信息显示量。
本系统采用的STC89C516RD+(宏晶科技)单片机是新一代增强型8051单片机标准的制定者,致力于提供满足用户需求的世界级高性能单片机技术,在业内处于领先地位,销售网络覆盖全国。
在保证质量的基础上,以极低的价格和完善的服务赢得了用户的长期信赖。
在广受欢迎的STC89C51全系列单片机的基础上,现全力推出“1个时钟/机器周期”的单片机,全面提升8051单片机性能。
用该单片机作为系统的中央控制单元,负责产生和控制扫描信号、读出显示缓冲区的数据送给扫描驱动电路,使LED点阵屏按照一定的要求显示。
根据设计要求,显示方式要具有掉电存储功能,因此,在单片机外围电路加上I2C总线的EEPROM,利用单片机外部中断功能检测出来所需要的显示方式,并把它存储在该EEPROM内,这样,即使断电显示方式也仍然存储在该EEPROM里面,单片机再重新读取该EEPROM里面的内容,也就是断电前的显示方式。
结合KEIL软件编程,实现了PC机通信、控制界面以及安全措施,从而大大丰富了系统功能,提高了系统的可操作性,使达到交互式与智能化,符合未来交通系统智能化、网络化的发展方向。
利用该系统,可以实现同一站牌不同方向客车站点的静态显示、动态显示和定时显示控制,另外用来应对交通突发事件,作为应急告示,达到疏散交通,保护人们安全的目的。
设计时考虑到系统的扩展加上升级模块,可以实现系统的远程升级;
加上公交车到站时间预测模块,可以预测到公交车到站的时间,方便行人;
加上网络模块,可以连接互联网,直接通过互联网进行控制,也为以后的智能交通打下基础。
2LED点阵显示的理论基础
LED点阵显示的基础理论包括光电子学、半导体器件、数字电子电路、大规模集成电路、单片机及微机等各个方面,既有硬件又有软件。
上述各个领域都有自成体系,本文无法一一尽述,只能以显示屏为主线进行讨论,主要阐述了LED器件的应用基础和工作原理,以及LED点阵模块的构成和工作原理。
2.1LED器件的应用基础
LED器件种类繁多。
早期LED产品是单个的发光灯,随着数字化设备的出现,LED数码管和字符管得到了广泛的应用。
LED发光灯可以分为单色发光灯、双色发光灯、三色发光灯、面发光灯、闪烁发光灯、电压型发光灯等多种类型。
按照发光灯强度又可以分为普通亮度发光灯、高亮度发光灯等。
LED发光灯的外形由PN结、阳极引脚、阴极引脚和环氧树脂封装外壳组成。
其核心部分是具有注入复合发光功能的PN结。
环氧树脂封装外壳除具有保护芯片的作用外,还具有透光聚光的能力,以增强显示效果。
LED器件通常用砷化镓(GaAs)、磷化镓(GaP)等半导体材料制成。
当向LED器件施加正向电压时,器件内部的电子与空穴直接复合而产生能量,以光的形式释放出来,产生半导体发光。
因此LED的驱动就是如何使它的PN结处于正偏状态,而且为了控制它的发光强度,还要解决正向电流的调节问题。
具体的驱动方法可以分为直流驱动、恒流驱动、脉冲驱动和扫描驱动等[2]。
2.2LED点阵模块
显示单元(Displayunit)由电路及安装结构确定的并具有显示功能的器件组成LED显示屏的最小单元,也叫点阵显示模块。
点阵显示屏是由上万个或几十万个LED发光二极管组成,每个发光二极管称为一个像素。
为了取得良好的显示一致性并简化器件结构,八十年代以来出现了组合型LED点阵显示器,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成,即所谓的点阵模块。
点阵模块具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。
按照颜色的不同分为单基色、双基色和三基色三类,可显示红、黄、绿、蓝、橙等颜色。
按照点阵规模大小分有4×
4、4×
8、5×
7、5×
8、8×
8、16×
16、24×
24、32×
32、40×
40等。
按照像素的直径大小分有φ3、φ3.75、φ5、φ10、φ20等。
(a)外部结构
(b)内部结构
图18×
8点阵结构
图1为8×
8单基色点阵的结构图,从内部结构可以看出8×
8点阵共需要64个发光二极管,且每个发光二极管是放置在各行和列的交叉点上。
当对应的某一列置高电平,另一列置低电平时,则在该行和列的交叉点上相应的二极管就亮。
LED显示屏就是由若干个点阵模块组成的,它通过一定的控制方式,就可以显示文字、文本、图形、图像、动画等各种信息,以及电视、录像信号。
3方案设计
从前两节的论述中可以看出LED点阵显示技术已经相当成熟。
实现方案非常多。
本文要设计的是客车内LED点阵显示屏,根据客车内的特殊环境,选择方案时就要考虑公交车的车身尺寸、震动、温度等对显示屏的影响,以及客车内电源的局限性,为了节约电能,采用太阳能电池供电,就要使显示屏功耗降到最低。
3.1显示方案
根据论文的设计要求,本文提出了以下几种方案,对比论证,选取较合适的方案。
(1)CRT监视器设计方案:
在站牌出安装一小型彩色监视屏,将站点信息显示在CRT监视器上,供行人查阅。
站点信息放在存储器内,通过无线广播的方式进行数据更新。
这种方案的优点:
是成本比较低,可以采用淘汰下来的电视机作为监视器;
缺点是:
耗电量巨大,CRT显示器在阳光下的显示效果不理想。
(2)LED点阵显示屏设计方案:
整个站牌由LED显示屏构成,站点信息在点阵屏幕上显示,并且可以以静态的方式固定显示站点或者以动态的方式轮流显示所有的站点。
系统通过RS485或者互联网进行更新、升级。
这种方案的优点是:
成本相对比较低廉,能及时动态的显示站点信息,显示的信息容量也比较大,便于远程控制和升级。
受目前LED显示技术的限制,对于图像和视频显示的效果不是很理想。
(3)液晶显示器(或者等离子)设计方案:
由液晶(等离子)显示器构成站牌,不但能显示站点信息,还可以显示图象或者视频信息,站点信息经过专用电缆或者互联网络传送。
这种方案的优点是能在有限的站牌上显示更多的信息,尤其是图像和视频信息,缺点是成本太高,数据传输量巨大,不适合推广使用。
通过比较上述三种方案,可以发现LED点阵显示方案有很大的可行性,而且其系统的升级也比较方便,便于推广使用,适应现代化建设的发展需求。
3.2控制电路方案
控制电路有两种选择,数字电路控制和CPLD控制。
数字电路控制的原理是LED点阵显示屏由单片机控制电路和显示驱动电路两大部分组成,一般的单片机控制部分采用ATMEL公司的51系列单片机,考虑到它的ROM相对较小,这里采用增强型的51单片机STC89C516RD+(宏晶科技)单片机,显示驱动部分由16片8×
8LED点阵模块和相应的驱动电路组成,位码扫描信号和段码信号都有单片机提供。
由CPLD器件组成的控制电路,具有很高的可靠性和设计灵活性,所实现的显示效果样式较多,但采用可编程逻辑器件CPLD的设计成本相对较高。
由于采用由单片机组成的控制电路已能完成设计的要求,且其性价比要优于采用由CPLD组成的控制电路。
因此,本文采用前者作为控制电路。
3.3系统框图
整个系统由两大模块组成:
主控制单元和辅助控制单元模块。
其框图如下所示。
图2主控制单元结构框图
图2为主控制单元结构框图,它主要完成的功能是LED点阵的显示和定时显示控制。
DS1302为时钟芯片,为显示准确的时间;
DS18B02是温度控制芯片,显示车内的温度;
AT24C256是容量为256Kbit的E2ROM,用来保存扫描方式的数据的信息,以及广告信息和更新广告信息等其它待显示的信息。
RS232通信模块用来更新显示信息和升级系统。
4系统硬件设计
4.1显示屏驱动显示电路
显示屏分成屏体和控制器两部分,屏体的主要部分是显示阵列以及有行列驱动电路。
根据安装环境的空间以及考虑成本造价,决定使用多大尺寸的显示屏,从而决定了显示模块的数量,这里以8×
8点阵为例,模块单位为256点阵,即需要16块点阵模块,如图4示。
汉字一般是256点阵,那么该屏可以一次显示4个汉字。
采用扫描方式进行显示时,分成两步,对于每行有一个行驱动器,各行的同名列共用一个列驱动器,由单片机给出行选通信号,从第一行开始依次对各行进行扫描,对于列,根据各列所存数据,确定相应的列驱动器是否将该列与行接通,如果接通,那么该行该列的LED将亮,以同样方法进行显示全部各行都扫描一遍之后(一个扫描周期),再从第一行开始,进行下一个周期的扫描。
只要一个扫描周期的时间比人眼1/25秒的滞留时间短,就不会感觉出闪烁现象。
显示数据从驱动芯片到显示模块是以并行方式传输的,但显示数据从单片机到驱动芯片是以串行方式传输的,由于串行传输的控制电路简单,设计容易,缺点是串行数据传输需要很长的时间,不过这可以由软件来弥补,也可考虑单片机的控制速度。
显示驱动电路由74HC595组成。
74HC595输入端是8位串行移位寄存器,输出端是8位并行缓存器具有锁存功能。
由于CLK、LOAD端相连,而数据线分开,这样在同一脉冲下,行列的数据可以同时进行传入,行列数据准备好后,启动LOAD信号使所有数据同时输出并锁存,这样的设计较之传统方法提高了4倍的速度,占用I/O口少,由于CLK,LOAD引线较长,为避免线间干扰,在驱动6片74Ls595之后再加驱动芯片74L5244以驱动下一级驱动电路。
行列扫描驱动相当于对发光管脉冲供电,要获得与直流驱动方式相当的发光强度,脉冲驱动电流的平均电流I1与直流电流I2相同,它们与脉冲电流幅值If的关系为If=Ton/Th,×
I1是扫描周期,Ton是导通时间,占空比是1/16,扫描频率应大于24HZ,I取8mA,那么I=8×
16=128mA,发光管压降取2V,那么每个发光管应串接50的电阻。
行驱动最大瞬间电流能达到128×
80=10.240A。
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
图3显示驱动电路
三极管为列驱动,而以达林顿三极管如TIP127等作为行扫描管。
如以单色点阵、16行×
64列为一个基本单元,则需用8片74HC595、16个行扫描管,其工作原理为:
将八片74HC595级连,共用一个串行时钟CLK及数据锁存信号STR。
当第一行需要显示的数据经过8×
8=64个CLK时钟后将全部移入74HC595中,此时产生一个数据锁存信号STR,使数据锁存在74HC595的后级锁存器中,同时由行扫描控制电路产生信号使第一行扫描管导通,相当于第一行LED的正端都接高平,显然第一行LED管子的亮、灭取决于74HC595中所锁存的信号;
在第一行LED管子点亮的同时,在74HC595中移入第二行需要显示的数据,随后将其锁存,并同时由行扫描控制电路将第一行扫描管关闭而接通第二行,使第二行LED管子点亮……以此类推,当第十六行扫描过后再回到第一行,只要扫描速度足够高,就可形成一幅完整的文字或图像,其工作时序见图4。
图4串行移位工作时序图
4.2显示屏主控制电路
在控制领域51系列、PIC系列以及AVR系列单片机是常用的微型控制器,每个系列都有自己的优缺点,在某些方面都有自己的长处。
在具体的设计当中要综合考虑,如单片机的资源是否满足系统要求,系统是否有严格的速度要求,系统对控制器的抗干扰能力,硬件的加密性,外围电路是否简单,是否有比较齐全的成熟的开发、调试工具,如果要生产的话,则还要考虑价格和供货渠道等因素。
4.2.1控制器的比较及选型
PIC系列单片机:
PIC单片机采用精简指令使其执行效率大为提高。
PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:
1的代码压缩,速度提高4倍。
PIC有优越开发环境。
PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。
其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。
PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。
目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小。
自带看门狗定时器,可以用来提高程序运行的可靠性。
AVR系列单片机:
是一种新型的单片机。
运行速度快,一个时钟周期执行一条指令。
硬件应用哈佛(Harvard)结构,具有预取指令功能,即在执行一条指令时,预先把下一条指令取进来,使得指令可以在一个时钟周期内执行。
AVR单片机是多累加器型,数据处理速度快。
超功能精简指令,具有32个通用工作寄存器,相当于有32条立交桥,可以快速通行。
相当多的单片机只有一个累加器,就像一条独木桥,所有事都要通过累加器,速度慢。
AVR单片机系列中有128B~4KB的SRAM静态随机数据存储器,可灵活使用指令运算、存放数据,中断响应速度快。
AVR像8051一样,有多个固定中断向量入口地址,可快速响应中断。
高级C语言编程效率高。
从高级语言C代码完成同一任务实例来比较,8MHzAVR单片机的速度相当于224MHz的80C51单片机,AVR比80C51快28倍。
AVR是低功耗单片机,具有休眠省电功能(PowerDown)及闲置(Idle)低功耗功能。
一般耗电在1~2.5mA;
对于典型功耗情况,WDT关闭时为100nA,更适用于电池供电的应用设备。
有的器件最低1.8V即可工作。
可多次烧写的Flash,且具有多重密码保护锁死(Lock)功能。
I/O口功能强、驱动能力大,具有输入/输出、三态高阻输入,也可设定内部拉高电阻作输入端的功能,以便于应用到各种所需的场合(多功能I/O口)。
51系列单片机:
51系列是指是兼容Intel公司51指令集的单片机系列的统名称。
这种单片机所包括的硬件资源有:
(1)一个8位的微处理器;
(2)片内数据存储器RAM,用以存放可以读/写的数据,如运算的中间结果、最终结果以欲显示的数据等;
(3)片内程序存储器ROM/EPROM,用以存放程序、一些原始数据和表格;
(4)四个8位并行I/O接口P0~P3,每个口可以用作输入,也可以用作输出;
(5)两个(或三个)定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;
(6)五(或六个)个中断源的中断控制系统;
(7)一个全双工UART接口(通用异步接收发送器)的串行I/O,用于实现单片机之间或单片机与微机之间的串行通信;
(8)片内振荡器和时钟产生电路,但石英晶体和微调电容须要外接。
可以看出MCS-51系列单片机也是一款功能强大的单片机。
STC89C51RC/RD+系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,最新的D版本内部集成MAX810专用复位电路。
特点如下:
(1).增强6时钟/机器周期,12时钟/机器周期8051CPU;
(2)工作电压:
5.5V~3.4V(5V单片机)/3.8V~2.0V(3V单片机);
(3)工作频率范围:
0~40MHz,相当于普通8051的0~80MHz实际工作频率可达48MHz;
(4)用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节;
(5)片上集成1280字节/512字节RAM;
(6)通用I/O口(32/36个)复位后为:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口),P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻;
(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真,可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片;
(8)EEPROM功能;
(9)看门狗;
(10)内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路;
(11)共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用;
(12)外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒;
(13)通用异步串行口(UART),还可用定时器软件实现多个UART;
(14)工作温度范围:
0~75℃/-40~+85℃;
(15)封装:
PDIP-40,PLCC-44,PQFP-44。
从以上几种型号单片机的比较中可以看出,PIC单片机、AVR单片机虽然在很多方面都有其特点,如在运行速度上,内部资源的配置等。
但因其价格高,开发工具不及使用51系列单片机齐全,再考虑本系统对CPU的要求并不是很高,综合考虑还是选用已经普及的51内核的单片机。
4.2.2EEPROM存储器的选用
为了能将系统所设定的常数,如更新的站点信息,设定的定时显示时间在系统掉电之后仍能恢复,在设计时必须考虑将常数保存起来。
由于STC89C516RD+单片机片内没有EEPROM,须采用外部扩展方式。
在系统的设计过程中,为了取得较大的系统余量,常采取存储芯片AT24C256,按照16×
16的点阵来算,可以存储1000个字符,对于一个客车广告屏屏来说容量已经足够。
AT24C256接口采用I2C总线接口方式。
I2C总线是一种用于IC器件之间连接的二线制总线。
连接总线的器件的输出必须是集电极或漏极开路,以具有线“与”功能。
I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,最高传送速率可达400kbit/s。
它通过SDA(串行数据线)及SCL(串行时钟线)两根线和连在总线上的上位机进行通信,并根据地址识别每个器件。
采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。
CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统既简单又灵活的扩展与控制。
表124C256的管脚介绍
4.2.3控制单元和存储单元电路
用PC机实现的主要功能包括单片机显示子系统的(选择显示方式选择,包括静态、闪动、滚动、打字等),滚动方向选择(包括上下滚动和左右滚动),动态显示速度调节(即文字闪动频率、滚动速度、打字),显示速度等。
显示采用定时器中断方式进行行扫描,每次中断显示一行,定时中断时间为1.25ms,这样整屏的刷新率为50Hz,因而无闪烁感。
实现动态显示速度调节的方法通常是改变定时器的中断时间,但是当显示速度很慢的时候,该方法容易使整屏的刷新率降低,从而使显示内容出现闪烁。
因此,本设计采用一种“软定时”方法,即在程序中命名一个变量作为“软定时器”,以用来设定两次动态显示的时间间隔。
在对定时中断调用计数时,如果调用次数达到设定值,则改变显示内容。
为保证能够正常显示,“软定时器”的设定值必须大于整屏显示周期。
由于显示屏每行显示1.25ms,整屏显示周期为20ms,考虑到余量的情况,可将软定时器的设定值定在大于30ms。
如此循环计数,即可实现动态显示。
“软定时器”的设定值可以通过上位机PC机来改变,这样既可实现LED动态显示的速度调节,又可保持显示内容的流畅和无闪烁感。
以上提到的静态、闪动、滚动和打字等4种显示方式,实际上是单片机定时中