基于单片机控制的LED汉字显示_第1页
基于单片机控制的LED汉字显示_第2页
基于单片机控制的LED汉字显示_第3页
基于单片机控制的LED汉字显示_第4页
基于单片机控制的LED汉字显示_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、- TP 单位代码 11395 密 级 公 开 学 号 0605230 学生毕业设计论文题 目LED汉字显示作 者院 (系)能源工程学院专 业电气工程及自动化指导教师辩论日期2010年 月 日毕业设计论文诚信责任书本人重声明:所呈交的毕业设计论文,是本人在导师的指导下独立进展研究所取得的成果。毕业设计论文中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要奉献的个人和集体,均已在文中以明确方式标明。本人毕业设计论文与资料假设有不实,愿意承当一切相关的法律责任。

2、论文作者签名: 年 月 日. z-摘 要目前,作为方便、快捷的信息显示方式,LED汉字显示的应用非常广泛。车站、银行、超市等大型公共场所的即时信息及广告的显示,无不应用LED汉字显示屏。在能源日渐危机以及信息日渐重要的今天,具有低耗能、频更新、易维护的LED汉字显示屏必将受到广泛的应用,其具有非常的开展前景。本文从LED的开展及单片机的简单原理开场,深入的研究了基于AT89C51单片机16×16 LED汉字滚动显示屏的设计并运用Proteus软件的仿真和实现。主要介绍了LED汉字显示屏的硬件电路设计、汇编程序设计与调试、Proteus软件仿真和实物制作等方面的容,本显示屏的设计具有体

3、积小、硬件少、电路构造简单及容易实现等优点。能帮助广阔电子爱好者了解汉字的点阵显示原理,认识单片机的根本构造、工作原理及应用方法,并提高单片机知识技术的运用能力。关键词:单片机 LED 点阵 Proteus仿真. z-ABSTRACTNow, as a convenient, quick, LED display mode of information that is very e*tensive application. Station, bank, supermarket and large public places of instant messaging and advertisem

4、ent of the application of Chinese characters, LED display screen. In the energy crisis and information increasingly more important today, with low energy consumption, easy maintenance and update frequency of the Chinese character screen will be LED by the widespread application, it has very developm

5、ent prospects.In this paper, based on AT89C51 microcontroller 16 × 16LED scrolling display character design and the use of software in the simulation and realization of Proteus. Introduces the character LED display hardware design, assembly programming and debugging, Proteus software simulation

6、 and other aspects of physical production, the design of the screen is small, less hardware, the circuit structure is simple and easy to implement. Can help the fans understand the character of the lattice electronic display principle, understanding the basic structure of SCM, working principle and

7、application of methods and technologies to improve knowledge and ability to use single chip.Keywords:microcontroller, LED dot matri* ,Proteus simulation. z-目 录摘要IABSTRACTII目录III1 引言11.1 LED汉字显示研究背景及意义21.2本设计的研究容及方法21.3 本设计的主要工作32硬件电路组成及工作原理42.1 硬件电路组成42.1.1 AT89C51简介42.1.2 时钟电路设计7复位电路设计82.1.4 16

8、5;16LED点阵屏92.2 元器件选择102.3 硬件电路工作原理153 LED汉字显示原理及字库代码获取方法133.1 汉字的点阵显示原理133.2 字库代码获取方法133.3 LED屏的显示144 程序设计164.1 主程序164.2 显示子程序、延时子程序164.3 程序编译、仿真195 基于PROTEUS的电路仿真205.1用PROTEUS 绘制原理图215.2 PROTEUS 对单片机核的仿真216 完毕语23参考文献24致25. z-1 引 言1.1 LED汉字显示研究背景及意义受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国 LED显示屏应用逐步增多。目前,LED已经

