基于AT89C52电子显示屏的研究 毕业设计 毕业论文及文献综述_第1页
基于AT89C52电子显示屏的研究 毕业设计 毕业论文及文献综述_第2页
基于AT89C52电子显示屏的研究 毕业设计 毕业论文及文献综述_第3页
基于AT89C52电子显示屏的研究 毕业设计 毕业论文及文献综述_第4页
基于AT89C52电子显示屏的研究 毕业设计 毕业论文及文献综述_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于AT89C52电子显示屏的研究-------软件部分绪论LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的大型显示系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作性能稳定而日渐成为显示媒体中的佼佼者,广泛应用于广告、证券、信息传播、新闻发布等方面,是目前国际上极为先进的显示媒体[1]。1.1LED显示屏的研究背景及意义在现代信息化社会的高速发展过程中,最具意义的莫过于大屏幕显示已经从公共信息展示等商业应用开始向消费类多媒体应用渗透。随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。1.1.1LED显示屏的特点与传统的显示设备相比,LED大屏幕的独特的优点成为众人目光的焦点。(1)LED显示屏色彩丰富,显示方式变化多样(图形、文字、二维、三维动画、电视画面等)、亮度高、寿命长,是信息传播设施划时代的产品。(2)LED显示屏是集光电子技术、微电子技术、计算机技术、信息处理技术于一体的高技术产品,可用来显示文字、计算机屏幕同步的图形。它以其超大画面、超强视觉、灵活多变的显示方式等独居一格的优势,是目前国际上使用广泛的显示系统。(3)LED显示屏应用广泛,金融证券、银行利率、商业广告、文化娱乐等方面,有巨大的社会效益和丰厚的经济效益[1][2]。在其历史的演变过程中,出现了多种信息传播媒体,但就其性能看,如阴极管(CRT)或石英管(DV)大型电视,成本非常昂贵,在不需要超大画面且在室内使用时效果尚可;彩色液晶显示同样成本昂贵、电路复杂,面积有限,受视频角的影响非常大,可视角度很小;影像投影设备亮度小、清晰度差(画面受光不均匀);电视墙表面有分割线,视觉上有异物感,室外应用时亮度效果差。而LED显示屏以其受空间限制较小,并可以根据用户要求设计屏的大小,具有全彩色效果,视角大,可以用于显示文字、图案、图像、动画、视频、录像信号等各种信息的特点得到了突飞猛进的发展[3]。1.1.2LED显示屏的发展主要经历了三个阶段[1](1)1990年以前LED显示屏的成长时期。一方面,受LED材料器件的限制,LED显示屏的应用领域没有广泛开展;另一方面,显示屏控制技术基本上是通讯控制方式,客观上影响了显示效果。这一时期的LED显示屏在国外应用较广,国内很少,产品以红、绿双基色为主,控制方式为通讯控制,灰度等级为单点4级调灰,成本较高。(2)1990-1995年,这一段是LED显示屏迅速发展的时期。进入九十年代,全球信息产业高速增长,信息技术各个领域不断突破,LED显示屏在LED材料和控制技术方面也不断出现新的成果。蓝色LED晶片研制成功,全彩色LED显示屏进入市场;电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术,显示屏灰度等级实现16级灰度和64级灰度调灰,显示屏的动态显示效果大大提高,产品应用领域涉及金融证券、体育、机场、铁路、车站、公路交通、商业广告、邮电电信等诸多领域,特别是1993年证券股票业的发展更引发了LED显示屏市场的大幅增长。LED显示屏在平板显示领域的主流产品局面基本形成,LED显示屏产业成为新兴的高科技产业。(3)1995年以来,LED显示屏的发展进入一个总体稳步提高产业格局调整完善的时期。进入新世纪,光电子产业得到广泛的重视,中国加入WTO、北京申奥成功等,成为LED显示屏产业发展的契机,LED显示屏必将得到飞跃发展。1.2LED显示屏的技术现状及发展趋势 LED显示屏的技术范围包括半导体光电器件技术、电子电路技术、集成电路技术、信息图像处理技术、信息传输技术、计算机网络技术以及电子产品制造和电子产品安装工程相关技术。近几年来,作为半导体照明领域的一部分,城市景观照明及室内外装饰照明的霓虹灯和部分传统光源必将逐步被具有节能、环保、寿命长、可靠性高及可实现全彩变化的LED光源所取代。目前,在装饰照明领域中用LED制作的各类灯具正被逐步推广[1]。由于网络技术的普及和成熟,LED装饰照明控制系统中应用TCP/IP网络技术己成了一种明显的趋势。用TCP/IP协议可使整个系统的宽带、距离、可靠和双向等功能的实现,这意味着在一个网络里可同时连接的设备更多,且连接的距离更长,传输控制协议使LED装饰照明系统的控制质量和可靠性更高,双向通讯使设备的远程监测和控制更有效,因而构筑大规模可靠的LED装饰照明系统的网络成本更低,这是以现代计算机网络技术为支持的必然结果。设计一种控制系统如能采用现有成熟的技术方案和产品是相当明智的法,LED-NET系统是以DMX512协议和计算机网络技术TCP/IP协议为基础开发出来的LED灯饰照明控制系统,使其更加适合LED灯饰行业的应用。这样意味着拥有大量现成而众多的DMX512设备、网络产品和软件资源例如集线器、电缆、光纤和无线连接产品以及远程控制和监测技术,此外,现有大楼和各种场所已遍布以太网,更可方便装饰照明系统工程的临时使用。1.3论文主要研究内容及要考虑问题1.3.1问题的提出图文显示的LED显示屏,显示一些图形、文字,而对图像、动画以及信息的实时显示要求不高,而且信息的内容和屏切换相对比较稳定,可以与计算机实时服务,其中显示字模数据由PC机串口传输数据至单片机利用单片机对整个系统进行总体控制,进行显示所要显示的字符。显示效果为红色向左滚动显示,橙色向左滚动显示,绿色向左滚动显示。并且一直循环显示。其中显示字模数据由PC机串口传输数据至单片机,点阵的点亮过程有程序控制,由驱动电路完成,点阵采用基色显示,该显示器电路的特点是:点阵的动态显示过程占用时间比较短,亮度比较高,而且亮度可以改变电阻进行调节。1.3.2论文的主要研究内容 硬件所研究主要内容,通过对点阵模块和控制电路的分析,确定LED显示屏的部件构成;通过对单片机及智能控制模块的分析,确定LED显示屏的组成结构和驱动方式,实现LED显示屏的驱动,并且以三种不同的颜色滚动显示单片机中所预先存储的信息(汉字或数字)。在硬件基础上,软件研究的内容是PC机与下位机通信程序的设计;字换色循环的控制主程序;字模提取与输出的程序;人眼的视觉暂留特点所需要的延时程序;动态显示左滚动程序的设计。1.3.3论文要解决的问题在硬件设计的基础上,软件部分只要需要解决如下问题:(1)通讯模块程序设计,用89C52单片机组成的应用系统与PC机进行串行通讯,PC机从键盘上输入一个字符,然后将这个字符发送给单片机。需要设计数据传输协议(例如:数据传输的帧格式、波特率、PC机与单片机在实现异步通信时的工作方式等),即PC机与单片机通信程序(2)主程序的设计,用来控制颜色以及循环;(3)动态显示程序设计,使字符滚动,从而达到一个动态显示的效果;(4)字模数据的提取与输出程序设计,不断循环从字库中提取数据,并且将数据送至LED二级管阳极,不断的列扫描,使得整个字能够完整的显示出来;(5)延时程序设计,采取动态扫描方式,不断进行列扫描,动态扫描各LED发光二级管是轮流点亮的,由于视觉的暂留现象,却好像都点亮着,实际控制LED发光二级管的数据是逐一送出去的,对于动态扫描,轮到某管,等待该管点亮必须留给一段恰当的时间。于是延时程序起到一定作用;其中,重点与难点是字模数据的提取与输出程序设计。1.3.4需要实现的功能用89C52单片机组成的应用系统与PC机进行串行通讯,PC机从键盘上输入一个字符,然后将这个字符发送给单片机。单片机输出数据,电子显示屏显示预先想要显示的内容。电子显示屏采用16×显示效果为红色向左滚动显示,橙色向左滚动显示,绿色向左滚动显示。并且一直循环显示。为使显示效果更符合人眼的视觉特性,在低亮度区级差小,增加级数,逐步到高亮度区时增大级差,形成视觉效果上的“级差一致性”。LED显示屏灰度控制一般都在256级。1.4方案的比较1.4.1LED电子显示屏的系统组成主要由单片机控制模块、驱动模块(电子显示屏屏体由若干模块拼装而成)组成。针对任务要求,我们发现此项设计的核心部分在扫描方式的选择以及数据输出的不同形式上。因此,设计方案的比较主要对此展开。1.4.2软件方案的提出采用汇编语言编译程序方案一:静态显示程序方案二:动态显示程序1.4.3软件方案的比较本设计采用动态扫描法,方案一是静态显示是通过反复帧扫描实现的,而每一帧画面的显示是通过顺序点灯0-15行实现的。在人视觉效果上字是静止不动的;而方案二动态显示是通过连续显示不同的静态画面实现的,静态显示是其基础。动态移动速度与静态画面的转换速度是一一对应的,对一幅画面(一帧)的扫描次数越多,则转换速度越慢,即移动速度越慢。通过改变扫描的次数来控制移动速度。根据日常生活电子显示屏的使用先考虑,采用动态显示的视觉效果,故采取方案二。本论文即在视觉上效果表现为向左滚动显示。2.LED显示屏工作原理现在一般把显示图形或文字的LED显示屏称为图文屏,其实LED图文显示屏并没有一个公认的严格的定义,这里所谓的图形,是指由单色固定亮度的点阵线条组成的任意图形,其中LED点阵发光器件或发光或熄灭,即只有两种状态。本系统设计正是基于LED图文显示屏实际应用,着重实现LED显示屏的文字、数字显示,并且只对系统硬件部分进行研究、设计。图文显示屏的硬件模块基本结构可以分为屏体和控制器两大部分。2.1LED显示屏相关概念LED点阵显示器亦称LED点阵或LED矩阵板。它是以发光二级管为像素(亦称像元),按照行与列的顺序排列起来,用集成工艺制成的显示器件。具有亮度高且均匀,该可靠性,接线简单,拼装方便等优点,被广泛用于大屏幕LED智能显示屏、智能仪器和机电一体化设备中,用先进的智能显示技术来取代数显技术。常见的有5×7(其中5代表列数,7代表行数)、8×8点阵。2.1.1LED显示屏定义:(1)LED:发光二极管LightEmittingDiode(2)LED显示屏:LEDPanel由LED器件组成的显示屏幕(3)双基色LED显示屏:Double-colorLEDPanel由红绿双基色LED器件组成并可以调出橙色的LED显示屏(4)全彩色LED显示屏:All-colorLEDPanel由红、绿、蓝三基色LED器件组成并可调出多种色彩的LED显示屏。2.1.22.1.2可分成红色、橙色、绿色(又细分黄绿、标准绿和纯绿)、蓝光等。另外,有的发光二极管中包含二种或三种颜色的芯片。根据发光二极管出光处掺或不掺散射剂、有色还是无色,上述各种颜色的发光二极管还可分成有色透明、无色透明、有色散射和无色散射四种类型。散射型发光二极管和达于做指示灯用。按灰度级又可分为16,32,128,256级灰度LED显示屏等。2.1.2.2分圆灯、方灯、矩形、面发光管、侧向管、表面安装用微型管等。圆形灯按直径分为φ2mm、φ4.4mm、φ5mm、φ8mm、φ10mm及φ20mm等。国外通常把φ3mm的发光二极管记作T-1;把φ5mm的记作T-1(3/4);把φ4.4mm的记作T-1(1/4)。2.1.2.3(1)高指向性。一般为尖头环氧封装,或是带金属反射腔封装,且不加散射剂。半角值为5°~20°或更小,具有很高的指向性,可作局部照明光源用,或与光检出器联用以组成自动检测系统。(2)标准型。通常作指示灯用,其半角值为20°~45°。(3)散射型。这是视角较大的指示灯,半角值为45°~90°或更大,散射剂的量较大。(4)按发光二极管的结构分有全环氧包封、金属底座环氧封装、陶瓷底座环氧封装及玻璃封装等结构。2.1.2.4有普通亮度的LED(发光强度100mcd);把发光强度在10~100mcd间的叫高亮度发光二极管。一般LED的工作电流在十几毫安至几十毫安,而低电流LED的工作电流在2mA以下(亮度与普通发光管相同)。除上述分类方法外,还有按芯片材料分类及按功能分类的方法。LED的应用由于发光二极管的颜色、尺寸、形状、发光强度及透明情况等不同,所以使用发光二极管时应根据实际需要进行恰当选择。由于发光二极管具有最大正向电流IFm、最大反向电压VRm的限制,使用时,应保证不超过此值。为安全起见,实际电流IF应在0.6IFm以下;应让可能出现的反向电压VRRm。LED被广泛用于各种电子仪器和电子设备中,可作为电源指示灯、电平指示或微光源之用。红外发光管常被用于电视机、录像机等的遥控器中。下表1表示几种单色、彩色LED点阵显示器的主要参数。表1几种单色、彩色LED点阵显示器的主要参数[1]型号规格像素/个发光颜色PM/mWIF/mAIFM/mAUF/VIV/mcdλP/nm单色光复合光BFJ-OR5×735红--601030≤2.5≥0.26308×864BJT-G5×735绿--601030≤2.5≥0.35658×864BJT-OR/G8×864红橙60×21030≤2.5≥0.2630绿≥0.3565KSM-855-18×864红全彩色140255001.9160628绿120305003.8180468蓝220505001.9110550通过上表1可知,彩色LED点阵显示器以三变色发光二级管作为彩色像素,可发出红、绿、橙(复合光)三种颜色,像素密度相当于单色点阵的3倍,能获得近似的彩色效果,如果构成彩色智能显示屏。典型BFJ—OR/G型每条行线和各条列线之间,分别接一只红色、绿色发光二级管。2.1.3发光二极管的检测2.1.3.1普通发光二极管的检测(1)用万用表检测。利用具有×10kΩ档的指针式万用表可以大致判断发光二极管的好坏。正常时,二极管正向电阻阻值为几十至200kΩ,反向电阻的值为∞。如果正向电阻值为0或为∞,反向电阻值很小或为0,则易损坏。这种检测方法,不能实地看到发光管的发光情况,因为×10kΩ挡不能向LED提供较大正向电流。如果有两块指针万用表(最好同型号)可以较好地检查发光二极管的发光情况。用一根导线将其中一块万用表的“+”接线柱与另一块表的“-”接线柱连接。余下的“-”笔接被测发光管的正极(P区),余下的“+”笔接被测发光管的负极(N区)。两块万用表均置×10Ω档。正常情况下,接通后就能正常发光。若亮度很低,甚至不发光,可将两块万用表均拨至×1Ω若,若仍很暗,甚至不发光,则说明该发光二极管性能不良或损坏。应注意,不能一开始测量就将两块万用表置于×1Ω,以免电流过大,损坏发光二极管。(2)外接电源测量。用3V稳压源或两节串联的干电池及万用表(指针式或数字式皆可)可以较准确测量发光二极管的光、电特性。为此可按图10所示连接电路即可。如果测得VF在1.4~3V之间,且发光亮度正常,可以说明发光正常。如果测得VF=0或VF≈3V,且不发光,说明发光管已坏。2.1.3.2由于红外发光二极管,它发射1~3μm的红外光,人眼看不到。通常单只红外发光二极管发射功率只有数mW,不同型号的红外LED发光强度角分布也不相同。红外LED的正向压降一般为1.3~2.5V。正是由于其发射的红外光人眼看不见,所以利用上述可见光LED的检测法只能判定其PN结正、反向电学特性是否正常,而无法判定其发光情况正常否。为此,最好准备一只光敏器件(如2CR、2DR型硅光电池)作接收器。用万用表测光电池两端电压的变化情况。来判断红外LED加上适当正向电流后是否发射红外光。2.1.4LED显示屏相关技术2.1.基础半导体工业的迅猛发展,带动了发光二极管制造材料以及制作工艺的改进,在颜色与亮度方面都有了质的飞跃,高亮度、蓝色及纯绿色发光二极管已产业化并得到应用。首先要按照亮度指标选择LED或者显示模块,其次是根据选择的产品红、绿、蓝颜色的亮度来确定哪一种颜色为基准,一般是将亮度比例低的一种作为亮度基准,当基准的一种已经达到最大亮度时,调整另外一种(双色)或两种(全彩)。显示屏幕是双色时,大多数情况下以绿色为基准,调整红色二极管的工作电流。一般是降低工作电流,平衡颜色黄色为调整标准,这样就要减小整个显示屏幕的亮度。显示屏的颜色调整至最佳平衡状态,则会使屏的亮度降低。如果显示屏幕为了达到亮度要求,将每一种颜色都达到最大的亮度,那么就失去了颜色的平衡,例如:双色屏幕的黄颜色偏红,或者偏绿。目前LED显示屏从颜色上能满足室内外不同环境下的单色、双基色、全彩色显示要求,四元素的红色LED器件及高亮度蓝色、纯绿色在室外显示屏中得到普遍应用。在显示屏制作上采用SMD表贴技术的LED器件,可以获得更好的视角和亮度,目前已在高密度、全彩色室内显示屏中得到应用,但相对成本比较高,随着器件成本的降低,未来会有比较大的市场潜力。2.1.4LED显示屏在进行图文显示时,对同一基色采用级差间隔亮度,实现颜色的组合,一般可做到16级、64级、256级灰度。为使显示效果更符合人眼的视觉特性,出现了非线性级差调灰技术,即在低亮度区级差小,增加级数,逐步到高亮度区时增大级差,形成视觉效果上的“级差一致性”。目前LED显示屏灰度控制一般都在256级,通过采用非线性调灰技术,显示屏的显示效果比较理想。实际上、受数据、图像的信号源的制约,单纯追求大数量级的灰度控制,在使用中的实际价值是值得商讨的。2.1.LED正向导通电压的典型值3.0V~4.0V,驱动电流为20mA。如果只是用一个固定的正向电压驱动LED,可能会产生变化范围较大的正向电流,例如用3.4V驱动6只LED,相应的正向电流差别较大:10mA~44mA,取决于具体的LED特性曲线。为保证可靠性,驱动LED的电流必须低于LED额定值的要求,典型最大值一般为30mA,但是,当环境温度升高时所允许的额定电流会降低,例如,当温度达到50℃时电流需限制在20mA在实际运用中,负载常采用通过串并联形成的LED阵列,这会使输出电流随输入电压和环境温度等因素而发生的变化更加显著,并且阵列形式或LED个数变化,限流电阻也应该相应变化。LED显示屏广泛使用的驱动电路是基于通用型集成电路来设计的,原理比较简单,价格便宜,产品的技术开放性比较强。通用IC设计的驱动电路在室内外单色、双基色显示屏方面应用成熟,目前仍然是主流的驱动电路。近年恒流驱动IC的发展较快并受到重视和广泛应用。恒流驱动技术根据LED器件的发光与驱动电流高度相关的特点,大大提高了LED显示的均匀性,同时,减少了显示驱动电路的阻容元件,降低了故障点,使LED显示屏更可靠、亮丽。LED显示屏专用的IC一直受到关注。一些IC制造商相继推出一些用于LED显示的专用IC驱动芯片,如TI公司推出的LEDDriver等,这类芯片对原来通用驱动IC的集成度进行了提高,使显示屏的驱动电路设计简捷方便,功能上也有所提高,经过研制开发设计适合发展需要的大规模或超大规模专用LED驱动电路,这类专用IC相对复杂,功能较强。LED专用驱动IC简化了显示屏系统设计的复杂程度,在一定程度上增强了显示屏的功能,提高了整体的稳定性,具有积极的意义。屏体部分结构与功能屏体部分主要是LED和行列驱动电路构成。不论是图形还是文字,都是控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光。根据屏幕所需的平面面积大小,选择一定数量的LED。像数码管一类的LED显示器件只在需要发光的七段位置上布置LED器件,其它位置都是空白的,因此相对价格比较便宜。但是,由于数码管显示的信息有限,只有0-9(或再扩展到A-F)几个字符,这些字符的变化是靠组合7段LED的发光与否实现的。由于段数不多,组合形成的字符也不多。而用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,每个LED发光器件占据数据中的一位,通过对点阵上全部的LED进行控制,在需要该LED器件发光时数据中相应的1,否则填0,这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件,得到满意的显示效果。由于文字的显示点阵格式比较规范,可以采用现行计算机通用的字库字模,如汉字的宋体、楷体和黑体等多种可供选择的方案;其大小也可以有16×16、24×24、32×32、48×48等不同规格。图文显示屏的颜色,有单色、双色和多色几种。本系统根据实际应用环境采用的是双色LED屏,具体设计方案将在后面加以叙述。对于双色图文屏和多色图文屏来说,在LED点阵的每一个“点”上布置两个或多个不同颜色的LED发光器件,对应于每种颜色都有自己的显示矩阵。显示的时候,各个颜色的显示点阵是分开控制的。事先设计好各种颜色的显示数据,显示时分别送到各自的显示点阵,即可实现预期的效果。每一种颜色的控制方法和单色的完全相同。在显示效果方面,完全可以通过扫描驱动方式实现可以感知的静止不动的效果--静态显示模式;通过随时间变化不断控制刷新显示数据可以实现各种动态显示模式,如闪烁、平移、旋转、缩放等,但这里对显示的数据进行的刷新并不意味着一定要重新编写显示数据,可以通过一定的算法从原来的显示数据直接生成。下图1为LED共阴极的内部电路,图中为绿色发光二极管,为红色发光二极管。两种二极管封装在一起,通过对选通信号的选择控制来控制二极管的亮灭。图1LED共阴极的内部电路2.3控制器结构与功能 由M行N列组成的M×N图文显示屏其LED发光器件数量相当大,不宜使用静态扫描驱动电路,而采用多行的同名列共用一套列驱动器。控制电路负责有序的选通各行,在选通每一行之前还要把该行各列的数据准备好。这一行上的LED发光器件就可以根据列数据进行显示。这种时序控制电路,可以由布线逻辑完成,但考虑显示数据的存储和设计的灵活性及通用性,一般都采用单片机实现[7][8]。单片机系统单片机系统行扫描电路及控制列扫描电路及控制行驱动列驱动16*16点阵接口图2单片机功能框图2.48×8点阵LED显示器的组成原理及控制方式在本设计中要求假设上位机传输显示预先想要显示的内容"毕业设计"的转换后的数据后,显示状态表现为:首先红色向左滚动显示,然后橙色向左滚动显示,最后绿色向左滚动显示,如此循环。2.4.1字点阵显示原理利用16×16点阵可以显示8912个国标一、二级汉字、西文、数字和字符,常见的汉字均可用32个字节点阵的16进制码表示。若把图全部摸黑,上述16组编码均可改成F,就以全亮方式显示,由此可检查屏幕上所有LED的质量好坏。我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。事实上这个屏不仅可以显示汉字,也可以显示在256象素范围内的任何图形。如查用8位的AT89C52单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分,如图3所示[4]。图3汉字显示原理图3汉字显示原理为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。汉字可拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。本例通过列扫描方法首先显示左上角的第一列的上半部分,即第0列的P00~P07口,方向为P00到P07,显示汉字“大”时,P05点亮,由上往下排列为:P0.0灭,P0.1灭,P0.2灭P0.3灭,P0.4灭,P0.5亮,P0.6灭,P0.7灭。即二进制00000100,转换为十六进制为04H。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从P27向P20方向扫描,从图3可以看到,这一列全部为不亮,即为00000000,十六进制则为00H。依照这个方法转向第二列、第三列,…,直至第十六列的扫描,一共扫描32个8位,可以得出汉字“大”的扫描代码为:04H,00H,04H,02H,04H,02H,04H,04H04H,08H,04H,30H,04H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,04H,00H,00H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。为此,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可,如图4所示。图4字库提取数据图4字库提取数据可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16×64=1024Hz,周期小于1ms即可。行扫描和列扫描方法的扫描频率必须大于16×8=128Hz,周期小于7.8ms即可,但是一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。[4]2.4.2颜色的产生和控制显示模块采用8X8点阵的双基色模块,有8个引脚驱动红色的灯管和8个引脚驱动绿色灯管,其组合的颜色可以达到明黄的效果。行扫描信号用两片74LS154(4-16译码器)完成,分别产生8行红色和8行绿色扫描信号,若以上16管脚同时被扫描,则同时产生红色和绿色扫描信号,显示屏的颜色表现为橙色,从而实现三色。根据显示内容的需要,通过应用程序编排,可以同时实现三种颜色的文字和图形的显示[9]。本次设计中采用8×8点阵LED显示器,简称LED点阵板或LED矩阵板。它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种,以下例子用的是共阳极的显示器。共阳极接法的原理图如图5所示,图中画出了8×8点阵的二极管。每一行发光二极管的阳极接在一起,有一个引出端r,每一列发光二极管的阴极接在一起,有一个引出端c,8×8点阵单色LED引脚的排列如图6所示。当给发光二极管阳极引出端r1加高电平,阴极引出端c1加低电平时,左上角的二极管被点亮因此,对于行和列的电平进行扫描控制时,可以达到显示不同汉字的目的。例如“毕业设计”的显示可以按照从左到右,先下后上的顺序写出编码。然后写入单片机的数据存储单元中。“毕业设计”4个字的编码表如下。TAB:DB0BBH,99H,88H,0F7H,80H,0F7H,0F7H,0F7H毕DB0DBH,0DBH,5AH,99H,0DBH,0DBH,0DBH,00H业DB0B1H,0B5H,04H,0BFH,0B1H,0B5H,9BH,0A4H设DB0BBH,0BBH,1BH,0A0H,0BBH,0BBH,9BH,0BBH计DB00H,00H,00H,00H

