资源描述
桂林航天工业学院论文LED汉字显示屏的设计与制作LED Chinese characters display design and production毕 业 设 计( 论 文 )评 语指导教师评语 签字: 201 年 月 日评阅教师评语 签字: 201 年 月 日III毕业设计(论文)答辩记录成绩及评语答辩提问记录 记录人: 201 年 月 日答辩委员会评语成 绩:主任签字: 201 年 月 日桂林航天工业学院电子工程系毕 业 设 计 任 务 书装 订 线专业:应用电子技术年级: 2009姓名徐娜学号200904320214指导教师(签名)毕业设计题目LED汉字显示屏的设计与制作任务下达日期2012年1月10日设计提交期限2012年6月10日设计主要内容设计一个实现汉字滚动显示并能较容易改变显示内容的16*32点阵LED汉字显示屏。主要技术参数指标通过编程控制可改变显示屏的内容实现汉字的滚动显示及改变其显示时间至少能显示八个汉字(显示制作者的单位名字等成果提交形式论文、实物设计进度安排1月10日2月10日收集资料2月10日3月10日方案设计论证3月10日4月10日硬件设计与制作4月10日5月10日编写程序及调试5月10日6月10日书写报告,提交设计成果 教研室意见 签名: 201 年 月 日 系主任意见签名: 201 年 月 日摘 要桂林航天工业学院电子工程系毕 业 设 计 开 题 报 告装 订 线姓名徐娜学号200904320214指导教师简远鸣毕业设计题目LED汉字显示屏的设计与制作同组朱俊臣、何松裕设计目的意义设计LED汉字显示屏加深单片机知识的应用,从而加强自己的动手能力,开拓自己的视野,且LED显示屏具有组构方式灵活、功耗低、等特点在车站、运动场馆、等公共场合的信息发布等得到广泛的应用。方案论证本次设计单片机采用STC89C52,行电路使用逐行扫描的方式,列电路使用串入并出的数据传输方式,显示屏使用由4块SBM1388型号的实验模块组成1632点阵模块。使用到的芯片有传入并出移位寄存器74HC595、行驱动芯片74HC138、三极管8550 。时间安排1月10日2月10日收集资料2月10日3月10日方案设计论证3月10日4月10日硬件设计与制作4月10日5月10日编写程序及调试5月10日6月10日书写报告,提交设计成果 指导教师意见 签字: 年 月 日 审核小组意见 组长签字: 年 月 日中文摘要LED 显示屏是一种新型信息显示媒体,集微电子技术、光电子技术、计算机技术、信息处理技术于一体的大型显示系统。以其色彩鲜艳,动态范围广,亮度高,寿命长,工作性能稳定特点,广泛应用于广告、证券、信息传播、新闻发布等方面。 本文设计了基于单片机的LED汉字显示屏,给出了系统框图,硬件模块设计图、软件流程图和程序。硬件模块设计方面,主控制系统采用单片机控制方式,实现点阵 LED显示屏的驱动及信息的保存与显示。LED显示点阵主要由LED、字模及其电路构成。通过单片机的控制驱动电路,采用扫描方式进行显示。用C语言进行软件设计,增加了程序的可读性和可移植性。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。通过调试实现了汉字的滚动显示功能,达到了预期效果。关键词:STC89C52单片机 LED 点阵 动态显示ABSTRACTLED display is new information shows that the media set microelectronic technology, photonics technology, computer technology, information processing technology in the large-scale integrated display system. With its colorful, wide dynamic range, high-brightness, long life and performance characteristics of stability, widely used in advertising, securities, information dissemination, press releases, and so on. This paper was designed based on SCM LED display Chinese characters. By Given system diagram, hardware module design, software, flow charts and procedures, hardware module design, the main control system using SCM control, and dot-matrix LED display driver and the preservation and display of information. LED display lattice mainly by the LED, word-model and its circuit. SCM control through the drive circuit, a scan showed that way. C language software designed to increase the readability of the procedure and portability. In order to facilitate the expansion and changes, the software design is modular structure, so that the logic of relations much concisely. Through the pilot realized the rolling display Chinese characters, achieved the expected results.KEY WORDS:STC89C52 Micro Controller Unit, LED , Field-array ,Dynamic displayv目 录第一章 前言1第二章 系统整体设计方案22.1 实现的功能22.2 LED显示特点22.3 设计方案论证32.3.1 显示模式方案32.3.2 数据传输方案4第三章 系统硬件部分设计63.1 单片机系统及外围电路63.1.1 单片机的选择63.1.2 STC89C52芯片介绍63.1.3 单片机系统外围电路93.2 列驱动电路103.3 行驱动电路123.3.1 行驱动芯片74HC138 介绍123.4 行驱动电路133.5 LED显示屏电路15第四章 系统软件部分设计184.1 系统主程序184.2 显示驱动程序19第五章 调试及性能分析215.1 软件调试215.2 硬件调试225.3 性能分析22第六章 总结与展望24参考文献25致 谢26附录一 电路图27附录二 系统程序清单29- ii - 1 -桂林航天工业学院毕业论文第一章 前言LED电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体。由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富、工作性能稳定以及对室内室外环境适应能力强等优点而日渐成为显示媒体中的佼佼者。LED点阵显示在20世纪80年代以来以一种崭新的形式被广泛运用在社会的各个方面,尤以点阵显示广告牌为甚。LED点阵显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万到几十万个半导体发光二极管像素点均匀排列组成,利用不同的材料可以制造不同色彩的LED像素点,目前应用最广的是红色、绿色、和黄色;而蓝色和纯绿色LED已经达到了实用阶段。LED显示频可以显示变化的数字、文字、图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED点阵电子显示屏制作简单,安装方便,被广泛应用于各种公共场合,如:银行、飞机场、火车站、汽车站、各种室外广场公告牌或广告牌,究其原因是其使用寿命长,高亮度、宽视角、低功耗、大对比度、色彩鲜艳,可以显示静动态字符及图画。由于单片机技术的不断发展以及高亮度LED发光管的出现,使得大屏幕高亮度LED电子广告屏成为可能。与传统的霓虹灯广告相比,LED电子广告屏在显示效果以及可修改性上都有着无法比拟的优势,而且单片机的日益平民化以及LED技术的不断创新,使得高亮度高清晰的LED点阵广告牌与传统霓虹灯广告牌的成本日益接近。另外,SMT技术飞速发展,开关电源的大规模使用,使其无论在体积上还是在可靠性上都比传统的霓虹灯广告有明显的优势,为其在特殊领域的应用奠定了基础。如今在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、智能化家用电器、航空航天系统和和国防军事、尖端武器等各个方面。我们可以开发利用单片机系统以获得很高的经济效益。更重要的意义是单片机的应用改变了控制系统传统的设计思想和方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。这种以软件结合硬件或取代硬件并能提高系统性能的控制技术称为微控制技术。例如,本文所要论述的通过单片机来控制LED点阵显示。- 37 -第二章 系统整体设计方案2.1 实现的功能设计一个室内用1632点阵LED汉字显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。2.2 LED显示特点LED发光灯可以分为单色发光灯、双色发光灯、三色发光灯、面发光灯、闪烁发光灯、电压型发光灯等多种类型。按照发光灯强度又可以分为普通亮度发光灯、高亮度发光灯、超高亮度发光灯等。这种单个的发光灯适宜用做指示灯,如电源指示、电路状态指示灯,进而对能够转变成电信号的各种物理量进行指示。也可以用多个LED发光灯组成固定的字符或图形进行显示,如大型剧场会堂的出入口及洗手间的显示。和很多应用术语一样,LED图文显示屏并没有一个公认的严格的定义,一般把显示图形和/或文字的LED显示屏称为图文屏。这里所说的图形,是指由单一亮度线条组成的任意图形,以便于不同亮度(灰度)点阵组成的图像相区别。图文显示屏的主要特征是只控制LED点阵中各发光器件的通断(发光或熄灭),而不控制LED的发光强弱。LED图文显示屏的外观可以做成条形,叫做条形图文显示屏(简称条屏),也可以按一定高度比例做成矩形的平面图文显示屏。其实条屏只不过是其宽度远大于高度的平面显示屏,在显示与控制的原理上并无区别。从理论上说,不论显示图形还是文字,都是控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光。通常事先把需要显示的图形文字转换成点阵图形,再按照显示控制的要求以一定的格式形成显示数据。对于只控制通断的图文显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LED器件发光的数据中相应的位填1,否则填0。当然,根据控制电路的安排,相反的定义同样是可行的。这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件。显示图形的数据文件,其格式相对自由,只要能够满足显示控制的要求即可。文字的点阵格式比较规范,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有1616、1632、2424、3232、4848等不同规格。汉字的点阵结构相应的显示数据是用16进制格式以字节为单位表示的。用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。 点阵显示方式适应信息变化的优点,是以点阵显示器的价格和其复杂的控制电路为代价的。点阵显示器在整个显示单元的所有位置上都布置了LED器件,而像数码管一类的显示器件只在需要发光的七段位置上布置LED器件,其它位置是空白的。因此,点阵显示器在相同面积情况下,价格要贵些。但是,数码管可显示的信息有限,只有09或单个的英文字符,由于组合形成的字符不多,所以其显示数据和控制电路都比较简单。点阵显示器则不然,它要对点阵上全部LED进行控制,并能生成所有可能显示的图形文字,其显示数据和控制电路自然要复杂得多。因此,根据不同的场合,不同的显示特点和格式可以分别采用数码管器件或点阵显示方式,有的情况可以采用两者搭配的混合屏显示方式。汉子显示屏的颜色,有单色、双色、和多色几种。最常用的是单色图文屏。单色屏多使用红色、橘红色或橙色LED点阵单元。双色图文屏和多色图文屏,在LED点阵的每一个“点”上布置有两个或多个不同颜色的LED发光器件。换句话说,对应于每种颜色都有自己的显示矩阵。显示的时候,各颜色的显示点阵是分开控制的。事先设计好各种颜色的显示数据,显示时分别送到各自的显示点阵,即可实现预期效果。每一种颜色的控制方法和单色的完全相同,因此掌握了单色图文显示屏的原理,双色屏和多色屏就不难理解了。2.3 设计方案论证2.3.1 显示模式方案为了吸引观众增强显示效果,可以有多种显示模式,最简单的显示模式是静态显示。这里所说的“静态显示模式”不同于静态驱动方式。与静态显示模式相对应,就有各种动态显示模式,它们所显示的图文都是能够动的。按照图文运动的特点又可以分为闪烁、平移、旋转、缩放等多种显示模式。产生不同显示模式的方法,并不意味着一定要重新编写显示数据,可以通过一定的算法从原来的显示数据直接生成。例如,按顺序调整行号,可以使显示图文产生上下平移;而顺序调整列显示数据的位置,就可以达到左右平移的目的;同时调整行列顺序,就能得到对角线平移的效果。其它模式的数据刷新,也可找到相应的算法。不过当算法太复杂,太浪费时间的话,也可以考虑预先生成刷新数据,存储备用。刷新的时间控制,要考虑运动图形文字的显示效果。刷新太慢,动感不显著;刷新太快了,中间过程看不清。一般刷新周期可控制在几十毫秒范围之内。 同时控制LED显示屏的各个发光点亮灭的方法称为静态驱动显示方式。1616的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是1616的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。而且静态显示功耗大,显示一个1616的字的功耗为:1632105=12800mW=12.8W!普通电池根本无法驱动,要是组成大显示屏那功耗将更惊人。同理1632的点阵的锁存器的功耗将是1616的点阵的2倍,因此虽然静态显示效果好,但是在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器,每行有一个行驱动器,具体就1632的点阵来说,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。另一方面,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,就在该行该列燃亮相应的LED;未接通的列所对应的LED熄灭。当一行的扫描持续时间结束后,该行燃亮的LED也就熄灭;下一行又以同样的方法进行显示。全部各行都扫过一遍之后(一个扫描周期),又从第一行开始下一个周期的扫描。只要一个扫描轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就不容易感觉出闪烁现象,就能看到显示屏上稳定的图形了。而且动态扫描方式功耗低,硬件成本低,每个LED都不是连续工作,因而还有利于延长LED的使用寿命。2.3.2 数据传输方案采用扫描方式进行显示时,显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输方式的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据要经过并行到串行和串行到并行两次变换。首先,单片机从存储器中读出的8位并行数据要通过并串变换,按顺序一位一位地输出给列驱动器。与此同时,列驱动器中每一列都把当前数据传向后一列,并从前一列接收新数据,一直到全部列数据都传输完为止。只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,准备下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图2-1为显示屏电路实现的结构框图。单片机列驱动器行驱动器LED显示点阵电源图2-1 显示屏电路框图第三章 系统硬件部分设计3.1 单片机系统及外围电路3.1.1 单片机的选择由于设计要求系统能独立运行,并能控制中文LED汉字的移位显示,主控板应以单片机为核心的单片机系统。单片机采用89C52或其兼容系列的芯片进行控制,它负责控制整个电路以及相应的程序的运行、以及给屏体电路部分发送命令。这里我们选择了内含4K字节Flash的STC89C52,因为我们只需要显示特定的文字,无需庞大的字库,因此4K Flash已经可以满足字库储存的需求,不需要扩展外存储器。3.1.2 STC89C52芯片介绍STC89C52是美国ATMEL公司生产的8位Flash ROM单片机。其最突出的优点是片内ROM为Flash ROM,可擦写1000次以上,应用并不复杂的通用ROM写入器就能方便的擦写,读取也很方便,价格低廉,具有在片程序ROM二级保密系统。因此可灵活应用于各种控制领域。STC89C52包含以下一些功能部件:内含一个8位CPU 和 ;一个片内振荡器和时钟电路;有8KB Flash ROM 以及128B 内RAM;它还可寻址64KB的外ROM和外RAM控制电路;两个16位定时/计数器,21个特殊功能寄存器 ;4个8位并行I/O口;一个可编程全双工串行口 ;5个中断源,可设置成2个优先级。STC89C52单片机一般采用双列直插DIP封装,共40个引脚,图3-3为其引脚排列图。40个引脚大致可分为4类:电源、时钟、控制各I/O引脚。 一 电源Vcc芯片电源,接+5V;GND接地端。二 时钟XTAL1、XTAL2晶体振荡电路反相输入端和输出端。图3-3 STC89C2引脚图三 控制线控制线共有4根,其中3根是复用线。所谓复用线是指具有两种功能,正常使用时是一种功能,在某种条件下是另一种功能。1ALE/地址锁存允许/片内EPROM编程脉冲。(1)ALE功能:用来锁存P0口送出的低八位地址。STC89C52在并行扩展外存储器时,P0口用于分时传送低8位地址和数据信号,且均为二进制数。当ALE信号有效时,P0口传送的是低8位地址信号;ALE信号无效时,P0口传送的是低8位地址信号。在ALE信号的下降沿,锁定P0口传送的内容,即低8位地址信号。需要指出的是,当CPU不执行访问外RAM指令,ALE以时钟振荡频率1/6的固定频率输出,因此ALE信号也可作为外部芯片CLK时钟或其他需要。但是,当CPU执行MOVX指令时,ALE将跳过一个ALE脉冲。(2)功能:片内EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。2 外ROM读选通信号。89C52读外ROM时,每个机器周期内两次有效输出。可作为外ROM芯片输出允许的选通信号。在读内ROM或读外RAM时,无效。3RST/VPD复位/备用电源。(1)正常工作时,RST端为复位信号输入端,只要在该引脚上连续保持两个机器周期以上高电平,STC89C52芯片即实现复位操作,复位后一切从头开始,CPU从0000H开始执行指令。(2)VPD功能:在VCC掉电情况下,该引脚可接上备用电源,由VPD向片内RAM供电,以保持片内RAM中的数据不丢失。4/VPP内外ROM选择/片内EPROM编程电源。(1)功能:正常工作时,为内外ROM选择端。STC89C52单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外。当保持高电平时,先访问内ROM,但当PC值超过4KB时,将自动转向执行外ROM中的程序。当保持低电平时,则只访问外ROM,不管芯片内有否内ROM。(2)VPP功能:片内有EPROM的芯片,在EPROM编程期间,此引脚用于施加编程电源。四 I/O引脚STC89C52有P0、P1、P2、P3 4个8位并行I/O端口,共32个引脚。P0口是一组8位漏级开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL逻辑门电路,对端口写1时,又可作高阻抗输入端用。P1 口是带内部上拉电阻的双向I/O口,向P1口写入1时P1口被内部上拉为高电平,可用作输入口。Flash编程和程序校验期间,P1接收低8位地址。P2 口是带内部上拉电阻的双向I/O口,向P2口写入1时P2口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P2口会因为内部上拉而输出电流。Flash编程和程序校验时,P2也接收高位地址和一些控制信号。P3 口是带内部上拉电阻的双向I/O口,向P3口写入1时P3口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P3口会因为内部上拉而输出电流。P3口除了作为一般的I/O口线外,更重要的是它的第二功能,如表31所示:P3 口是带内部上拉电阻的双向I/O口,向P3口写入1时P3口被内部上拉为高电平可用作输入口,当作为输入脚时被外部拉低的P3口会因为内部上拉而输出电流。表31 P3各端口第二功能端口引脚第二功能P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2外部中断0请求输入端P3.3外部中断1请求输入端P3.4T0定时/计数器0外部信号输入端P3.5T1定时/计数器1外部信号输入端P3.6外RAM写选通信号输出端P3.7外RAM读选通信号输出端3.1.3 单片机系统外围电路单片机系统外围电路形式如图3-4所示。单片机振荡器反相放大器的输入端(XTAL1)和输出端(XTAL2)之间接上12MHz或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。电容C4、C5是晶振的负载电容,主要起频率微调和稳定的作用。单片机的串行口工作在方式0下,作为同步移位寄存器使用,端口RXD(P3.0)作为数据移位的输入/输出端,而由TXD(P3.1)端输出移位时钟脉冲。移位数据的发送和接收均以8位为一帧,不设起始位和停止位,无论输入/输出,均低位在前高位在后。89C52的通用I/O口P1作为显示数据和二进制行号的公用输出口。两种数据的输出在时间上是错开的。P1口的低4位与行驱动器相连,送出二进制的行选信号;P1.5P1.7口则用来发送控制信号。P0和P2口空着,在有必要的时候可以扩展系统的ROM和RAM。图3-4 单片机系统外围电路图3.2 列驱动电路74HC595 是一款漏极开路输出的CMOS 移位寄存器,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片。74HC595的时钟频率至少能达2525MHz,74HC595具有标准串行(SPI)接口,且Yxi838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号-各种图纸CMOS 串行输出,可用于多个设备的级联,其低功耗:TA =25时,Icc=4A(MAX)Yxi838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号-各种图纸Yxi838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号-各种 列驱动电路由集成电路74HC595构成,它具有一个8位串行输入/输出或者并行输出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。Yxi838电子-技术资料-电子元件-电路图-技术应用网站-基本知识-原理-维修-作用-参数-电子元器件符号-各种图纸74HC595的管脚及内部结构形式如图3-5所示。图3-5 74HC595的管脚及内部结构逻辑图74HC595的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SER是串行数据的输入端。引脚SRCLK输入移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。RCLK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。信号是移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为0,由于SRCLK和RCLKError! No bookmark name given.两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位QH可作为多片74HC595级连应用时,向上一级的级连输出。但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH,作为与移位寄存器完全同步的级连输出。移位寄存和输出锁存的时序波形如图3-6所示:图3-6 移位寄存和输出锁存的时序波形图由74HC595组成的列驱动器示于图3-7中。该图由两片74HC595组成16列的驱动,由16个行驱动器驱动16行。第一片列驱动器的SER端连接单片机输出的串行列显示数据,其QH端连接第二片的SER端,采用这样的方法组成两片的级连。两片相应的SRCLK、RCLK端分别并联,作为统一的串行数据移位信号、串行数据清除信号和输出锁存器打入信号。这样的结构,使得各片串行移位能把16列的显示数据依次输入到相应的移位寄存器输出端。移位过程结束之后,控制器输出RCLK打入信号,16列显示数据一起打入相应的输出锁存器。然后选通相应的行,该行的各列就按照显示数据的要求进行显示。图3-7 显示驱动电路3.3 行驱动电路3.3.1 行驱动芯片74HC138 介绍74HC138 作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统,在 高性能存贮器系统中,用这种译码器可以提高译码系统的效率。将快速赋能电路用于高速存贮器时,译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器所引起的有效系统延迟可以忽略不计。 HC138 按照三位二进制输入码和赋能输入条件,从8 个输出端中译出一个低电平输出。两个低电平有效的赋能输入端和一个高电平有效的赋能输入端减少了扩展所需要的外接门或倒相器,扩展成24 线译码器不需外接门;扩展成32 线译码器,只需要接一个外接倒相器。在解调器应用中,赋能输入端可用作数据输入端。74HC138真值表如表32所示表32 74HC138译码器的真值表3.4 行驱动电路行驱动电路相对简单。行选通信号来源于单片机按照时序要求所给出的二进制信号,每次更新行号(开始扫描新的一行)时,由单片机输出4位二进制行号,行号经4/16线译码器译码后,生成16条行选通信号线,再经过驱动器驱动对应的行线。采用译码器的方案,还可以保证同一时刻只选通一条行线,从而达到显示的稳定性。行驱动电路原理如图3-9所示:图 3-9 行驱动电路行选通信号从74HC138的端输出,某一端输出低电平即为有效,而其它端输出均为高电平的信号无效。如端输出低电平,此信号传至相应的PNP型三极管Q1,此时,三极管的基极为低电平,因此,发射结正向偏置,集电结反向偏置,三极管导通,其集电极再将高电平加于LED阵列的对应的行上,即将此行选通;而同时74HC138的其它端输出高电平而致使该行对应的三极管截止,从而所对应LED行线不被选通。行选通按顺序从,全部各行都选通一遍之后又重新开始,这就是行驱动电路的逐行扫描过程。行信号A、B、C、D的顺序变化范围从0000、0001、0010、至l111,来一个选通信号,行信号顺序就变化一次,其频率由扫描电路决定。由于行驱动电路一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,16个LED同时发光时,就需要1620=320mA的驱动电流,选用三极管8550作为驱动管可以在逻辑功能和驱动能力上符合LED的驱动要求。3.5 LED显示屏电路LED显示屏是将发光二极管按行按列布置的,驱动时也就按行按列驱动。在扫描驱动方式下可以按行扫描按列控制,当然也可以按列扫描按行控制。LED显示屏现多采用多块88点阵显示单元拼接而成。本文就是使用4块SBM1388型号的实验模块组成1632点阵,以满足汉字显示的要求。88 LED点阵是最基本的点阵显示模块,理解了88 LED点阵的工作原理就可以基本掌握LED点阵显示技术。88点阵LED结构如图3-10所示,其等效电路如图3-11所示:图3-10 88点阵LED结构图图3-11 88点阵LED等效电路图从图中(本图的LED阵列采用共阳的接法)可以看出,88点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。要实现显示图形或字体,只需考虑其显示方式,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。当采用按行扫描按列控制的驱动方式时,LED显示屏8行的同名列共用一套列驱动器。行驱动器一行的行线连接到电源的一端,列驱动器一列的列线连接到电源的另一端。应用时还应在各条行线或列线上接上限流电阻。扫描中控制电路将行线的1到 8轮流接通高电位,使连接到各该行的全部LED器件接通正电源,但具体那一个LED导通,还要看它的负电源是否接通,这就是列控制的任务了。当对应的某一列置0电平,则相应的二极管就亮;反之则不亮。例如:如果想使屏幕左上角LED点亮,左下角LED熄灭的话,在扫描到第一行时,第一列的电位就应该为低,而扫描到第八行时第一列的电位就应该为高。这样行线上只管一行一行的轮流导通,列线上进行通断控制,实现了行扫描列控制的驱动方式。3.6 时钟脉冲电路89C52的最高时钟脉冲频率已经达到24 MHz,它内部已经具备了振荡电路,只要在89C52的两个引脚(即19、18脚)连接到简单的石英振荡晶体的2个管脚即可,同时晶体的2个管脚也要用30 pF的电容耦合到地,如图3-11所示。图3-11时钟脉冲电路3.7 复位电路89C52的复位引脚(RESET)是第9脚,当此引脚连接高电平超过2个机器周期时,即可产生复位的动作。以24 MHz的时钟脉冲为例,每个时钟脉冲为05s,两个机器周期为1 s,因此,在第9脚上连接1个2s的高电平脉冲,即可产生复位动作。最简单的就是只有1个电阻跟1个电容就可构成可靠复位的电路,电阻一般选择10 k,电容一般选择10F,如图3-12所示。图3-12复位电路3.8 小结以上就是1632点阵LED电子显示屏系统硬件部分的各功能模块分述,经过合理的设计论证后和就可以整体结合在一起,再根据设计配备好各元器件实物,通过组装后等在单片机的程序存储器里放入编制好的程序即可成为一个完整的应用系统。系统综合电路原理图见附录一。第四章 系统软件部分设计在单片机系统中,硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的任务。软件的设计是设计控制系统的应用程序。其任务是在总体设计和硬件设计的基础上,确定程序结构,分配内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。在进行系统总体设计时,曾经规划过软件结构,但由于硬件系统尚未仔细确定,软件结构框图十分粗糙,当硬件设计接口扩展及各功能模块与CPU连接关系确定后,就能够具体明确对软件设计的要求。本设计的LED显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。从有利于实现语言的直观,易于记忆和检查,可读性较好和使语言程序占用较少的单片机存储空间,实时处理系统可以快速的执行指令的角度考虑,本设计中显示屏程序采用C语言编写。 4.1 系统主程序系统主程序的总体结构如图4-1所示。系统的主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后LED显示屏进入开机状态,转入正常的显示。首先是向左滚动显示“桂林航专”4个汉字;接着向右滚动显示这4个汉字;再分别向上滚动和向下滚动。由于单片机没有停机指令,所以可以设置系统程序不断地循环执行上述显示效果。系统程序结构属中断方式,绝大多数功能在中断服务子程序中完成。根据总体结构,可将程序划分为几个功能化模块:串行口中断服务程序、多字滚动显示子程序、单字显示子程序、扫描程序。各个模块可进行独立设计、调试和查错,最终再连接成一个整体。这样可方便程序调用,程序整体层次清晰,结构一目了然,方便阅读。进入中断定时器赋初值读取行号并增1送新行显示数据消 隐切换显示数据送新行号、打开显示退出中断图4-2 显示驱动程序流程图开 始系统初始化“上滚屏”显示效果循环扫描显示图4-1 系统主程序的总体结构4.2 显示驱动程序图4-2为显示驱动程序(显示屏扫描函数)流程图。根据流程图可以编写出相应的显示程序。显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:刷新率(帧频)=(1/16)T0溢出率 =(1/16)(f/(12*(65536- t)其中f为晶振频率,t为定时器T0初值(工作在16位定时器模式)。T0初值=2 (定时时间/机周时间)图4-3 定时/计数器T0工作方式1逻辑电路结构图其中N与工作方式有关,本设计定时/计数器工作于方式1,如图4-3所示,方式1构成一个16位定时计数器,即N=16。方式1最大计数值为216=65536 ,若fosc=12MHz,则定时时间范围为165536s。机周时间与主振频率有关,机器周期是时钟周期的12倍,因此,机周时间=12/ fosc。当fosc=12MHz时,1机周=1s。显示屏软件的主要功能是向显示屏提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向点阵屏传送特定组合的显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由显示子程序实现;系统环境设置(初始化)由系统初始化程序完成;显示效果处理等工作,则由主程序通过调用子程序来实现。然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。显示程序给出了各控制信号和显示数据,其作用及相互配合关系均已在硬件部分作过介绍,相应的程序部分在清单的注释区内分别进行了说明,在此不再一一详述。系统程序清单见附录二。第五章 调试及性能分析一个单片机系统经过总体设计,完成了硬件和软件设计开发。元器件安装后,在系统的程序存储器中写入编制好的应用程序,系统即可运行。但编制好的程序或焊接好的线路不能按预计的那样正常工作是常见的事,多少会出现一些硬件、软件上的错误。这就需要通过调试来发现错误并加以改正。调试可分为硬件调试和软件调试。在允许的条件下,根据本设计系统的需求性首先采用在PC机上用模拟开发软件进行检测和调试,然后进行硬件的组装与调试。5.1 软件调试软件调试根据开发的设备情况可以有3种方法:交叉汇编、借助进行汇编语言调试、手工汇编、脱机调试等。本次软件调试采用脱机调试的方法,即完全用仿真器软件在PC机上对目标电路原理图和程序进行检测和调试。调试过程中单片机相应输入端由通用键盘和鼠标设定,运行状态、各寄存器状态、端口状态等都可以在CRT指定的窗口区域显示出来,以确定程序运行有无错误。调试可按下列步骤进行:一 目标程序纠错该阶段工作通常在目标程序编辑时就完成。一般来说,仿真器软件能给用户输入的程序指令纠错,包括书写格式、标号未定义或多重定义、转移地址溢出等错误。二 子程序功能调试程序设计通常采用模块程序设计,调试时可对一个个子程序分别进行调试,设置好入口条件,然后采用单步运行或断点运行方式,检查系统CPU现场、RAM和I/O口状态,看程序执行结果是否符合设计要求。三 整体程序综合调试即把各子程序整体连起来进入到综合电路调试,看是否能实现预计的功能显示。在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。用软件模拟器调试不需任何在线仿真器,也不需要用户样机,直接就可以在PC机上开发和调试。调试和修改完毕后,对于实时性要求不高的应用系统可以直接使用编程器将软件固化在目标系统ROM中,然后独立投入运行。5.2 硬件调试单片机应用系统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常要先排除系统中明显的硬件故障。调试工作可以分为四步:一 目测检查根据硬件逻辑设计图,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,必要时可用万用表检测线路通断情况。二 通电检查 在确保电源良好前提下,接通电源。最好在电源与其余电路之间串接一个电流表。若接通后电流很大,必须立即切断电源。电源大得超出正常范围,说明电路中有短路或故障。通电检查的主要目的是看系统是否存在短路或由元器件损坏、装配错误引起的电流异常。三 检查相应芯片的逻辑关系加电后检查各芯片插座上相关引脚的电位,仔细测量相应的输入输出电平是否正常。单片机系统大都是数字逻辑电路,使用电平检查法可首先查出逻辑设计是否正确,选用器件和连接关系是否符合要求等。5.3 性能分析系统通过调试组装后一般即可正常工作。LED显示屏的刷新频率及显示显示效果是主要的性能指标。显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,表5-1给出了显示屏采用的频率及其对应的定时器T0初值表51 显示屏刷新率(帧率)与T0初值关系表刷新率/Hz255062.57585100120T0初值OxEC78OxF63COxF830OxF97EOxFA42OxFB1EOxFBEE理论上来说,24Hz以上的刷新率就能看到连续稳定的显示,刷新率越高,显示越稳定,同时刷新率越高,显示驱动程序占用的CPU时间也越多。实验证明,在目测条件下刷新率40Hz以下的画面看起来闪烁较严重,刷新率50Hz以上的已基本觉察不出画面闪烁,刷新率达到85Hz以上时再增加画面闪烁没有明显改善。显示效果处理的内容和方法非常广泛,根据需求可做变动,在这里不做具体讨论。根据实践证明,这个方案设计的1632点阵LED图文显示屏,结构合理,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。第六章 总结与展望本文通过分析 LED 显示屏的技术发展现状,根据实际应用需求,完整的设计了 LED 显示屏控制系统。并且,针对系统中的关键问题进行详细的分析和实现,同时在理论上对其做了系统的论述和说明。基本符合预期设想,并在实际中得到应用。随着集微电子技术,光电子技术,计算机技术,信息技术于一体的LED 显示屏在各行各业的广泛应用,对其研究逐渐成为一个重要的课题。参考文献秦文豪.点阵汉字显示原理及其在点阵LCD&LED中的应用2 诸昌铃.LED显示屏系统原理及工程技术M.成都电子科技大学出版社,2000.12.3张毅刚,单片机原理及应用,北京:高等教育出版社,2006.58624李光飞,单片机课程设计实例指导,北京:北京航空航天出版社,20045诸昌钤, LED显示屏系统原理及工程技术,成都:电子科技大学出版社,20006李精华,单片机原理及应用,北京:高等教育出版社,20107杨素行,模拟电子技术基础简明教程,北京:高等教育出版社,20048梅开乡,数字逻辑电路,北京:电子工业出版社,20059 周水清.LED大屏幕信息发布技术与应用研究.武汉理工大学硕士学位论文,2002.致 谢致 谢本论文是在简远鸣老师的悉心指导下完成的,从课题的选择到论文的最终完成的每一个环节,自始自终得到导师的精心指导和帮助。指导老师渊博的学识、严谨的治学态度、求实创新的工作作风使我受益非浅。这半年来,我不仅从导师那里学到许多专业知识,更重要的是学会了进行科研的学术方法,所有这些都是以后人生生活的重大财富,在此特向导师表示衷心的感谢和崇高的敬意。在毕业设计的研究过程中,何松裕、朱俊臣同学在我的论文设计上给予的大力帮助,还得到了实验室各位老师和同学的关心、帮助和支持,在此对他们表示衷心的感谢。最后,感谢我的家人,感谢我的父亲、母亲,他们的关心和鼓励给了我信心和帮助。由衷的向所有关心和帮助我的老师、同学、朋友表示感谢!附录一 电路图图1 电路原理图图 2 PCB图附录二 系统程序清单/*头文件*/#include #include #define uint unsigned int#define uchar unsigned char#define NOP() _nop_()#define ABCD_port P1 /*端口定义*/sbit A=P31;sbit EN_port = P13;sbit DA_in_port = P12;sbit CLK_port = P11;sbit Latch_port = P10; uchar code ziku_table=0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,/*显示8行空白*/0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,0 xff,
展开阅读全文