9、广泛应用在银行、火车站、广告、体育场馆之中。而随着奥运会、世博会的到来,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。2007年,中国LED显示屏市场需求额为49.5亿元,比2006年增长22.2%,这其中全彩显示屏需求额到达21.1亿元,占整体市场的42.6%,双色显示屏的需求额位于第二位,需求额为18.3亿元,占整体市场的40%,单色显示屏需求额为10.1亿元。1图1-1 2006-2010年中国LED显示屏市场规模2008年奥运会的召开将会直接推动体育场用屏幕数量的快速增加,同时,由于奥运会用屏对LED显示屏的质量要求也较高,因此,高

10、端屏幕的使用比例也将会增加,数量和质量的提高带动LED显示屏市场的增长。除了体育场馆之外,奥运会和世博会等重大活动召开的另一直接推动领域就是广告领域国外的广告公司必然会看好奥运会和世博会带来的商机,因此必然会增加广告用屏的数量来提高自身收入,从而促进了广告用屏市场的开展。奥运会和世博会等重大活动的召开必然会伴随着很多大型活动,政府、新闻媒体和各种组织都可能会在奥运会和世博会之间举办各种相关活动,*些活动可能需要大屏LED,这些需求直接带动显示屏市场。. z-目前,国从事LED显示屏生产的企业众多,同时,受到外资企业LED显示屏价格过高的影响,在中国LED显示屏市场上多以外乡企业为主。目前,外乡

11、LED显示屏生产企业除供给国需求外,还不断把产品出口到国外市场。而近年来,受到本钱压力的影响,国际上一些知名的LED显示屏企业也逐步把 生产基地移到了中国,如巴可在设立了显示屏生产基地,Lighthouse在也拥有生产基地,Daktronics、莱茵堡都在国设立了生产工厂。随着国际LED显示屏生产大厂不断把生产基地转移至国, 加之国众多的LED显示屏外乡企业,中国正在成为全球LED显示屏的主要生产基地。因此研究研究LED汉字滚动显示屏的设计方法具有重要的理论和现实意义。1.2本设计的研究容及方法使用传统方法设计LED汉字按显示,即使用AT89C51单片机控制16*16LED屏显示动态汉字,其中

12、主要包括硬件元件及硬件电路,软件编程等。该方案控制灵活,显示屏的设计具有体积小、硬件少、电路构造简单及容易实现等优点。LED汉字点阵显示系统是通过控制与组成这些文字的各个点所在位置相对应的LED器件发光来实现的。通常事先把需要显示的文字转换成点阵图形,在按照显示控制的要求以一定的格式形成显示数据。对于只控制通断的文字显示屏来说,每个LED发光器件占据数据中的1位1bit,在需要该LED器件发光的数据中相应的位填1,否则填0。当然,根据控制电路的安排,相反的定义同样时可行的。这样依照所需显示的文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件,其格式相对自由,只要能够满足显示控

13、制的要求即可。文字的点阵格式比拟规,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有16×16、24×24、32×32、48×48等不同规格。用点阵方式构成文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好适宜的数据文件,就可以得到满意的显示效果。因而对于文字经常需要变化的信息,采用LED汉字点阵显示系统是非常有效的。为了增强显示效果,LED汉字点阵显示系统可以有多种显示模式。最简单的显示模式是静态显示。与静态显示. z-模式相对应,有各种动态显示模式,它们所显示的文字是动态的。按照文字运动的特点可分为闪烁、平移、旋转、缩放等多

14、种显示模式。产生不同显示模式的方法可以通过一定的算法从原来的显示数据直接生成。例如,按顺序调整行号,可以使显示图文产生上下平移;而顺序调整列显示数据的位置,就可以到达左右平移的目的;同时调整行列顺序,就能得到对角线平移的效果。其它模式的数据刷新,也可找到相应的算法。不过当算法太复杂,太浪费时间的话,也可以考虑预先生成刷新数据,存储藏用。本设计以实践为主,通过仿真与实际的演示来完成。1.3 本设计的主要工作1、用单片机AT89C51及LED点阵显示器为核心器件,制作一个点阵式汉字电子显示屏。本文介绍了LED点阵汉字显示屏的设计与实现过程。文中从显示原理和显示屏驱动电路设计,到计算机软件的全部过程