图58×8点阵单色LED显示器组成原理图图68×8点阵单色LED引脚的排列图2.4.38×8点阵LED显示器与单片机的接口8×8点阵LED的引脚图如图3所示,当采用单片机进行控制时,连接点阵显示器的共阳极r端需经驱动三极管与单片机的P3口相连,而共阴极c端需经限流电阻与单片机的P0口相连。在编程控制时,将8×8点阵LED显示分成行和列两部分,字符数据从P0口输出,扫描控制字从P3口输出,每一列由一个字节的数据组成,数据可一次送入,然后扫描一行,显示一个字需要扫描8次。2.4.4数据串行输出的电路实现本设计显示三种颜色的方法是:只有红色LED亮时,显示屏呈红色;只有绿色LED亮时,显示屏呈绿色;红色和绿色LED均点亮时,显示屏呈现黄色。这就要求同时输出红、绿两路数据,为此,考虑采用两个并入串出的4-16译码器,在W78E58B的时钟(CLK)控制下同时输出两路数据。数据传送与控制清单如下:P0,P2输出字符数据P1.1与两个4/16译码器的A相连,与P1.1、P1.2、P1.3组成行选通地址P1.2与两个4/16译码器的B相连,与P1.0、P1.2、P1.3组成行选通地址P1.3与两个4/16译码器的C相连,与P1.0、P1.1、P1.3组成行选通地址P1.4与其中一个4/16译码器的G1相连,与另一个3/8译码器的G2相连,与P1.0、P1.1、P1.2组成行选通地址P1.7红通道选通信号P1.6绿通道选通信号TXD数据移位脉冲CLK(上升沿)串行数据产生的具体过程:输出红色信号:置位P1.7,当红信号选通信号(P1.7)与写有效信号(WR)同时有效,且绿信号选通信号(P1.6)无效时,锁存器1锁存P0口数据,数据即作为红色数据存到并/串移位寄存器1的输入端;输出绿色信号:置位P1.6,当绿信号选通信号(P1.6)与写有效信号(WR)同时有效,且红信号选通信号(P1.7)无效时,锁存器2锁存P0口数据,数据即作为绿色数据存到并/串移位寄存器2的输入端。2.4.5驱动电路简介所谓驱动电路是指包括LED阵列的驱动显示电路,显示屏的主要技术要求是由驱动模块直接实现的,其中包括:显示色彩(单色、红、绿、黄、黑、全彩)刷新速率显示亮度使用场所(户内或户外)为保证在整屏刷新时有足够的亮度,我们将驱动模块的大小设计为16×15的独立模块组,整块屏体由若干功能完全一致的独立单元模块要求尺寸拼装而成。电路的具体工作过程:(1)P1.0、P1.1、P1.2、P1.3输出第0行地址,在TXD产生的CLK信号下,串/并转换移位寄存器将控制模块中输出的红、绿串行数据分别转换成并行数据并输出。(2)令锁存信号有效,锁存寄存器将上述输出数据锁存,经驱动电路送至发光二极管的列端,同时锁存信号使4/16译码器译码产生有效地址,从而选中该行。(3)P1.0、P1.1、P1.2、P1.3依次输出第1—16行地址线,并重复以上过程,则一帧显示完毕[3]2.4.6字模数据首先,从我们常用的计算机系统谈起,再扩展到我们要开发设计的点阵LCD&LED显示系统中去,其实单片机系统的显示原理和计算机是一样的。在计算机中,所有的数据(包括指令等)都是以0和1来表示的,这意味着,如果我们想要在显示器上显示字符,那么这些字符的信息将也会是以0、1来保存显示的。那么计算机是如何来存贮显示字符的呢?下面我们举例来说明点阵字符的数据存贮及显示原理(这里我们主要讨论的是点阵字符,故有关计算机矢量字符的显示及其原理这里就不作说明,而且单片机的寻址和计算能力远不及PC,故显示矢量的字符还是有一定的困难)。假设我们把计算机液晶显示器上显示8×8点阵的“田”字放大10倍,如下图7所示:0000000000000000011111000101010001111100010101000111110000000000图7字模示意图字模数据放大之后,每一个小方格代表一个点,黑色的为1,白色为0;每一个点看作为一位(bit)。据此可以描绘出“田”字的位(bit)信息。采用行扫描的方式,每八位(bit)为一个字节,这里采用十六进制表示,这样就得到了字模数据。由上述的示例,我们可以清晰的了解到可视字符、位信息与字模数据之间的关系。(1)点阵异常处理假设字符的点阵不是8的倍数怎么办呢?通常情况下可以不计或在后面以4个0位补足8位都可,例如:12x12点阵的汉字,以本人编写的字模工具软件为例,是这样处理的:先假设对12x12的点阵字符进行扫描,第一行的前8位为一个字节,第一行的后面4位形成一个字节,以后的每行逐次类推,直到扫描到最后一行,行成一个完整可用的字模数据。(2)点阵字库把上述很多很多字符的字模数据按照一定的排列顺序存放在一起,就形成了点阵字库。这里所讲的字库是广义的,可以是文件,也可以是其他的东西,例如:数组、DB表等等所有可以存取数据的形式。2.5PC机与单片机串行通信接口设计PC机串行口使用的是RS-232C逻辑电平,而AT89C52单片机串行口的输入输出均为TTL电平,因此,当PCPC机与单片机通信时必须进行电平转换常见的电平转换方法有以下3种:(1)使用MC1488和MC1489电平转换器。由于MC1488和MC1489需要15V或12V供电,所以使用不方便,而且工作稳定性和可靠性也不高。(2)使用2个三极管构成准RS-232C电平转换器。采用此方法串行通信只能工作于半双工状态,(3)使用双向电平转换集成芯片。此方法优点是只需单一正5V电源供电,可靠性高,无需增加程序设计的复杂性,常用的芯片有ICL232,MAX232,TSC232等。本文采用最后一种方法,芯片选用MAX232。2.5.2MAX232电平转换芯片是MAXIM公司生产的一种新型的电平转换芯片,其内部有电压倍增电路和电压转换电路,只需单一+5V电源供电。它含有4个反向器,可实现2路TTL/CMOS电平+5V到RS-232C电平±10V的转换和2路RS-232C电平±10V到TTL/CMOS电平+在实际应用中,MAX232器件对电源噪声敏感,因此,电源VCC应加上1μF的去耦电容。3.8×8点阵控制系统的软件设计软件的设计是该设计的关键部分,对文字的输出控制不仅多而且复杂,其中要用到很多的多重循环,同时还要考虑显示屏的刷新率、C51和汇编语言的机器执行效率问题,故软件算法的高效极为重要。这些都是该系统设计着重解决的问题。硬件电路决定了点阵屏是以动态的方式点亮,流动是以位进行的,与汉字字模存放的形式有关。以下是以左位移,横向汉字,从上往下方式取模,来说明流动程序算法,扫描方式具体如下所示:第1列上半部第1列下半部……第i列上半部第i下右半部……第i+1列上半部第i+1列下半部P1.6,P1.7选通译码器,进行选择显示颜色[5]硬件设计的总电路图见附录2,本设计中的软件依照此硬件图来设计,研究。3.1软件部分模块本设计系统采用了结构化、模块化,软件可分为几下几大模块:主程序控制颜色以及循环;字模数据的提取与输出程序,不断循环从字库中提取数据,并且将数据送至LED二级管阳极,不断的列扫描,使得整个字能够完整的显示出来;动态显示程序,能够使字符滚动,从而达到一个动态显示的状态;采取动态扫描方式,不断进行列扫描,动态扫描各LED发光二级管是轮流点亮的,由于视觉的暂留现象,却好像都点亮着,实际控制LED发光二级管的数据是逐一送出去的,对于动态扫描,轮到某管,等待该管点亮必须留给一段恰当的时间,即延时程序;通讯模块,用89C52单片机组成的应用系统与PC机进行串行通讯,PC机从键盘上输入一个字符,然后将这个字符发送给单片机,需要设计数据传输协议(例如:数据传输的帧格式、波特率、PC机与单片机在实现异步通信时的工作方式等),即PC机与单片机通信程序3.2主程序设计主程序在刚上电时对系统进行初始化,然后读寄存器r7的值,由r7的值决定显示方式,当r7=0时为红灯显示,r7=1时为绿灯显示,r7=2时为红绿灯同亮即橙色显示,r7>2时则r7清零[6][7]。r7在显示程序中当显示完所有字后自动加1,换一种颜色显示如上的所有字,如此循环。主程序流程图8如下所示:Y主程序流程图8如下所示:Y主程序开始对r2,r3,r4,r5,a清零r7=3r7=0r7=1r7=2置p1.6为0,p1.7为1调显示子程序置p1.6为1,p1.7为0调显示子程序置p1.6为0,p1.7为0调显示子程序跳至开始YNNYNYNY图8主程序流程图主程序如下:start:movr3,#00Hmovr2,#00Hmovr4,#00Hmovr5,#00H;初始化mm1:cjner7,#0,ms0;当r7不为0时跳ms0clrp1.6setbp1.7;对P1.6,P1.7赋值亮红灯ms0:cjner7,#1,ms1;当r7不为1时跳ms1clrp1.7setbp1.6;对P1.6,P1.7赋值亮绿灯ms1:cjner7,#2,ms2;当r7不为2时跳ms2clrp1.6clrp1.7;对P1.6,P1.7赋值亮红,绿灯ms2:cjner7,#3,start;如果r7不为3跳转startmovr7,#0;对r7清零ljmpstart3.3字模数据的提取与输出程序设计3.3.1以下是单片机系统资源的分配表,见表2表2单片机系统资源分配[1]表资源功能与作用00H~02H用于存放键标志位21H~24H为数据显示缓冲区50H~6FH用于存放显示字符数据表T0~T2为定时中断入口标志30H用于控制显示静止字的时间31H用于静止字显示跳转地址步距0FFH0.5ms延时计数器14H10ms延时计数器64H1ms延时计数器3.3.2以下是字模数据提取与输出程序的流程图,见图9。以下是字模数据提取与输出程序的流程图,见图9。Y图9字模数据提取与输出程序的流程图YNNY开始对p3,A初始化将字库的首地址存入A中将A中数据从P0口发出既显示将字库后一个地址存入A中将A中数据从P2口输出判断r6=55hr5自加1判断r7=3跳到开始r5=20r7自加1置r7为0调延时程序将TAB的首地址存入DPTRr5清零N显示子程序流程如下:movp3,r3;将r3值从P3口输出进行行扫描mova,r2;将r2值赋予Amovca,@a+dptr;,查表程序,将要显示的数据存入A中movp0,a;将A中的数据从P0口输出incr2mova,r2movca,@a+dptr;将下一个要显示的数据存入A中movp2,a;将A中存的数据从P2口输出incr2;准备输出下一个数据incr3;对下一行进行扫描movr6,acjner6,#55H,mm0;判断是否结束,mmo即r5清零incr5;r5自加1 cjner5,#20,mm01;再次确认已经结束,mmo1延时movr5,#0;对r5清零movdptr,#tab;将TAB的首地址存入DPTR中incr7;R7自加1cjner7,#3,start;如果r7不为3跳转STARTmovr7,#0;对r7清零ljmpstart;跳转到开始显示程序设计在显示效果方面,完全可以通过扫描驱动方式实现可以感知的静止不动的效果--静态显示模式;通过随时间变化不断控制刷新显示数据可以实现各种动态显示模式,如闪烁、平移、旋转、缩放等,但这里对显示的数据进行的刷新并不意味着一定要重新编写显示数据,可以通过一定的算法从原来的显示数据直接生成。显示程序是由显示主程序和显示子程序组成。显示主程序负责每次显示时的显示地址首址、每个字的显示时间和下一个显示地址的间隔的处理。显示子程序则负责对指定32个地址单元的数据进行输出显示,显示一个完整文字的时间约为32ms。在显示子程序中,2ms延时程序是用调用键扫描子程序的方法实现的。3.4.1扫描方式介绍动态扫描各LED发光二级管是轮流点亮的,由于视觉的暂留现象,却好像都点亮着,实际控制LED发光二级管的数据是逐一送出去的,各个LED发光二级管按顺序一一亮出;待各管都轮到后,又再重新开始。对于动态扫描,轮到某管,等待该管点亮必须留给一段恰当的时间。时间过短,LED发光二级管来不及点亮;时间过长,其他二级管将熄灭,不能显示。静态扫描各个LED发光二级管是同时点亮的,每个LED发光二级管相应的数据也是同时送给的。其原理比较简单,静态扫描编程容易,显示比较清晰,亮度一般也比较高,但是占用很多I/O接口线和增用不少硬件芯片,成本较高。因此,动态扫描用得更多,本设计采用动态扫描法。动态扫描又分为静态显示子程序与动态显示子程序:3.4.1.1静态显示子程序静态显示是通过反复帧扫描实现的,而每一帧画面的显示是通过顺序点灯0-15行实现的。为了保证画面稳定无闪烁,行与行之间的点灯时间间隔都不能超过人眼的视觉暂留时间0.1s。其中刷新速度是由每一帧的显示时间决定的,而亮度则是由一行灯点亮后的延时长短决定的,调整这些参数可以改变相应的指标。故静态显示的算法如下:(1)将要显示的两个字的字模数据分别存储在20H-3FH和40H-5FH这各32字节的RAM中,每两字节存储一列的点灯数据,32个字节由小到大依次存储0到15列的数据,比如:20H、21H存储第一个字的第一列点灯数据,40H、41H存储第二个字的第一列点灯数据(2)P1.0、P1.1、P1.2、P1.3口输出第0行地址(3)P0口分别向外输出第一屏的前8位红、绿点灯数据,然后由TXD产生时钟信号,使数据移位到寄存器(4)P2口分别向外输出第一屏的后8位红、绿点灯数据,并移位寄存(5)同样的道理输出并寄存第二屏的16位数据(6)锁存信号有效,前面移位寄存的32位数据被锁存并输出,与此同时,74LS164译码器译码使相应行选通,延时,这样就点亮一行(7)判断P1.0、P1.1、P1.2、P1.3口输出的行地址是否第16行地址,是则跳至(2),否则跳至(3)3.4.1.2动态显示子程序动态显示是通过连续显示不同的静态画面实现的,静态显示是其基础。动态移动速度与静态画面的转换速度是一一对应的,对一幅画面(一帧)的扫描次数越多,则转换速度越慢,即移动速度越慢。所以可以通过改变扫描的次数来控制移动速度。动态平行移动显示中静态画面的点灯数据是由上一帧静态画面点灯数据左移或右移得到的,而该子程序的关键也在此。由于每行有16×2=32个点灯数据,单片机数据的输出是以8为单位的。在此,我们来比较下逐字显示、向左滚动显示、向右滚动显示、向上滚动显示、向下滚动显示几种显示方式的不同。在讨论本论文所设计的动态滚动程序之前,下面先举例分析动态平行移动(以广告语:“你好,东华理工大学!”为例,一屏显示一个字)[8]其中一种程序设计方法。(1)平行左移显示数据存储:将要显示的前两字“你好”的字模数据分别存到20H-3FH和40H-5FH中,第三个“,”的字模作为备用数据存储到60H-7FH中第0-7列第1-7列707107071070710第15行你好,3FH5FH7FH你好,第0行20H40H60H移前准备:你好,将“好”的左半边数据的最高位移到“你”你好,7071070710707103FH5FH7FH20H40H60H一个字字模数据左移:数据每左移一位显示一次,直到将“,”全移至“好”的位置,移位的过程是一列一列进行的,每行移动时先将“,”左移,再将“好”左移,最后移“你”,下面以“,”和“好”的左移程序示例:movr1,#60H;将地址放入r1,r0中movr0,#20Hclrc;对C清零mova,@r1;将60H地址中数据放入累加器中RLCAmov@r1,a;60H中所存数据左移一位incr1;r1自加1mova,@r1RLCAmov@r1,a;后一地址中所存数据左移一位movc,acc.0mova,@r0;将20H中数据存入A中RLCAmov@r0,a;20H中数据左移一位incr0;r0自加1mova,@r0RLCAmov@r0,a;后一地址中所存数据左移一位④再将“东”作为备用数据,存储到60H-7FH,以下过程与上面类似⑤依次类推,移动并显示下几个字(2)平行右移显示数据存储:与左移类似,不同的是“你”的字模数据存在40H-5FH,“好”字模数据存在20H-3FH707107071070710,好你7FH3FH5FH,好你60H20H40H一个字字模数据右移:过程与左移类似,但因为“你”“好”的存储单元改变了,所以除了移动方向不同外,存储单元的移动次序也有所不同,以“,”“好”的右移显示示意图及程序示例如下:,好你70710707,好你7FH3FH5FH60H20H40H右移程序:movr1,#60H;将地址放入r1,r0中movr0,#20Hclrc;对C清零mova,@r1;将60H地址中数据存入累加器中RRCAmov@r1,a;60H中所存数据右移一位incr1;r1自加1mova,@r1RRCAmov@r1,a;后一地址中所存数据右移一位movc,acc.0mova,@r0;将20H中数据存入A中RRCAmov@r0,a;20H中数据右移一位incr0;r0自加1mova,@r0RRCAmov@r0,a;后一地址中所存数据右移一位后面几个字的右移与上面相同(3)动态垂直上移示意图如下:自强自强3EH5FH3CH5CH0H40H毅弘毅弘数据存储:将“自”“强”的字模数据分别存储在20H-3FH和40H-5FH中并显示字模数据上移将“自”和“强”的点灯数据依次上移一行,即将20H-3FH和40H-5FH中的数据依次后移两位,即:3CH移至3EH,3DH移至3FH,……20H移至22H,21H移至23H;5CH移至5EH,5DH移至5FH……50H移至52H。再将“弘”“毅”的最后两个数据分别存到20H、21H或40H、41H两个字节,并静态显示,这时就将字体上移了一行。依次类推,连续显示,就可以实现上移了。(4)动态垂直下移示意图如下:毅力弘3EH5FH毅力弘3CH5CH 0H40H强力自强力自具体过程与上移类似,这里就不详叙。(5)动画显示动画的实质是若干幅静态显示画面依次循环播放,当这些静态画面在人眼视觉暂留时间之内连续显示时,就使人眼产生动画的感觉。因此,每一幅静态画面的制作就成为动画制作的关键,既要保证每一幅画面的完整,又要保证相邻两幅画面之间相对的连续。3.4.2根据本文设计思想(动态向左滚动),并且尽量使程序设计简单。采取以下方法,一帧汉字扫描完后,指针地址向后移动2位(即移动一列),再扫描一帧图像,为了控制汉字共动速度,有时需要对一帧图像扫描数次后才将列指针移位(如本设计程序连续扫描5次),依次类推,列指针向后移动,主观上感觉汉字向左滚动。下面为本论文左滚动的设计的流程图,见图10。NNNY清屏r2=17r2,r3清零r4=5R4清零DPTR连续自加1主程序STARTr4自加1滚动STARTYYY图10左滚动的设计的流程图下面为本论文左滚动程序设计:movp0,#0movp2,#0;清屏cjner2,#17,mm1;如果r2不为17跳转mm1incr4;自加1movr3,#00H;对r3清零movr2,#00H;对r2清零cjner4,#5,mm1;如果r4不为5跳转MM1,连续扫描5次,使字体能看清楚movr4,#00H;对R4清零incdptr;DPTR自加1incdptr;DPTR自加1,连续向后移两个字节,向左滚动一列ljmpmm1;跳转到mm13.5延时程序设计 计算机执行一段程序需要时间,利用计算机执行程序耗用的时间实现延时的,称为“延时程序”。应用延时程序可方便地实现“软件延时”,不需另添加硬件,且变化灵活,故用得很多。缺点是在延时过程中CPU被占用,所以不宜设计太长的延时程序。[8]采取动态扫描方式,不断进行列扫描,动态扫描各LED发光二级管是轮流点亮的,由于视觉的暂留现象,却好像都点亮着,实际控制LED发光二级管的数据是逐一送出去的,对于动态扫描,轮到某管,等待该管点亮必须留给一段恰当的时间。于是延时程序起到一定作用。MOVR1,#14H;1MOVR2,#18H;1内循环外循环NOP;1 内循环外循环NOP;1DJNER2,DL1;2DJNER1,DL2;2RET;2程序段中每条指令执行时须要的机器周期注明在分号后面,又18H、14H分别为十进制的24与20,因此整个程序段耗时用的时间为:1+[1+(1+1+2)24+2]20+2=1983个机器周期其中圆括号为内循环的机器周期,方括号内为外循环的机器周期数。当采用12Hz晶振时,1机器周期=1μs,执行这段程序将用1983μs,与2ms相比,存在17μs误差,忽略不计。3.6PC机与单片机的串行通信程序3.6.1本文采用MAX232作为PC机与单片机的串行通信接口芯片。硬件连接时,可从MAX232中的2路发送器和接收器中任选一路,只要注意发送与接收的引脚对应关系即可。接口电路如图3所示。为了实现通信,双方约定如下:波特率:9600bit/s;帧格式:10位为一帧,包括1个起始位,8个数据位和1个停止位;传送方式:PC机采用查询方式收发数据,单片机采用中断方式收发数据。3.6.2用89C52单片机组成的应用系统,要与PC机进行串行通讯的话,必须加RS-232接口,因为PC机有现成的RS-232口。89PC机从键盘上输入一个字符,然后将这个字符发送给单片机,单片机接收到这个字符后,不做任何处理,又将它发送给PC机,PC机将这个字符显示在屏幕上,如果显示的字符与输入的字符一致,则表明PC机与单片机通信正常。在设计PC机与单片机通信程序时,应首先明确数据传输协议,例如:数据传输的帧格式、波特率、PC机与单片机在实现异步通信时的工作方式等。通讯接口电路如图11所示。图11与上位机接口电路以下是通讯程序流程图,见图12。YY初始化接收联络信号发送应答信号发送数据接收回答正确否?START接收数据发送应答信号START结束N NN图12通讯程序流程以下是通讯程序设计:89C52单片机初始化子程序:INIT:MOVA,#20H;定时器1方式2MOVTMOD,AMOVTH1,#0F3H;TH1作为初值寄存器用,波特率9600bit/sSETBPS;串行接口中断优先SETBEA;中断允许CLRET1;关定时器1中断SETBTR1;开始定时SETBES;允许串行接口中断MOVA,#0F0H;通讯方式3MOVSCON,A;SM2=1,REN=1(允许接受)RET89C52单片机发送子程序TRSUB:CLRTI;清除发送中断标志位MOVA,@r1MOVSBUF,ARET89C52单片机接收子程序RESUB:CLRRI;清除接受中断标志位MOVA,SBUFMOV@r0,ARET3.7硬件及软件的调试3.7.1软件调试软件调试是通过对用户所编程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除的过程。其具体的操作步骤是:第一步是在具有汇编软件的主机上和用户系统连接起来,进行调试准备。第二步是单步运行。第三步是系统连调,即进行软件和硬件联合调试。经调试,软件运行良好。3.7.2整机的调试与测试在上面的调试工作做好以后,接下来就要做整机的调试与测试工作了,将程序烧录单片机以后,给整机加上+5V的电压,一开始不能实现预期的功能。经万用表检测发现AT89C52单片机的31脚上没有加上+5V的电压而导致单片机不能正常的工作。大致目测一下电路底板的铜膜走线没有发现有大的断开的现象,但是经过我们用万用表细心地检查每一条铜膜走线。结果还是发现有一条走线不通,原因可能是因为在腐蚀的时候PCB图纸上不小心沾上了一点灰尘而导致微小的断开。排除故障后加电,系统能以正常的上电初始化了。但是我们在整机测试的过程中发现点阵在左移显示的时候速度很快,经过同组同学的讨论分析后,我们修改了程序中的延时程序,将显示1帧显示时间控制进行了适当的调整。最后达到了我们预期的目的。4.总结与展望随着集微电子技术,光电子技术,计算机技术,信息技术于一体的LED显示屏在各行各业的广泛应用,对其研究逐渐成为一个重要的课题。本文通过分析LED显示屏的技术发展现状,根据实际应用需求,完整的设计了LED显示屏控制系统。并且,针对系统中的关键问题进行详细的分析和实现,同时在理论上对其做了系统的论述和说明。基本符合预期设想,可以在实际中得到应用。4.1工作总结通过这次毕业设计,我知道了创新精神的重要性,一个民族需要进步,科技需要发展都来自与不断的创新。本次论文设计,与以往不同的是利用RS232串口与上位机之间连接,通过应用软件将要显示字符的16进制的数据发送到下位机中,从而能够达到一个实时显示的目的。通过设计论文,知道写论文的相关步骤。即,首先要进行系统需求分析,以确定系统要实现的功能。在对系统的工作过程进行深入分析后,把系统最终要达到的性能指标明确下来。然后可行性研究的目的是分析完成这个项目的可能性。根据可行性研究的结论来决定系统的开发研制工作是否值得进行下去。在完成这项工作时,应查阅国内外的相关资料,有人成功地做过类似的系统,可以借鉴他们的优点,并且对起不足之处进行改进。最后根据应用系统要完成的各项功能,把工作重点放在技术难点上。此时,参考国内外类似系统的技术资料,去长补短以减少重复性劳动,提出合理可行的技术指标。最后拟订性价比最高的一套方案。当然,在论文设计时也存在一定的问题。比如,由于以前对于单片机与上位机之间的通信程序设计比较少,经过黄河老师的细心指导以及查阅资料,终于能够克服困难,成功的完成软件设计。在设计中,涉及的知识面广泛,要求运用理论去处理问题的能力,实验能力,外语水平,计算机运用水平,书面及口头表达能力等。要想在短时间内做完这些任务需要自身统筹安排任务还需要团队的协助。4.2工作展望在本次设计工作中,通过对LED显示屏技术的发展的分析与研究,根据实际应用,采用最少的资源消耗,在系统的设计工作中得到了应用。但是由于LED显示屏的分析、设计与实际应用环境及应用目的有很大关系,所以对其控制系统的要求也是不同的。如果显示屏的面积要求很大,屏幕显示的信息量超大,那么要传输的数据量也随之增大,如何设计出更理想的软件程序,简化字模提取复杂度的需要进一步的研究和探讨。本系统设计着重于对双色屏的研究,对于灰度不同的真彩色LED显示屏的设计以及设备的驱动,有待于进一步的学习探讨。致谢首先,我要衷心的感谢我的指导教师------黄河老师。感谢黄河老师在我毕业设计期间,对我悉心的专业知识指导、关怀和勉励,使我能够顺利完成毕业设计工作。其次,我要感谢从事电子专业工作的徐坚老师对我在电路硬件原理的讲解。最后,感谢负责硬件设计的洪晨辉提供硬件设计电路图参考。由衷的向所有关心和帮助我的老师、同学、朋友表示感谢!参考文献[1]褚昌晨.LED显示屏系统原理及工程技术.成都:电子科技大学出版社,2000.[2]梁纯,王军.基于MCS-51单片机的LED点阵图文显示屏设计[J].工矿自动化,2005(6),90–92.[3]李志东.LED显示屏控制系统及驱动程序的研究与设计.硕士学位论文,单位代码10183,2005年.[4]朱定华.单片机原理及接口技术.电子工业出版社.2001年4月.[5]赵娟,高正明,李艳丽.点阵式汉字电子显示屏的设计制作.第二炮兵工程学院,2006年第五期.[6]范立南,谢子殿.单片机原理及应用教程.北京:北京大学出版社,2006.[7]王幸之.AT89系列单片机原理与应用.北京:北京航空航天大学出版社,2004.[8]丁元杰.单片微机原理及应用.北京:机械工业出版社,1999.[9]阎石.数字电子技术基础.北京:高等教育出版社,1998.[10]周荷琴,吴勇清.微型计算机原理与接口技术.合肥:重庆科技大学出版社,2004.[11]李光飞,楼然苗.51系列单片机设计实例.北京航空航天大学出版社,2003年3月.[12]谢宋和.单片机在LED显示屏中的应用.电子与自动化,98年第4期.[13]马黎.单片机控制的汉字点阵大屏幕显示.计算机应用研究,99年第11期.[14]张洪润,马平安.单片机原理及应用.科学出版社,1999.[15]刘乐善,欧阳星明,刘学清.微型计算机接口技术及应用.华中科技大学出版社,2000第一版.[16]李红萍,贾秀明.基于单片机的电子显示屏控制系统的设计.兰州实华职职业技术学院,2006第5期.[17]刘东红.利用单片机89C52的一个并行I∕O口实现多个LED显示的一种简单方法.国外电子元器件,2002年第8期.[18]张晓东.如何解决LED应用中的一些难题.计算机应用研究,98年第3期.[19]康志亮,廖国刚.LED点阵显示系统设计.云南民族大学学报(自然科学版)第15卷,第4期2006年10月.[20]潘矜矜,杨小劲.一种LED点阵汉字显示屏的制作.福建电脑,2006年第3期.[22]戚玉松.合肥机场电子显示系统的设计.硕士学位论文,2001年8月.[23]赵高生,杨文焕.单片机应用技术大全.西南交通大学.[24]V.Tietze.ch.Schenk.electronicscircuits-DesignandApplicationSpringer-Verlag.1991.[25]KevinShakily.VHDLforProgrammableLogic.南京:东南大学出版社,2002.[26]WilliamStalling.DataandComputerCommunication.清华大学出版社,1997.[27]U-Meyer-Bese.SignalProcessingwithFieldProgrammbleGateArray.北京:清华大学出版社,2003[28]BennavailJean-Christophe.Experimentsintheuseofaknowledgesupportsystemforthepricingofgasoli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论