详细资料请下载文档查看,或搜索其他相关IC资料
51单片机的LED点阵屏设计
1 引言
点阵显示是集微电子技术、计算机技术、信息处理于一体的新型显示方式。由于其具有色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点。目前大多数的公交车招牌都是采用固定的板块显示,显示的信息量少,内容固定,修改站点信息比较麻烦,不能快速、便捷的更新站点信息。本文提出一种方案,采用LED点阵显示模块,克服了上述缺点,不仅可以静态的显示公交车站点信息,而且也可以通过动态滚动,从而增加信息显示的容量。为了醒目,还可以产生诸如闪动、滚动等显示效果。
1.1 车内显示器的发展现状
随着电子技术和计算机控制技术在客车上的日益广泛的应用,客车内的路牌显示器也经历了从灯光路牌、翻板式电子模块路牌、CRT显示、LCD液晶显示和LED点阵显示等几种发展类型;显示信息也从固定内容发展到任意内容的多种显示方式;对显示信息的编辑、修改,也由遥控键盘有线通讯模式发展到用计算机编辑文字,在经专用无线控制器将其发射到各站点的通讯模式。以后的发展趋势是xxxx系统站点显示器,客车内站牌显示器由天线、xxxx模块、微处理器、LED点阵驱动电路、LED点阵站牌和电可擦写存储器构成。
目前在客车内广泛的显示器由LED点阵显示器和LCD液晶显示器,还有部分CRT显示器,由于CRT显示器耗电量多、体积较大,且本质量较重,与LED点阵显示器和LCD液晶显示器相比,已处于下风,目前LED和LCD显示器成为现代人们选择之一,它们各有优缺点。LCD液晶显示器具有图像清晰、体积小、功耗低等优点,但它的成本高、亮度低、寿命短、可视距离和角度很有限。而LED显示屏具有亮度高、故障低、能耗少、使用寿命长、显示内容多样、显示方式丰富等优点。
1.2 LED点阵显示系统
点阵显示是集微电子技术、计算机技术、信息处理于一体的新型显示方式。由于其具有色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点。目前大多数的公交车招牌都是采用固定的板块显示,显示的信息量少,内容固定,修改站点信息比较麻烦,不能快速、便捷的更新站点信息。本文提出一种方案,采用LED点阵显示模块,克服了上述缺点,不仅可以静态的显示公交车站点信息,而且也可以通过动态滚动,从而增加信息显示的容量。为了醒目,还可以产生诸如闪动、滚动等显示效果。
目前LED显示屏的种类越来越多,从使用场合及亮度考虑可分为室内与室外屏,从扫描方式可分为动态扫描显示屏和静态扫描显示屏。室外使用的交通诱导屏,通常采用计算机同步控制的静态扫描显示,每个像素由几个高亮LED发光管组成,可做成多色或全色。其优点在于播放的内容信息量大,实时性强,且由于采用静态显示,亮度高;其缺点是硬件电路复杂,成本高。室内使用的由8×8LED点阵拼成的显示屏也有同步和异步之分,同步控制显示屏由计算机作为主控器,异步控制显示屏的主控器可采用单片机。单片机控制的单色显示屏由于结构简单,成本低廉,适合作为客车广告屏。
本文介绍的客车广告屏屏系统是智能交通系统的一部分,它是利用先进的显示、及通信等技术手段,动态地、实时地显示公交车的站点信息,{zd0}限度的提高公交车站牌的信息显示量。本系统采用的STC89C516RD+(宏晶科技)单片机是新一代增强型8051单片机标准的制定者,致力于提供满足用户需求的{sjj}高性能单片机技术,在业内处于{lx1}地位,销售网络覆盖全国。在保证质量的基础上,以极低的价格和完善的服务赢得了用户的长期信赖。在广受欢迎的STC89C51全系列单片机的基础上,现全力推出“1个时钟/机器周期”的单片机,全面提升8051单片机性能。用该单片机作为系统的中央控制单元,负责产生和控制扫描信号、读出显示缓冲区的数据送给扫描驱动电路,使LED点阵屏按照一定的要求显示。根据设计要求,显示方式要具有掉电存储功能,因此,在单片机外围电路加上I2C总线的EEPROM,利用单片机外部中断功能检测出来所需要的显示方式,并把它存储在该EEPROM内,这样,即使断电显示方式也仍然存储在该EEPROM里面,单片机再重新读取该EEPROM里面的内容,也就是断电前的显示方式。结合KEIL软件,实现了PC机通信、控制界面以及安全措施,从而大大丰富了系统功能,提高了系统的可操作性,使达到交互式与智能化,符合未来交通系统智能化、网络化的发展方向。利用该系统,可以实现同一站牌不同方向客车站点的静态显示、动态显示和定时显示控制,另外用来应对交通突发事件,作为应急告示,达到疏散交通,保护人们安全的目的。
设计时考虑到系统的扩展加上升级模块,可以实现系统的远程升级;加上公交车到站时间预测模块,可以预测到公交车到站的时间,方便行人;加上网络模块,可以连接互联网,直接通过互联网进行控制,也为以后的智能交通打下基础。
2 LED点阵显示的理论基础
LED点阵显示的基础理论包括光电子学、半导体器件、数字电子电路、大规模集成电路、单片机及微机等各个方面,既有硬件又有软件。上述各个领域都有自成体系,本文无法一一尽述,只能以显示屏为主线进行讨论,主要阐述了LED器件的应用基础和工作原理,以及LED点阵模块的构成和工作原理。
2.1 LED器件的应用基础
LED器件种类繁多。早期LED产品是单个的发光灯,随着数字化设备的出现,LED数码管和字符管得到了广泛的应用。
LED发光灯可以分为单色发光灯、双色发光灯、三色发光灯、面发光灯、闪烁发光灯、电压型发光灯等多种类型。按照发光灯强度又可以分为普通亮度发光灯、高亮度发光灯等。
LED发光灯的外形由PN结、阳极引脚、阴极引脚和环氧树脂封装外壳组成。其核心部分是具有注入复合发光功能的PN结。环氧树脂封装外壳除具有保护芯片的作用外,还具有透光聚光的能力,以增强显示效果。
LED器件通常用砷化镓(GaAs)、磷化镓(GaP)等半导体材料制成。当向LED器件施加正向电压时,器件内部的电子与空穴直接复合而产生能量,以光的形式释放出来,产生半导体发光。因此LED的驱动就是如何使它的PN结处于正偏状态,而且为了控制它的发光强度,还要解决正向电流的调节问题。具体的驱动方法可以分为直流驱动、恒流驱动、脉冲驱动和扫描驱动等[2]。
2.2 LED点阵模块
显示单元(Display unit)由电路及安装结构确定的并具有显示功能的器件组成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) 内部结构
图1 8×8点阵结构
图1为8×8单基色点阵的结构图,从内部结构可以看出8×8点阵共需要64个发光二极管,且每个发光二极管是放置在各行和列的交叉点上。当对应的某一列置高电平,另一列置低电平时,则在该行和列的交叉点上相应的二极管就亮。
LED显示屏就是由若干个点阵模块组成的,它通过一定的控制方式,就可以显示文字、文本、图形、图像、动画等各种信息,以及电视、录像信号。
3 方案设计
从前两节的论述中可以看出LED点阵显示技术已经相当成熟。实现方案非常多。本文要设计的是客车内LED点阵显示屏,根据客车内的特殊环境,选择方案时就要考虑公交车的车身尺寸、震动、温度等对显示屏的影响,以及客车内电源的局限性,为了节约电能,采用太阳能电池供电,就要使显示屏功耗降到{zd1}。
3.1 显示方案
根据论文的设计要求,本文提出了以下几种方案,对比论证,选取较合适的方案。
(1)CRT监视器设计方案:在站牌出安装一小型彩色监视屏,将站点信息显示在CRT监视器上,供行人查阅。站点信息放在存储器内,通过无线广播的方式进行数据更新。这种方案的优点:是成本比较低,可以采用淘汰下来的电视机作为监视器;缺点是:耗电量巨大, CRT显示器在阳光下的显示效果不理想。
(2)LED点阵显示屏设计方案:整个站牌由LED显示屏构成,站点信息在点阵屏幕上显示,并且可以以静态的方式固定显示站点或者以动态的方式轮流显示所有的站点。系统通过RS485或者互联网进行更新、升级。这种方案的优点是:成本相对比较低廉,能及时动态的显示站点信息,显示的信息容量也比较大,便于远程控制和升级。缺点是:受目前LED显示技术的限制,对于图像和视频显示的效果不是很理想。
(3)液晶显示器(或者等离子)设计方案:由液晶(等离子)显示器构成站牌,不但能显示站点信息,还可以显示图象或者视频信息,站点信息经过专用电缆或者互联网络传送。这种方案的优点是能在有限的站牌上显示更多的信息,尤其是图像和视频信息,缺点是成本太高,数据传输量巨大,不适合推广使用。
通过比较上述三种方案,可以发现LED点阵显示方案有很大的可行性,而且其系统的升级也比较方便,便于推广使用,适应现代化建设的发展需求。
3.2 控制电路方案
控制电路有两种选择,数字电路控制和CPLD控制。
数字电路控制的原理是LED点阵显示屏由单片机控制电路和显示驱动电路两大部分组成,一般的单片机控制部分采用ATMEL公司的51系列单片机,考虑到它的ROM相对较小,这里采用增强型的51单片机STC89C516RD+(宏晶科技)单片机,显示驱动部分由16片8×8 LED点阵模块和相应的驱动电路组成,位码扫描信号和段码信号都有单片机提供。
由CPLD器件组成的控制电路,具有很高的可靠性和设计灵活性,所实现的显示效果样式较多,但采用可编程逻辑器件CPLD的设计成本相对较高。
由于采用由单片机组成的控制电路已能完成设计的要求,且其xxx要优于采用由CPLD组成的控制电路。因此,本文采用前者作为控制电路。
3.3 系统框图
整个系统由两大模块组成:主控制单元和辅助控制单元模块。其框图如下所示。
图2 主控制单元结构框图
图2为主控制单元结构框图,它主要完成的功能是LED点阵的显示和定时显示控制。DS1302为时钟芯片,为显示准确的时间; DS18B02是温度控制芯片,显示车内的温度;AT24C256是容量为256Kbit的E2ROM,用来保存扫描方式的数据的信息,以及广告信息和更新广告信息等其它待显示的信息。RS232通信模块用来更新显示信息和升级系统。
4 系统硬件设计
4.1 显示屏驱动显示电路
显示屏分成屏体和控制器两部分,屏体的主要部分是显示阵列以及有行列驱动电路。根据安装环境的空间以及考虑成本造价,决定使用多大尺寸的显示屏,从而决定了显示模块的数量,这里以8×8点阵为例,模块单位为256点阵,即需要16块点阵模块,如图4示。汉字一般是256点阵,那么该屏可以一次显示4个汉字。
采用扫描方式进行显示时,分成两步,对于每行有一个行驱动器,各行的同名列共用一个列驱动器,由单片机给出行选通信号,从{dy}行开始依次对各行进行扫描,对于列,根据各列所存数据,确定相应的列驱动器是否将该列与行接通,如果接通,那么该行该列的LED将亮,以同样方法进行显示全部各行都扫描一遍之后(一个扫描周期),再从{dy}行开始,进行下一个周期的扫描。只要一个扫描周期的时间比人眼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的电阻。行驱动{zd0}瞬间电流能达到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。当{dy}行需要显示的数据经过8×8=64个CLK时钟后将全部移入74HC595中,此时产生一个数据锁存信号STR,使数据锁存在74HC595的后级锁存器中,同时由行扫描控制电路产生信号使{dy}行扫描管导通,相当于{dy}行LED的正端都接高平,显然{dy}行LED管子的亮、灭取决于74HC595中所锁存的信号;在{dy}行LED管子点亮的同时,在74HC595中移入第二行需要显示的数据,随后将其锁存,并同时由行扫描控制电路将{dy}行扫描管关闭而接通第二行,使第二行LED管子点亮……以此类推,当第十六行扫描过后再回到{dy}行,只要扫描速度足够高,就可形成一幅完整的文字或图像,其工作时序见图4。
图4 串行移位工作时序图
4.2 显示屏主控制电路
在控制领域51系列、PIC系列以及AVR系列单片机是常用的微型控制器,每个系列都有自己的优缺点,在某些方面都有自己的长处。在具体的设计当中要综合考虑,如单片机的资源是否满足系统要求,系统是否有严格的速度要求,系统对控制器的抗干扰能力,硬件的加密性,外围电路是否简单,是否有比较齐全的成熟的开发、调试工具,如果要生产的话,则还要考虑价格和供货渠道等因素。
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代码完成同一任务实例来比较,8 MHz AVR单片机的速度相当于224 MHz的80C51单片机,AVR比80C51快28倍。AVR是低功耗单片机,具有休眠省电功能(Power Down)及闲置(Idle)低功耗功能。一般耗电在1~2.5 mA;对于典型功耗情况,WDT关闭时为100 nA,更适用于电池供电的应用设备。有的器件{zd1}1.8 V即可工作。可多次烧写的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+系列单片机是宏晶科技推出的新一代超强抗干扰/ 高速/ 低功耗的单片机,指令代码xx兼容传统 8051 单片机,12 时钟 / 机器周期和6时钟/机器周期可任意选择,{zx1}的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是准双向口/弱上拉(普通8 051传统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路,下降沿中断或低电平触发中断,Power Down模式可由外部中断低电平触发中断方式唤醒;
(13)通用异步串行口(UART),还可用定时器软件实现多个UART;
(14)工作温度范围:0~75℃/-40~+85℃;
(15)封装:PDIP-40,PLCC-44,PQFP-44。
从以上几种型号单片机的比较中可以看出,PIC单片机、AVR单片机虽然在很多方面都有其特点,如在运行速度上,内部资源的配置等。但因其价格高,开发工具不及使用51系列单片机齐全,再考虑本系统对CPU的要求并不是很高,综合考虑还是选用已经普及的51内核的单片机。
为了能将系统所设定的常数,如更新的站点信息,设定的定时显示时间在系统掉电之后仍能恢复,在设计时必须考虑将常数保存起来。由于STC89C516RD+单片机片内没有EEPROM,须采用外部扩展方式。在系统的设计过程中,为了取得较大的系统余量,常采取存储芯片AT24C256,按照16×16的点阵来算,可以存储1000个字符,对于一个客车广告屏屏来说容量已经足够。
AT24C256接口采用I2C总线接口方式。I2C总线是一种用于IC器件之间连接的二线制总线。连接总线的器件的输出必须是集电极或漏极开路,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为100kbit/s,在快速方式下,{zg}传送速率可达400kbit/s。它通过SDA(串行数据线)及SCL(串行时钟线)两根线和连在总线上的上位机进行通信,并根据地址识别每个器件。采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统既简单又灵活的扩展与控制。
表1 24C256的管脚介绍
用PC机实现的主要功能包括单片机显示子系统的(选择显示方式选择,包括静态、闪动、滚动、打字等),滚动方向选择(包括上下滚动和左右滚动),动态显示速度调节(即文字闪动频率、滚动速度、打字),显示速度等。显示采用定时器中断方式进行行扫描,每次中断显示一行,定时中断时间为1.25ms,这样整屏的刷新率为50Hz,因而无闪烁感。实现动态显示速度调节的方法通常是改变定时器的中断时间,但是当显示速度很慢的时候,该方法容易使整屏的刷新率降低,从而使显示内容出现闪烁。因此,本设计采用一种“软定时”方法,即在程序中命名一个变量作为“软定时器”,以用来设定两次动态显示的时间间隔。在对定时中断调用计数时,如果调用次数达到设定值,则改变显示内容。为保证能够正常显示,“软定时器”的设定值必须大于整屏显示周期。由于显示屏每行显示1.25ms,整屏显示周期为20ms,考虑到余量的情况,可将软定时器的设定值定在大于30ms。如此循环计数,即可实现动态显示。“软定时器”的设定值可以通过上位机PC机来改变,这样既可实现LED动态显示的速度调节,又可保持显示内容的流畅和无闪烁感。
以上提到的静态、闪动、滚动和打字等4种显示方式,实际上是单片机定时中断程序进行行扫描处理的不同方法。下面将分别说明如何实现这4种显示方式。静态显示只需在定时中断处理程序中从显示缓冲区调入相应的一行显示数据,然后选中该行即可实现该行的显示,如此循环,便可显示整个内容。
闪动显示与此类似,不同的是要间隔一个“软定时器”的定时时间,在行扫描时,行移位寄存器的D端打入的数据全为0,可使得整屏不显示,以确保黑屏的时间与显示当然时间相等,从而实现汉字或图符的闪动显示。
滚动显示要求需要显示的内容每隔一定时间向指定方向这里以从右向左为例移动一列,这样显示屏可以显示更多的内容。为此,需要在下次移动显示之前对显示缓冲区的内容进行更改,从而完成相应点阵数据的移位操作。具体操作方法是:设置一个显示缓冲区,该区应包括两部分,一部分用来保存当前LED显示屏上显示的4个汉字点阵数据;另一部分为点阵数据预装载区,用来保存即将进入LED显示屏的1个汉字的点阵数据。滚动指针始终指向显示屏的最右边原点。当滚动指针移动到需要显示的点阵数据存储区的第1个汉字的首地址时,内容。需要注意的是,要确保该操作能在1.25ms的中断时间内完成(这里STC89C516RD+采用24MHz晶振实验证明可以实现该操作)。这样,在一个扫描周期后,整个汉字将左移一列,而显示缓冲区的内容也同时更改。由于预装载区保存了1个汉字点阵数据,即16×16点阵,所以当前显示缓冲区的内容只能移动16列。当下一个滚动到来时,滚动指针将移动到点阵数据存储区的下一个汉字的首地址,并在预装载区存入该汉字的点阵数据。然后重复执行上述操作便可实现滚动显示。特殊字符或图形的显示与此类似,这里不再赘述。打字显示要求汉字在显示屏上按从左到右的顺序一个个的出现,如同打字的效果。设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即LED显示空白,然后每间隔一个“软定时器”设定的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到打字显示的效果。
DS1302慢速充电时钟芯片包括实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。实时时钟/日历提供秒、分、时、日、周、月和年等信息。对于小于31天的月,月末的日期自动进行调整,还包括了闰年校正的功能。时钟的运行可以采用24小时或带AM(上午)/PM(下午)的12小时格式。使用同步串行通信,简化了DS1302与微处理器的通信。与时钟/RAM通信仅需三根线:(1)RST(复位)、(2)DO(数据线)和(3)SCLK(串行时钟)。数据可以以每次一个字节或多达31字节的多字节形式传送至时钟/RAM或从其中送出。DS 1302设计成能在非常低的功耗下工作,消耗小于1微瓦的功率便能保存数据和时钟信息。
传感器部分采用美国dallas半导体公司的DS18B20.温度测量范围为-55℃~+125℃,DS18B20是一种继DS1820之后新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测的温度。DS18B20是支持“一线总线”接口的温度传感器,对DS18B20读出或写入信息仅需要一条线路,因此电路连接简单,一条线上可同时扩展多个传感器,以增加测量的准确性,该传感器支持3.0V~5.5V的电压范围,可靠性高,体积小,更经济,更灵活。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。 RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。
在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5— -15V;逻辑“0” +5— +15V 。噪声容限为2V。即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”。RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端。一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中{zd0}距离会远超过50英尺。电路原理如图11所示,使用RS-232C的4、6和1、7、8分别进行短接,将2、3脚引出通过MAX232电平转换后连接到单片机的串口,在通信的时候,尽量要选用低的波特率,这样不容易出现错误,单片机的晶振频率{zh0}选用11.0592MHZ,有利于正确传输数据[12]。
图5 远程通信电路
5 系统软件设计
5.1 显示屏主体显示
本设计采用LED点阵显示屏设计方案,初步实现了在同一公交站牌显示不同公交车次,以及动态和静态的显示。
程序在初始化后将存储在ROM内部的站点信息读出,送至单片机的RAM,初步的进行汉字点阵转换,转换后的数据再经过显示效果处理,比如站点信息的左移显示、右移显示、上下移动显示、滚动显示、等等。{zh1}送入数据缓冲区,调用显示子程序,完成广告信息的显示。主程序的流程图如图12所示。
显示子程序的任务是将缓冲区的数据读出,然后送到点阵屏显示。点阵显示的原理是按照列进行选择,然后通过串并转换,将一列的显示数据送至选择的列排点阵中,然后选择下一列,重复这样的步骤,就可以实现数据的显示。显示子程序的流程图如图13所示。
图6 主程序流程图 图7 显示流程图
5.2 显示屏显示效果
显示添加上效果处理后,增添了动态效果,能达到更好的显示效果。主程序在开始的时候设置要显示的效果,在显示效果子程序中,程序判断需要显示的效果后调用不同的显示效果处理程序,对缓冲区内的数据进行效果处理,{zh1}再送入显示缓冲区,等待显示调用。其程序流程图如图14所示。
图8 显示效果流程图
5.3 远程通信设计
在远程通信程序中单片机主要完成接收PC机通过串口发送过来的公交车站点数据。采用中断接收方式。在中断服务子程序中,为了区别所接收的信号是联络信号还是字节数、是数据还是校验和,需要对接收到的数据进行辨别。首先在主程序开始中进行设定,若接受到的是01H,则判定为接收联络信号;接收到的是02H,则判定为接收命令信号;若接收到的是03H,则判定为接收数据信号;接收到的是04H,判定为接收数据开始标志信号;接收到05H,判定为结束接收数据标志信号[13]。
程序在初始化后,首先调用单片机内部ROM区存储的站点信息,当有远程通信的数据到来时候,先将接收到的数据送到单片机内部的数据缓冲区,进行数据辨别和处理之后,再送到外部的E2 ROM中,将这些处理之后,再开始调用外部存储器的站点信息。
单片机远程通信程序的流程图如图16所示。
设置STC89C516RD+的串行口工作于第3种方式:9位异步传输,波特率由定时器1的溢出率决定。数据帧共12位,四个用于起停和命令标志位,8位数据放在四位标志位之后,接收时存入RB8,发送时取TB8中的值,由硬件自动完成。波特率设定为9600bps,串行口初始化后,需有一个时间延迟再接收数据,数据接收完后也需一个时间延迟后再转入接收状态。
在串行通信RS232收发器控制方面,平时置P1.0为低,使串行口处于侦听状态,当有串行中断时,则置P1.0为高,发送应答信息,然后再置P1.0为低接收控制指令,继续保持Pl.0为低,使串行收发器处于接收状态,在这些过程中,涉及收、发等功能转换。
图9 远程通信流程图
6 系统测试结果
系统在测试的过程中,硬件电路相比较复杂,加上对点阵电路的研究不够深入,刚开始设计的时候,走了很多的弯路。尽管没有出现大的异常情况。但在软件调试过程中,出现一些问题:
(1)单片机输出的信号在点阵屏幕上显示为乱码,不能正确显示字符,通过示波器的跟踪观察,确定为输入锁存芯片74SC244信号选择端没有正确连接所致,通过将电路修改后解决问题。
(2)芯片编程出现错误,更换芯片后仍不能解决问题,经仔细查找后发现刚开始选用的AT89S52的ROM空间不够所致,所烧写的程序代码已经超过AT89S52内部的4KB的ROM空间,选用宏晶科技的STC89C516RD+单片机并且外加一片AT24C256芯片后解决问题。
7 结论
本文所讨论的客车广告屏的设计采用了宏晶科技的STC89C516RD+单片机作为系统的中央控制单元,并结合软件编程,实现同一站点不同方向客车的静态显示、动态显示,简化了系统操作,丰富了系统功能,符合未来交通智能化、网络化的发展方向。
本系统经过改进后还可以应用到广告宣传的领域,通过远程通信实现对点阵屏幕的远程控制。在通信网络日益完善、通信工具日趋普及的今天,是一种很值得推广的技术。该系统具有较高的性能价格比,由此开发出的智能信息显示产品符合未来智能交通的发展方向,很具市场发展潜力。
致谢
在本次挑战杯设计过程当中,指导老师赵明富和其他老师以及同学们都给予了很大的帮助支持,赵老师严谨的治学态度和务实的求知精神给我留下了很深的印象,他们鼓励我孜孜不倦,锐意进取,特别是在困难的时候,他有意识地培养我独立思考和解决问题的能力。赵老师的严格要求,令我以后的工作和生活当中受益匪浅。在此,对他们所给予的指导和帮助表示最衷心的感谢。
参考文献
[1]王宏民.LED点阵显示屏驱动方案[J].黑龙江电子技术,1999(5):1~2.
[2]眭碧霞.用单片机串行口实现动态扫描LED显示[J].电子工程师, 2006(6)
[3]李熹霖.谈LED大屏的刷新频率和换帧频率[J].现代显示, 2004(1)
[4]庞家成.多功能LED信息显示屏的设计[J].现代显示技术, 2006(9)
[5]周小平.LED显示屏及其扫描电路的硬件及软件实现[J].印刷电路信息, 2005(1)
[6]虞鹤松.LED显示屏高速数据通讯接口设计[J]. 国外电子元器件, 2005(2)
[7]郭兆正等.LED点阵显示屏系统设计[J].渤海大学学报, 2005(12)
[8]郝金刚.LED产业分析报告[J].现代显示, 2006(3)
[9]张新鸣.公交无线信息广播系统[J].城市公共交通, 2003(4)
[10]关积珍.显示发展及其在交通领域的应用[J].产业xx, 2004(6)
[11]任来双.车载LED大屏幕显示屏的设计理念[J].郑州工业高等专科学校学报, 2004(3)
[12]江丽炜.智能公交电子站牌显示时间预测方法研究[J].交通与计算机, 2006(10)
[13]常玉林.胡启洲.城市公交线网优化的线性模型[J].中国公路学报, 2005(18)
附录1 整体电路图