基于单片机LED滚动汉字显示器设计毕业论文.doc_第1页
基于单片机LED滚动汉字显示器设计毕业论文.doc_第2页
基于单片机LED滚动汉字显示器设计毕业论文.doc_第3页
基于单片机LED滚动汉字显示器设计毕业论文.doc_第4页
基于单片机LED滚动汉字显示器设计毕业论文.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

目 录摘要Abstract引 言1第1章 LED显示屏的介绍21.1 LED显示屏的发展背景及国内外研究现状21.2 LED显示屏的分类31.3 LED显示屏的显示方案31.4 LED显示屏的作用及市场前景4第2章 系统总体分析62.1 设计目标及采取的方案62.1.1 设计目标62.1.2 设计采取的方案62.3 工作原理72.4 总体设计7第3章 系统硬件设计83.1 AT89C51芯片的简要介绍83.2 时钟电路93.3 复位电路103.4 驱动电路设计103.4.1 行驱动电路设计103.4.2 列驱动电路设计133.5 电源模块设计163.6 点阵式LED汉字显示屏设计163.6.1 点阵式LED显示屏设计163.6.2 LED电子显示屏显示字符原理173.6.3 汉字显示原理183.7 系统整体电路20第4章 系统软件设计214.1 主程序设计214.2 子程序设计21第5章 系统制作与调试255.1 Proteus软件简要介绍255.2 仿真过程255.3 硬件制作与调试265.3.1 硬件电路板的制作265.3.2 系统硬件调试265.4 系统软件调试27结 论29致 谢30参考文献31附录A源程序32附录B实物图36基于单片机的LED滚动汉字显示器设计 摘要:LED(Light Emitting Diode)行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。本文介绍了基于单片机AT89C51的1616点阵LED汉字滚动显示屏的设计。其中着重介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及详细的使用说明和工作流程。本文分为六部分,其中主要内容是系统总体分析,系统硬件设计,系统软件设计三部分。系统总体分析是基础;系统硬件设计是本文的关键及核心部分,该部分首先简单描述系统硬件工作原理,且附以系统硬件设计框图,论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程;软件设计是系统运行必不可少的部分。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的设计。本设计实用性强、操作简单、扩展功能强。本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。关键词:单片机 LED 点阵 汉字显示The Design of LED Rolling Characters Display Based on SCMAbstract: This design in view of the present LED display monitor, in national dividends many domains obtain in the widespread quotation situation, has carried on this paper design after the investigation. This article introduces the design of Chinese scroll screen with 16 x 16 lattice LED based on monolithic AT89C51. And it emphatically introduced the LED lattice demonstration hardware design mentality, hardware circuit each part of functions and the principle, the corresponding softwares programming emphatically, as well as detailed operating instructions and work flow. This design divides into six parts, the primary coverage is the system macro analysis, the system hardware design , the system software designs three parts. The system macro analysis is this article foundation, the system hardware design is this article key, is this design hard core, this part first simply describes the system hardware principle of work, and attaches by the system hardware design diagram, elaborated various hardware interface technology which and each interface module function and the work process this graduation project applies. The system software design is this article sublimation. This article composes the guiding ideology is the software and hardware unifies, take the hardware as the foundation, carries on various functional module the design. This design usability is strong, simplicity of operator, extended function.Keywords: Monolithic; LED; Lattice; Chinese character demonstrates引 言LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。LED 显示屏发展较快,本文讲述了基于AT89C51单片机1616 LED汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus软件仿真等基本环节和相关技术。单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。由于LED显示有许多优势,正在逐渐取代其他显示材料。目前一种新的显示材料OLED正处于研发阶段,OLED显示屏通过有机材料自发光技术,使人们在阳光下也能看到显示屏显示的内容,当然它还有其它有点。单片机不仅在体积小上有所突破,也在向更多功能方向发展,单片机的发展也带动了LED显示屏的应用。本文是基于单片机的LED滚动汉字显示器设计,只是单片机的一个简单应用,它能够实现多种图文显示。简要介绍了通过单片机控制LED显示屏显示图文的原理,以及硬件电路与软件设计方法,希望能帮助广大电子爱好者了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,并提高单片机知识技术的运用能力。第1章LED显示屏的介绍1.1 LED显示屏的发展背景及国内外研究现状在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用LED点阵显示图形和汉字。LED行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。随着信息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所,例如户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息豆示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。LED点阵设计主要应用于显示屏,它是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内室外环境适应能力强等优点。1970年代最早的GaP、GaAsP同质结红、黄、绿色低发光效率的LED已开始应用于指示灯、数字和文字显示。从此LED开始进入多种应用领域,包括宇航、飞机、汽车、工业应用、通信、消费类产品等,遍及国民经济各部门和千家万户。到1996年LED在全世界的销售额已达到几十亿美元。尽管多年以来LED一直受到颜色和发光效率的限制,但由于GaP和GaAsP LED具有长寿命、高可靠性,工作电流小、可与TTL、CMOS数字电路兼容等许多优点因而却一直受到使用者的青眯。最近十年,高亮度化、全色化问题一直是LED材料和器件工艺技术研究的前沿课题。超高亮度(UHB)是指发光强度达到或超过100mcd的LED,又称坎德拉(cd)级LED。高亮度A1GaInP和InGaN LED的研制进展十分迅速,现已达到常规材料GaA1As、GaAsP、GaP不可能达到的性能水平。1991年日本东芝公司和美国HP公司研制成InGaA1P 620nm橙色超高亮度LED,1992年InGaA1p590nm黄色超高亮度LED实用化。同年,东芝公司研制InGaA1P 573nm黄绿色超高亮度LED,法向光强达2cd。1994年日本日亚公司研制成InGaN 450nm蓝(绿)色超高亮度LED。至此,彩色显示所需的三基色红、绿、蓝以及橙、黄多种颜色的LED都达到了坎德拉级的发光强度,实现了超高亮度化、全色化,使发光管的户外全色显示成为现实。我国发展LED起步于七十年代,产业出现于八十年代。全国约有100多家企业,95%的厂家都从事后道封装生产,所需管芯几乎全部从国外进口。通过几个“五年计划”的技术改造、技术攻关、引进国外先进设备和部分关键技术,使我国LED的生产技术已向前跨进了一步。1.2 LED显示屏的分类1.按颜色基色分类单基色显示屏:单一颜色(红色或绿色)。双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。2.按显示器件分类LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。LED视频显示屏:显示器件是由许多发光二极管组成,可以显示视频、动画等各种视频文件。3.按使用场合分类室内显示屏:发光点较小,一般3mm-8mm,显示面积一般几至十几平方米。室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。4.按发光点直径分类室内屏:3mm、3.75mm、5mm。室外屏:10mm、12mm、16mm、19mm、20mm、21mm、22mm、26mm。1.3 LED 显示屏的显示方案1.点阵模块方案: 最早的设计方案,由室内伪彩点阵屏发展而来。优势:原材料成本最有优势,且生产加工工艺简单,质量稳定。缺点:色彩一致性差,马赛克现象较严重,显示效果较差。2.单灯方案:为解决点阵屏的色彩问题,借鉴户外显示屏技术的一种方案,同时将户外的像素复用技术(又叫像素共享技术,虚拟像素技术)移植到了室内显示屏。优势:色彩一致性比点阵模块方式的好。缺点:混色效果不佳,视角不大,水平方向左右观看有色差。加工较复杂,抗静电要求高。实际像素分辨率做到10000点以上较难。3.贴片方案:采用贴片发光管为显示元件的方案。优势:色彩一致性,视角等重要显示指标是现有方案里最好的一种,特别是三合一表贴的混色效果非常好。缺点:加工工艺麻烦,成本太高。4.标贴方案:实际上是单灯方案的一种改进,现在还在完善之中。优势:在显示色彩一致性,视角等首要指标和标贴方案差别不大了,但成本较低,显示效果很好,分辨率高。缺点:加工还是较复杂,抗静电要求高。 1.4 LED的作用及市场前景1.LED显示屏的作用(1)起到商品宣传,吸引顾客的作用。(2)起到店面装饰,提高企业档次的作用。(3)起到照明,标新立异的作用。(4)起到普及知识的作用(可用于播放企业产品的小信息,相关行业的知识等)。 (5)起到公告板的作用(促销,招聘信息发布等)。(6)起到烘托气氛的作用。通过显示屏幕可播放上级领导及各种贵宾莅临参观、指导的欢迎词,各种重大节日的庆祝词等。不可否认,商家树立广告牌的最终目的就是宣传商品信息,吸引目标顾客,尽最大可能地赚取最大的利润。而LED广告牌正是为了实现这个目的成为企业宣传的头项选择。2.LED的市场前景目前由于LED显示屏造价昂贵,主要应用于比较高档的场所,主要集中在城市的繁华场所,作为多媒体广告的一部分。单双色LED显示屏主要应用于交通,高速公路,银行、证券交易等金融场所。随着科技的进步和人们生活水平的提高, LED显示屏将逐渐应用于各个行业。第2章 系统总体分析2.1 设计目标及采取的方案2.1.1 设计目标毕业设计是学生完成本专业教学计划达到培养目标的重要的教学环节,是教学计划中综合性最强的实践性教学环节,它对于培养学生正确的思想和工作作风,提高学生综合运用专业知识和分析解决实际问题的能力,达到工程技术人员所必须具备的基本素质等方面具有重要的意义。这次设计借助单片机AT89C51使LED显示屏实现滚动显示汉字的方法,研究Proteus软件在LED滚动汉字显示器和仿真中的应用,研究Keil软件编译调试程序,并制作出LED滚动汉字显示屏。本设计的理论基础是单片机技术基础,微机原理,模拟电子技术和数子电子技术。比如AT89C51芯片的一些工作原理是在MCS51的基础上通过改进完成的。8255芯片的工作方式是在微机原理介绍的。三极管和74LS154的工作原理也分别在模拟和数子电路里介绍过。通过本设计不仅把以前学过的知识重新温习,而且在查阅课外资料时还有好多芯片都是以学过的芯片为基础,并且在其基础上改进和完善。通过这次毕业设计使我在学校学习的理论知识和实际应用有机地结合起来,同时也能培养我独立思考、勇于创新的科学态度和钻研精神,为我将要踏上工作岗位做一次提前的锻炼。2.1.2 设计采取的方案(1)利用单片机控制技术控制LED的显示,再结合单片机的程序作线路布置,即硬件设计。(2)行列电路设计,分析电路图确定整个系统大概的规模。(3)进行系统分析,通过系统分析,确定该系统该具有哪些功能,有哪些模块,各个模块之间是怎样联系的,以及怎样组合的。(4)确定所需的元器件,然后通过电路图进行连接。(5)集合程序调试,调试整个系统模块的功能,看各个功能是否能正常运行,并找出程序中的错误,改正这些错误。(6)最终能在LED电路板上显示所要的汉字。2.3 工作原理LED汉字滚动显示屏设计与制作是利用单片机的控制技术,通过程序控制LED的显示所要显示的内容。技术线路为通过程序控制AT89C51芯片输出高低电平,通过高低电平分别控制LED的亮和灭,最终达到所要显示的内容。本设计介绍一种实用的汉字滚动显示屏的制作,显示屏通过四块8*8LED点阵屏组合成16*16LED显示屏,通过程序控制所要显示的汉字,实际使用时可根据需要显示的汉字改写程序。汉字显示通过行扫描和列扫描,把行列总线接在单片机的I/O口,然后把扫描代码送入总线。如果将LED点阵的行列端口全部直接接入AT89C51单片机,则需要使用32条I/O口,这样会造成I/O资源的耗尽,系统也再无扩充的余地,因此,我在设计中将LED点阵的16条行线与两片74HC595的并行输出端之间通过4.7k的电阻连接,列选扫描信号由4-16线译码器74HC154来选择控制,这样一来列选控制和行选控制共使用了单片机的8个I/O口,节约了很多I/O资源,为系统扩展提供了条件。2.4 总体设计通过2.3节的工作原理,我画出该系统的框图。总体设计框图如图:单片机LED显示屏列驱动器行驱动器时钟电路复位电路 电源电路 图2.4 总体设计框图第3章 系统硬件设计3.1 AT89C51芯片的简要介绍AT89C51是一种带4kB闪烁可编程可擦除只读存储器的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL公司高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1 000次写擦循环,数据保留时间为10年。他是一种高效微型控制器,它灵活性高,价格低廉,常用于嵌入式控制系统。因此,在智能化电子设计与制作过程中经常用到AT89C51芯片。其引脚分配见图3.1。 图3.1 AT89C51引脚图AT89C51拥有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C51的主要性能参数:(1)与MCS-51产品指令系统完全兼容;(2)4k字节可重擦写Flash闪速存储器;(3)1000次擦写周期;(4)128*8字节内部RAM;(5)32个可编程I /O口线;(6)低功耗空闲和掉电模式;(7)6个中断源。在这次设计中所用到的AT89C51管脚说明: P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接出4个TTL门电流,P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在Flash编程和校验时,P1口作为第八位地址接收。P3口:P3口管脚是8个内部带上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表3.1所示。 表3.1 P3口的特出功能管脚号管脚名备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0P3.3/INT1外部中断1P3.4T0记时器0外部输入P3.5T1记时器1外部输入P3.6/WR外部数据存储器写选通P3.7/RD外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.2 时钟电路 时钟电路是为单片机提供精确定时的内置电路,其基本功能是用于计时、通讯时钟发生器、时间中断源等。本设计的时钟电路由AT89C51的18,19脚的时钟端(XTAL1及XTAL2)以及12MHz晶振X1、瓷片电容C2,C3组成,采用片内振荡方式。 图3.2 时钟电路图3.3 复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。本设计采用简易的上电复位电路,主要由电阻R1,R2,电容C1,按键开关组成,分别接至AT89C51的RST复位输入端。 图3.3 复位电路图3.4 驱动电路设计3.4.1 行驱动电路设计 为节省I/O口资源,方便于扩展,行驱动电路采用串口输入。本设计电路中行方向由两片74HC595完成扫描,它由AT89C51的P3.0-P3.3控制,将LED点阵的16条行线与两片74HC595的并行输出端之间通过4.7k的电阻连接。74HC595是一款低噪声、低功耗、高速的COMS移位寄存器,能够驱动15个TTL的负载。该器件包含一个8位串行输入,并行输出的移位寄存器及带有三态输出控制的8位D型存储器。移位寄存器和存储器分别由独立的时钟提供信号。移位寄存器内置直接清零,串行输入和用于级联的串行输出功能。时钟的上升沿触发移位寄存器和存储器。如果同一个时钟提供信号,则移位寄存器的状态必须比存储器提前一个脉冲信号。74HC595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管显示不会产生闪烁感。74HC595有很多功能,在点阵显示中用到的串行输入并行输出是其中的一个功能,是通过寄存器选择的。对于动态显示,行扫描主要处理字模,需要把整个字的字模都打入到595芯片,通过595来处理,通过子模各个位的移动来实现要显示的字。在LED点阵显示屏中,74HC595 的主要作用应该为:(1)驱动,CMOS的74HC595 驱动LED点阵显示屏没有问题。(2)串行输入转并行输出,非常节约资源,从而可以降低对处理器的I/O资源的需求量。(3)具有三态输出锁存。 (4)多个级联,可以很方便的用于更大的LED点阵屏驱动。74HC595引脚见图3.4。 图3.4 74HC595引脚图 表3.2 74HC595的真值表 输入输出 功能SHCPSTCP/OE/MRDSQ7QnX X LXLNCMR为低电平时仅影响移位寄存器空移位寄存器到输出寄存器X LLXLL空移位寄存器到输出寄存器清空移位寄存器,并行输出为高阻态XX HLXLZ清空移位寄存器,并行输出为高阻态XLHHQ6NC逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入,例如,以前的状态为Q6出现在串行输出位。XLHXNCQn移位寄存器的内容到达保持寄存器并从并口输出LHXQ6Qn移位寄存器内容移入,先前的内容到达保持寄存器并输出74HC595引脚见图3.4,其引脚功能为:Q1Q7: 八位并行输出端,可以直接控制数码管的8个段。Q7: 级联输出端,它可接下一个595的SI端。/MR:主复位端,低电平有效位端,低点平时将移位寄存器的数据清零。SHCP:移位寄存器时钟输入,上升沿时数据寄存器的数据移位,下降沿移位寄存器数据不变。STCP:存储寄存器时钟输入,上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常将RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲,更新显示数据。/OE:低电平时输出,高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。DS:串行数据输入。SI: 串行数据输入端。Q0:锁存器输出端。VCC:接电源。GND:接地。3.4.2 列驱动电路设计列驱动电路的选择如果采取并口输入,会占用大量I/O口资源。而选取串口输入,I/O口资源使用较少。所以我选用串口输入。本设计中列方向由416译码器74HC154完成扫描,它由AT89C51的P1.0-P1.3控制。74HC154是一种单片4 线16 线译码器,非常适合用于高性能存储器的译码器。只要控制端/E1、/E2任意一个为高电平,A、B、C、D任意电平输入都无效。/E1、/E2必须都为低电平才能操作芯片。当两个选通输入/E1 和/E2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。表3.3 74HC154的真值表 输入选定输出(L)/E1/E2DCBALLLLLLY0LLLLLHY1LLLLHLY2LLLLHHY3LLLHLLY4LLLHLHY5LLLHHLY6LLLHHHY7LLHLLLY8LLHLLHY9LLHLHLY10LLHLHHY11LLHHLLY12LLHHLHY13LLHHHLY14LLHHHLY15XHXXXXNONEHXXXXXNONE 图3.5 74HC154引脚图74HC154引脚说明:/Y0-/Y15:输出端。 GND:接地。 /E1,/E2:使能输入端,低电平有效。 AO-A3:地址输入端。 VCC:接电源。 图3.5 74HC154引脚图74HC154 是4线-16线译码器/解调器,其功能为:(1)将4个二进制编码输入译成16个彼此独立的输出之一。(2)将数据从一个输入线分配到16个输出的任意一个而实现解调功能。(3)输入箝位二极管简化了系统设计。(4)与大部分TTL和DTL电路完全兼容。3.5 电源模块设计由于点阵系统耗电量较大,如果采用干电池作为LED点阵系统的电源,使用干电池需经常换电池,不符合节约型社会的要求。采用一片LM7805三端稳压器,耗电电流为100Ma左右的电源作为系统电源,功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠。基于以上分析,我决定采用LM7805三端稳压器电源作为系统电源,见图3.6。 图3.6 电源模块图3.6 点阵式LED汉字显示屏设计3.6.1 点阵式LED显示屏设计显示部分是本次设计最核心的部分,本设计的16*16LED点阵显示屏通过四个8*8LED点阵显示屏扩展而成,见图3.7。图3.7 16*16LED显示屏图对于8*8 LED点阵显示有以下两种方案:静态显示,将一帧图像中的每一个二极管的状态分别用0 和1 表示,若为0 ,则表示LED 无电流,即暗状态;若为1 则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画面输入以后,所LED的状态保持到下一幅画。对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动态显示方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式, 复用的程度不是无限增加的, 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素。通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为50Hz, 发光二极管导通时间1m s 时, 显示亮度较好, 无闪烁感。 由于静态显示方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。而动态显示可以避免静态显示的问题,只是在设计时应注意合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。且动态显示易于制作和理解,又能巩固所学知识,达到毕业设计的目标,所以我采用动态显示。3.6.2 LED电子显示屏显示字符原理在结构上,单基色8*8的点阵屏每一列共用一根列线,每一行共用一根行线。当相应的行接高电平,列接低电平时,对应的发光二极管被点亮。通常情况下,一块8*8像素的LED显示屏是不能用来显示一个汉字的,因此,按照其原理结构进行扩展为16*16,就足以显示一个完整的汉字。在显示过程中,多采用扫描方式,利用人的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。LED点阵显示屏采用1616共256个象素的点阵,通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布。 把行列总线接在单片机的I/O口,然后把扫描代码送人总线,就可以得到显示的汉字了。若将LED点阵的行列端口全部直接接入AT89C51单片机,则需要使用32条I/O口,这样会造成I/O资源的耗尽,系统也再无扩充的余地。因此,将LED点阵的16条行线接两片74HC595输出端引脚上,之间通过4.7k电阻相连,列选扫描信号是由4-16线译码器74HC154来选择控制,节约了很多I/O口资源,方便于系统扩展。3.6.3 汉字显示原理以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上,这个汉字屏不仅可以显示汉字, 也可以显示在256像素范围内的任何图形。用8位的AT89C51单片机控制, 由于单片机的总线为8位,一个字需要拆分为2个部分。 一般我们把它拆分为上部和下部,上部由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,转换为16进制为 04H。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从P27向P20方向扫描,从上图可以看到,这一列全部为不亮, 即为00000000,16进制则为00H。然后单片机转向上半部第二列,仍为P05点亮,为00000100,即16进制04H。这一列完成后继续进行下半部分的扫描,P21点亮,为二进制00000010,即16进制02H。 图3.8 16行16列的点阵组成显示图依照这个方法,继续进行下面的扫描,一共扫描32个8位, 可以得出汉字“大”的扫描代码为:04H,00H,04H,02H,04H,02H,04H,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,00H,00H由这个原理可以看出, 无论显示何种字体或图像, 都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。现在有很多现成的汉字字模生成软件,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把所需要的竖排数据复制到我们的程序中即可。图3.9 汉字字模生成界面3.7 系统整体电路 本次设计的系统整体电路图见图3.10。 图3.1O 系统整体电路图第4章 系统软件设计软件程序设计主要由开始、初始化、主程序、字库组成。其中主程序和子程序的流程图如图所示。4.1 主程序设计主程序中,同一帧的反复扫描次数的设定,决定了显示移动的速度,延时程序至关重要,如果刷新速率设置不当,就会有闪烁感,这样会影响视觉效果。在显示过程中,多采用扫描方式,利用人眼的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。开始初始化调用显示程序调用数据指针是否显示完否是 图4.1 主程序流程图 设计思路,首先是头文件设置,然后对硬件电路中用到的单片机端口进行初始化定义,确定缓存字节量大小,显示六个字符,每个字符32个字节。另外还有汉字字模部分,延迟时间设置,显示次数和周期,显示程序设计。LED点阵主程序见附录2,用来实现“单片机仿真”等汉字的显示。程序见附录A。 4.2 子程序设计开始设1帧显示时间设片选及数据指针查汉字上部数据及显示查汉字下部数据及显示延时1ms1帧时间是否到结束是否显示完汉字否是否是关显示并调整指针图4.2 子程序流程图延时子程序,协调字符显示速度:void delayXms(uchar ms) / 延时毫秒12M,ms最大值255 uchar i; while(ms-) for(i = 0; i 124; i+); LED点阵显示子程序:void delayXms(uchar ms);void main()uchar base=0;/在bmp地址中移动,从0 到 rows - 15,每次加2,实现移动效果/uchar cur=0;/显示base位置以后的一个字符宽度,16列,每列16bituchar tmp=0;/临时变量uchar rows=sizeof(bmp);/ ,单,片,机,仿,真共6个字符块,每个16*16,共rows=96列uchar col=0;/列选线SCON = 0x00;/串口工作模式0;移位寄存器方式MR=1;while(1) for(base=0;base=rows;base=base+2) for(tmp=0;tmp5;tmp+) /每个字块显示5次for(col=0;col16;col+)E1=0; /开154移位MR=0; /清理行输出,将移位寄存器的数据清0MR=1;ST_CP=0; /上升沿ST_CP=1;SBUF=bmpbase+col*2;while(TI=0);/等待发送完毕T1 = 0;SBUF=bmpbase+col*2+1;while(TI=0);/等待发送完毕T1 = 0;P1=col;/列控制ST_CP=0;/上升沿ST_CP=1;delayXms(2);/显示2ms 第5章 系统制作与调试5.1 Proteus软件简要介绍 Proteus 是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真,分析(SPICE)各种模拟器件和集成电路,该软件的特点是:1.实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。2.支持主流单片机系统的仿真。目前支持的单片机类型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。3.提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2、MPLAB等软件。4.具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。5.2 仿真过程采用C语言进行编程,编程后利用Keil uVision2来进行编译,再将生成的.HEX文件导入到AT89C51芯片中即可进行仿真,系统仿真图如图5.1所示。 图5.1 系统仿真图5.3 硬件制作与调试5.3.1 硬件电路板的制作硬件电路板的制作有几种方法。一种是通过PCB板图印刷电路板,在Altium designer软件中画出系统原理图,然后进行调试,直到没有错误后进行PCB图设计,然后印刷制作电路板。由于8*8LED点阵元器件没有统一标准,在Altium designer软件中可以自己封装一个,但是购买的点阵元器件引脚排列不一定和自己封装的相同,如果不一样,做的PCB板就有可能不能用,这样会浪费精力和时间,考虑到这个问题,我没有选择这种方法。还有一种方法就是使用万能板制作电路板,本次设计中硬件部分主要有电源模块、单片机模块、驱动模块、显示模块四部分组成。原理图设计思路清晰,所用元器件不是很多,把元器件合理布局,布线焊接,是比较节省时间和可行实用的方法,根据在校课程设计中自己通过万能板做实物总结的经验和记录的指导老师的总结,我选择使用万能板制作电路板这种方法。5.3.2 系统硬件调试 系统硬件调试通过分以下阶段进行:(1)逻辑错误调试硬件的逻辑错误是由于设计错误和加工过程中的工艺性错误所造成的。这类错误包括:错线、开路、短路等几种,其中短路是最常见的故障。(2)器件调试元器件失效的原因有两个方面:一是器件本身已损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容、二极管的极性错误,集成块安装方向错误等。(3)可靠性调试引起系统不可靠的因素很多,如金属化孔、接插件接触不良会造成系统时好时坏;内部和外部的干扰、电源纹波系数过大、器件负载过大等造成逻辑电平不稳定;另外,走线和布局的不合理等也会引起系统可靠性差。5.4 系统软件调试系统软件调试通过Keil C51软件进行,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,支持C语言和汇编语言编程,与汇编相比,C语言在结构性、可读性、可维护性上有明显的优势,易学易用。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。其6.0以上的版本将编译和仿真软件统一为Vision(通常称为V2)。Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,由以下几部分组成:Vision IDE集成开发环境C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-51、RTX51实时操作系统。应用Keil进行软件仿真开发的主要步骤为:编写源程序并保存,建立工程并添加源文件,设置工程,编译/汇编、连接,产生目标文件,再进行程序调试。成功编译/汇编、连接后,选择菜单Debug-Start/Stop Debug Session(或按Ctrl+F5键)进入程序调试状态。Keil能以单步执行(按F11或选择Debug-Step)、过程单步执行(按F10或选择Debug-Step Over)、全速执行等多种运行方式进行程序调试。如果发现程序有错,可采用在线汇编功能对程序进行在线修改,不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理

温馨提示

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

评论

0/150

提交评论