15、都分别做了分析和阐述,并给出了整套系统的解决方案。     该系统以单片机为主来控制整个系统的运行,采用动态扫描方式驱动显示屏主要包括三大局部:底层硬件的设计、硬件驱动程序设计、PC机方的主控程序。显示屏的驱动电路设计是整个系统的关键,它的质量优劣直接关系到显示的效果和系统的稳定性。如何获得最优良的显示效果,如何降低硬件借口复杂度提高系统稳定性,如何降低硬件本钱等一系列问题成为设计显示屏系统的重点。显示屏的控制板是整个显示系统的中枢机构,它是衡量系统的性能的重要指标。它不仅仅是简单的文字显示功能,而且要表现各种各样的显示效果,还要配合计算机来更新显示信息

16、。计算机端的软件是控制整个系统的运行控制和信息的加工,它包括信息点阵的提取、参数的设置和信息的传输。  2、完成电路原理图、元器件采购、装配及调试工作。使用画图软件完成硬件电路的绘制,根据需要采购元器件并进展组装调试。 3、完成该课题的程序设计、提交程序设计框图及程序设计清单。 4、完成硬件与软件的综合调试,能实现预定的功能和主要技术指标。  . z-2 硬件电路组成及工作原理2.1 硬件电路组成本硬件电路采用以AT89C51单片机为核心芯片的电路来实现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电路(74HC154)、16×16 LED点

17、阵5局部组成,如图2-1所示。 图2-1 硬件电路组成图2.1.1 AT89C51简介AT89C51是一种带4 kB闪烁可编程可擦除只读存储器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低电压、高性能CMOS型8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进展1 000次写擦循环,数据保存时间为10年。他是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。因此,在智能化电

18、子设计与制作过程中经常用到AT89C51芯片。2. z-2.1.1.1主要特性:·与MCS-51 兼容 ·4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保存时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片振荡器和时钟电路 2.1.1.2管脚说明:  VCC:供电电压。    GND

19、:接地。    P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进展校验时,P0输出原码,此时P0外部必须被拉高。    P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FL

20、ASH编程和校验时,P1口作为第八位地址接收。     P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写"1时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进展存取时,P2口输出地址的高八位。在给出地址"1时,它利用部上拉优势,当对外部八位地址数据存储器进展读写时,P2口输出其特殊功能存放器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。. z

21、-    P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入"1后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 R*D串行输入口P3.1 T*D串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通P3口同时为闪

22、烁编程和编程校验接收一些控制信号。    RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想制止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOV*,MOVC指令是ALE才起作用。另外,该引脚被

23、略微拉高。如果微处理器在外部执行状态ALE制止,置位无效。   /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。    /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器0000H-FFFFH,不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。   &#

24、160;*TAL1:反向振荡放大器的输入及部时钟工作电路的输入。    *TAL2:来自反向振荡器的输出。3. z-2.1.1.3振荡器特性:    *TAL1和*TAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片振荡器。石晶振荡和瓷振荡均可采用。如采用外部时钟源驱动器件,*TAL2应不接。有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的上下电平要求的宽度。2.1.1.4 芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持AL

25、E管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写"1且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停顿工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的容并且冻结振荡器,制止所用其他芯片功能,直到下一个硬件复位为止。2.1.2 时钟电路设计 时钟电路由AT89C51的18,19脚的时钟端(*TALl及*TAL2)以及12 MHz晶振*1、电容C2,C3组成,采用片振荡方式。在AT89S51芯片部有一个高增益反相放大

