1课程设计报告课题:LED汉字点阵显示系统设计********************目录*********************备忘录············································(7)1.概述·········································(8)2.设计思想·········································(9)3.系统硬件设计·········································(11)4.系统软件设计····································(23)5.系统测试·····································(27)6.心得体会······································(28)7.总结···········································(29)附录一程序清单······························(31)附录二参考文献································(37)附录三元件清单································(38)2LED汉字点阵显示系统设计备忘录1.概述单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。广大工程技术人员通过学习有关单片机的知识后,也能依靠自己的力量来开发所希望的单片机系统,并可获得较高的经济效益。正因为如此,在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、家用电器等各个方面。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字。LED显示屏主要用于广告宣传,其效果图并茂、形象生动。汉字显示方式是先根据所需要的汉字提取汉字点阵(如16×16点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。本次设计利用单片机来实现嵌入式系统的开发,以更好的掌握单片机的功能和应用。设计内容:基本要求:采用AT89C51单片机和LED点阵显示模块设计实现对任意组合时间内容完成情况2007年1月8日到12日查找资料,构思设计方案良好2007年1月13日整理资料,确定设计方案,画出设计电路图良好,电路图标注还欠仔细,下次注意2007年1月16到22日进行电路焊接、元件组装,同时着手单片机程序编写布线要尽量合理,焊接要细心2007年1月23到25日进行仿真调试,完成点阵显示测试良好2007年1月26日调试成功,程序写入芯片良好3点阵信息的显示。提高要求:具有显示内容自动更新的功能以完成对任意存储的信息内容进行完整显示。技术指标:汉字显示采用16*16点阵;显示屏在室内大厅条件下应具有明显的可视效果;采用动态扫描线时方式;显示无闪烁(扫描频率大于50Hz);显示内容更新采用字幕左移方式(提高要求);移动无抖动(提高要求)。2设计思想LED电子显示屏是利用计算机按一定规律控制点阵排列的发光二极管的亮与暗,而不控制LED的发光强弱,从而实现图像或文字的显示。通常事先把需要显示的图形文字转换成点阵图形,在按照显示控制的要求以一定的格式形成显示数据。对于只控制通断的图文显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LED器件发光的数据中相应的位填1,否则填0。当然,根据控制电路的安排,相反的定义同样时可行的。这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件。显示图形的数据文件,其格式相对自由,只要能够满足显示控制的要求即可。文字的点阵格式比较规范,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有16×16、24×24、32×32、48×48等不同规格。用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。对于小型的显示屏通常用16*16的点阵去显示不同的汉字。这是因为一方面16*16的点阵已基本满足描述不同汉字的点阵排列,节省了成本,而低于16*16的点阵则不足以描述较复杂笔划的汉字,高于16*16的点阵又将大大的增加显示屏的成本:另一方面在计算机的ccdos操作系统中,已有现成的16*16点阵汉字字库,这种点阵已广泛地被人们接受和熟悉,并有相应的国家标准如GB2312-80,从而免去了设计者自己编制汉字字库的繁琐的工作,这为显示屏的应用提供了条件.。图(1)是由4LED构成的16X16点阵结构,其中涂黑的圆点表示点亮的LED,它组合成汉字“重“字,其十六进制代码(DB00H,38H,3FH,C0H,01H,04H,FFH,FEH,01H,10H,1FH,F8H,11H,10H,1FH,F0H,11H,10H,1FH,F0H,01H,00H,3FH,F8H,01H,00H,01H,04H,FFH,FEH,00H,00H)共32个字节.该代码取自于2.13H汉字系统单笔化简体字库,根据需要还可以选择双笔化简体或繁体字库以适应不同场合的应用.显然,计算机根据不同的代码,可构成16X16点阵的不同点亮LED的组合,这就可以显示各种不同的汉字,西文及图形.如果显示屏由多个16X16的点阵组成,这不同点亮LED的组合还可以描述出24X24或40X40甚至更大的汉字以及复杂的图形.LED显示系统有两种最基本的显示模式,即静态显示和动态显示。对于静态显示方式,每一像素都需要一套驱动电路,因而它的优点是没有扫描过程,显示控制简单,亮度极佳。然而一个显示屏通常是由很多像素组成,例如某系统有16行192列共16*192=3072个像素,可以想象如果采用静态显示其驱动电路的复杂度,这不仅使系统成本高,而且增加了生产、安装、调试及日常维护工作的难度,故障率也较高。对于动态扫描显示,由于采用多路复用技术,这可使驱动电路的套数大大减少,从而克服了静态显示的不足。但是,既然是多路复用,这就存在时分复用的问题,因而使每路显示的时间大为减少,这不仅使LED显示亮度受到了一定程度的影响,而且增大了显示控制的复杂性和显示的稳定性.本系统要求采用动态扫描控制显示方法,通过实验研究合理的解决显示亮度,显示控制和稳定性的问题.虽然采用了多路服用技术后,驱动电路大大简化,但驱动电路的数目仍然不是一个小数,为此提出了一个全集成化驱动方案,使驱动电路板和显示板和二为一,进一步简化了安装和调试工作,并提高了系统的可靠性.53.系统硬件设计3.1主要器件介绍LED点阵屏是由4个8*8的点阵模块组成,形成16*16的矩形点阵,以单片机AT89C51为控制核心。其他主要的硬件芯片如下:①带锁存输出的8位边沿锁存缓冲器74LS374,用作行驱动。②四重二输入或门74LS32,用于行驱动器的选择。③八大林顿晶体管阵列ULN2803,用作列驱动。3.2主要器件详细说明3.2.1AT89C51此为整个系统的主控芯片,引脚图和内部构造原理图如下:图(1)6XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C5178说明:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。①.主要特性:·与MCS-51兼容·4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路②.管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作9为第八位地址接收。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.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。10/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时