26、器,其输入端为芯片引脚*TAL1,其输出端为引脚*TAL2。而在芯片的外部,*TAL1和*TAL2之间跨接晶体震荡器和微调电容,从而构成一个稳定的自激震荡器,这就是单片机的数字电路。数字电路产生的震荡脉冲经过触发器进展二分频之后,才成为单片机的数字脉冲信号。一般地,电容C1和C2取30pF左右,可使系统更稳定,防止杂波干扰而导致死机,系统数字电路如图2-2。晶体的震荡频率围是1.212MHz。晶体震荡频率高,则系统的数字频率也高,单片机运行速度也就快。MCS-51在通常情况下,使用震荡频率为6MHz或12MHz。时钟电路一般有两种接法:部时钟方式和外部时钟方式;不同计算机的时钟电路接法是不完全

27、一样的;(1) 部时钟方式:通过在引脚*TAL1和*TAL2两端跨接晶体或瓷谐振器,再利胙芯片部的振荡电路,就构成了稳定的自激振荡器,其发出的脉冲直接送入部时钟电路;(2) 外部时钟方式:此方式是利用外部振荡脉冲接入*TAL1,对于AT89C52单片. z- 机,因为部时钟发生器的信号取自反相放大器的输入端,故采用外部时钟源时,接线方式为外时钟信号接至*TAL1,*TAL2悬空,注意:外接晶振时,C1和C2值通常选择为2030PF;外接瓷谐振器时,C1和C2为3050PF;C1 、C2对频率有微调作用,影响振荡的稳定性和起振速度。在这里我们选用的是部时钟方式图2-2 单片机的时钟电路2.1.3

28、复位电路设计复位电路采用简易的上电复位电路,主要由电阻R1,R2,电容C1,开关K1组成,分别接至AT89C51的RST复位输入端。单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开场工作,例如复位后PC=0000H,使单片机从第一个取指令。无论是在单片机刚开场接上电源时,还是断电后或者发生故障后都要复位。AT89C51的系统重置是由RESET引脚控制的,如图2-3所示。当此引脚送入高电位超过24个震荡周期时即2个机器周。AT89S51即进入芯片部重置状态,而且一直在此状态下等待,直到RESET为低电位后,才检测EA为高电位或是低电位,假设为高电位,则实行部的程

29、序代码,假设为低电位,则实行外部的程序代码。复位时,ALE和/PSEN呈输入状态,即ALE=/PSEN=1,片RAM不受复位影响;但在系统刚上电也称为"冷启动时,RAM的容是随机的。复位后,P0P3口输出高电平且使这些双向口皆处于输入状态,并将07H写入堆栈掼针SP,同时将PC和其余专用存放器清0,此时单片机从起始地址0000H开场重新执行程序。因此,单片机运行出错或进入死循环时,可使其复位后重新运行。. z-图2-3 单片机的复位电路AT89C51主要由接收与发送缓冲寄 存器SBUF、输入移们存放器以及串行控制存放器SCON等组成。波特率发生器可以利用定时器T1或T2控制发送和接收

30、的速率。特殊 功能存放器SCON用于存放串行口的控制和状态信息;发送数据缓冲存放器SBUF用于存准备发送出去的数据;接收数据缓冲存放器SBUF用于接收由外部输入到输入移位存放器中的数据。80C52串行口正是通过对上述专用存放器的设置、检测与读取来管理串行通信的;在进展串行通信时,外界数据通过引脚R*D输入。输入数据首先逐位进入输入移位存放器,由串行数据转换为并行数据,然后再送入接收存放器。在接收存放器中采用了双缓冲构造,以防止在接收到第2帧数据前,CPU未及时响应接收存放器前一帧的中断请求,没把前一帧数据读走,而造成2帧数据重叠的错误。在发送时,串行数据通过引脚T*D输出。 由于CPU是主动的

31、,因此不会产生写重叠问题,一般不需要双缓冲器构造。要发送的数据通过发送控制器控制逻辑门电路逐位输出。42.1.4 16×16LED点阵屏LED点阵显示屏采用16×16共256个象素的点阵,通过万用表检测发光二极管的方法测试判断出该点阵的引脚分布,如图2-4所示. z-图2-4 LED点阵显示屏底视图我们把行列总线接在单片机的IO口,然后把上面分析到的扫描代码送人总线,就可以得到显示的汉字了。但是假设将LED点阵的行列端口全部直接接入89S51单片机,则需要使用32条IO口,这样会造成IO资源的耗尽,系统也再无扩大的余地。因此,我们在实际应用中只是将LED点阵的16条行线直接

32、接在P0口和P2口,至于列选扫描信号则是由4-16线译码器74HC154来选择控制,这样一来列选控制只使用了单片机的4个IO口,节约了很多IO资源,为单片机系统扩大使用功能提供了条件。考虑到P0口必需设置上拉电阻,我们采用4.7 k排电阻作为上拉电阻。2.2 元器件选择本设计所需元器件如表2-1所示. z-表2-1元器件的选择元件编号规格参数作用简介U1AT89C51核心控制芯片单片机LED16×16LED点阵组成汉字显示屏IC274HC1544线-16译码器IC3IC41k电阻上拉电阻R1200R21kC122uF/16v复位电容K1按键开关*112MHz晶振时钟电路C1C320p

33、F. z-2.3 硬件电路工作原理汉字扫描显示的根本过程是这样的:通电后由于电阻R1,电容C1的作用,使单片机的RST复位脚电平先高后低,从而到达复位;之后,在C2,C3,*1以及单片机部时钟电路的作用下,单片机89C51按照设定的程序在P0和P2接口输出与部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.3,P1.4接口输出列选扫描信号(低电平驱动),从而选中相应的象素LCD发光,并利用人眼的视觉暂留特性合成整个汉字的显示。5. z-3 LED汉字显示原理及字库代码获取方法3.1 汉字的点阵显示原理我们以UCDOS中文宋体字库为例,每一个字由8行8列的

34、点阵组成显示。我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在64象素围的任何图形。如查用8位的AT89C51单片机控制,如图3-1所示图3-1 汉字显示原理为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。首先将8行分成4位的上、下两局部,把发光的象素位编为0不发光的象素位为1的十六进制代码。这样就把要显示的" 汶川字编为如下代码:DB 0FFH,80H,0BAH,82H,0BEH,82H,0BAH,80H 四DB 0FFH,0FDH,83H,0FFH,81H,0FFH,00H,0FFH 川DB 0B6

35、H,0D5H,0DEH,45H,9BH,0C5H,0DEH,0DFH 汶DB 0FFH,0FDH,83H,0FFH,81H,0FFH,00H,0FFH 川由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。3.2 字库代码获取方法上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方. z-法获取汉字代码是一件非常繁琐的事情。对于16*16十六进制数据的汉字代码,我们经常采用字库软件查找字符代码,软件翻开后输入汉字,点"检取,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可,如图3-2所示。图3-2字

36、库提取程序可见,汉字点阵显示一般有点扫描、行扫描和列扫描3种。为了符合视觉暂留要求,点扫描方法的扫描频率必须大于16×641 024 Hz,周期小于1 ms即可。行扫描和列扫描方法的扫描频率必须大于16×8128 Hz,周期小于78 ms即可,但是一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会缺乏。3.3 LED屏的显示本系统采用动态显示模式,所谓动态显示模式简单的说就是逐行轮流点亮。我们把所有同一行发光管的阳极连接在一起,把所有同一列发光管的阴极连在一起,先送出对应第一行发亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二

37、行的数据并锁存,然后选通第二行使其点亮一样的时间,然后熄灭;直到第十六行显示完后又重新点亮第一行,这样反复轮回。采用扫描方式进展显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。. z-单片机列 驱 动行驱动LED点阵图3-3系统框图显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都送到相应的列驱动器上去。数据传输可以采用并行方式或串行方式。采用并行方式时,相应的硬件数目多,当列数很多时,并行传输方案是不可取。采用串行传输方案,可以只用一根信号线,将列数据按顺序一位一位地输出给列驱动器,只有一行的各列数据都已经传输到位之后,这一行的各列才能并

38、行的进展显示。这样,对于一行的显示过程就可以分解成列数据准备传输和列数据显示两个局部。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少,这就存在列数据准备与列数据显示时间相矛盾的问题,可以采用重叠处理的方法来解决,即在显示本行各列数据的同时,数据。这就要求对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进展显示时,串并移位存放器就可以准备下一行的列数据,而不影响本行的显示。6. z-4 程序设计本程序主要包括三大局部,分别为主程序、显示子程序、延时子程序。程序流程图

39、如图4-1所示。 开 始 初 始 化 调 用 显 示 程 序 调 整 数 据 指 针是否显示完?N Y 图4-1程序流程框图4.1 主程序主程序主要完成整个硬件系统的初始化,主要包括对I/O口的定义和初始化、程序中的所用到的各个参数的设置与定义。接着依次调用字模程序和延时程序。4.2 显示子程序、延时子程序显示子程序是将按组顺序存储的点阵数据,按行扫描依次取出,逐行点亮LED。在一屏汉字显示完毕后,循环显示一段时间后,点阵地址偏移32个字节,接着显示下一屏数据。在取数据时,要考虑清楚汉字取模的原理,16×16的显. z-示取模有按行和按列两种取法,在这里采用的是后者按列取模。先调用字

40、模的程序,然后将每一个16进制发送出去,先调用每一列的上半局部,在调用下半局部,接着等二列、第三列依次调用显示延时子程序是一个循环延时的设计,利用循环的方法实现延时的设计。这里设计一个延时时间长度为1ms的程序来实现刷新率的问题。下面的程序能够用来实现"大学欢送您等汉字的显示。程序清单如下:ORG0000HAJMPMAINORG0030HMAIN:MOVDPTR,#TAB ;字码表初址赋值MOVR1,#0FEH ;列控制码MOVR3,#8 ;列数MOVR4,#80 ;移动"及 "0911个字符,共88列CM:MOVR5,#12 ;每屏反复显示10次C1: MOVR

41、2,#0 ;取字指针C8: MOV P2,#0FFH ;关显示MOVA,R2 ;MOVCA,A+DPTR ;取当前列的显示字码的一个字节MOVP0,A ;送18行控制口MOVA,R1MOVP2,A ;送列控制码ACALL D5MS ;显示5MSRRA ;列控制码左移,显示下一列MOVR1,ADJNZR3,C8 ;未显示8 列,继续DJNZR5,C1 ;未显示10次,继续INCDPL ;一屏反复显示10次完,字码表初值加1DJNZR4,CM ;88列未移动完,继续AJMPMAIN ;88列显示完,返回,重新从" 开场显示D5MS:MOVR6,#4. z-MOVR7,#248DJNZR7

42、,$DJNZR6,$-4RETTAB:DB08H,20H,08H,0C0H,0BH,00H,0FFH,0FFH09H,00H,0CH,80H,0BH,0FFH,12H,48H2AH,49H,0CBH,0FFH,48H,00H,29H,0F2H10H,01H,0BH,0FEH,08H,00H,00H,00H 榆08H,10H,08H,20H,08H,0C0H,0BH,00H0FFH,0FFH,09H,00H,08H,90H,00H,20H08H,0C0H,0BH,00H,0FFH,0FFH,09H,00H08H,0C0H,18H,60H,08H,40H,00H,00H 林02H,20H,0CH,

43、20H,88H,20H,69H,20H09H,20H,09H,22H,89H,21H,69H,7EH09H,60H,09H,0A0H,19H,20H,28H,20H0C8H,20H,0AH,60H,0CH,20H,00H,00H 学 00H,00H,7FH,0FFH,44H,20H,5AH,10H69H,0E1H,30H,81H,24H,82H,24H,8CH0A4H,0F0H,64H,80H,24H,0FCH,2CH,82H25H,82H,28H,82H,30H,0EH,00H,00H 院20H,08H,2CH,10H,23H,60H,20H,80H23H,41H,3CH,31H,04H,0

44、2H,08H,0CH0F0H,30H,17H,0C0H,10H,30H,10H,08H14H,06H,18H,03H,00H,02H,00H,00H 欢02H,00H,42H,02H,22H,04H,13H,0F8H00H,04H,3FH,0E2H,20H,42H,40H,82H41H,02H,3FH,0FEH,20H,02H,20H,42H20H,22H,7FH,0C6H,20H,04H,00H,00H 迎02H,02H,04H,0CH,08H,00H,3FH,0EEH0C4H,01H,08H,81H,31H,11H,0E6H,49H20H,2DH,2FH,0C1H,20H,01H,22H,

45、07H29H,00H,31H,88H,00H,06H,00H,00H 您. z-END在完成编写程序的编译和仿真之后,准备一台可以烧写AT89C51的编程器并与电脑主机硬件连接后即可对AT89C51芯片进展程序烧录下载,然后,将烧录好程序的AT89C51单片机装入到40脚的IC座上,通电即可调试和运行,由于本例电路对元件参数的要求不是很高,只要元件较好,参数根本符合要求,焊接装配后即可正常工作。4.3 程序编译、仿真本程序编译采用Keil软件,Keil软件平台支持多种语言的编译,功能强大,它提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,在keil软件中完成程序编写、调试和

46、编译之后,生成能让单片机运行的He*文件。汇编代码紧凑,容易理解。. z-5 基于PROTEUS的电路仿真Proteus是英国Labcenter electronics公司开发的EDA工具软件。主要由原理布图的方法绘制电路并进展仿真的ISIS和PCB自动布线或人工布线电路仿真的ARES两个程序组成。Proteus 运行于Windows 操作系统上,可以动态实时仿真、分析(SPICE)各种模拟器件和集成器件。针对微处理器及其外围电路,可以直接在基于原理图的虚拟原型上编程,并实现软件代码级的调试,配合其提供的仿真图表或虚拟仪器如示波器、逻辑分析仪等可进展相应的测量与分析。7借助Proteus的对C

47、PU和外围电路强大的仿真能力以及丰富的资源库,可以有效地替代硬件仿真器进展先期的软硬件调试,等到仿真结果根本理想时再进展实际的硬件调试,这样的开发过程不仅高效,而且可以尽可能地减少损失,尤其对于解决实验室资源紧的问题是一个很好的思路。5.1用PROTEUS 绘制原理图运行 Proteus 的 ISIS 程序后, 进入该仿真软件的主界面。主界面由菜单栏、工具栏、预览窗口、元件选择按钮、元件列表窗口、原理图绘制窗口和仿真进程控制按钮组成如图1所示。通过元件选择按钮 P (从库中选择元件命令) 命令, 在弹出的 Pick Devices 窗口中选择电路所需的元件, 放置元件并调整其相对位置, 对元件

48、参数设置及元器件间连线, 完成单片机系统的硬件原理图绘制。图5-1所示是绘制完成的电路图。. z-图5-1绘制电路图5.2 PROTEUS 对单片机核的仿真在source 菜单的Define code generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等工程;在source菜单的Add/remove source files 命令下,参加单片机硬件电路的对应程序主要采用 Keil 进展程序编译翻开如图5-2所示的对话框。在 Program File 栏添加编译好的十六进制格式的程序文件8*8.he*,给AT89C51输入晶振频率,此处默认为12MHZ, 单击OK 按钮完成程序添加工作

温馨提示

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

评论

0/150

提交评论