基于51单片机的动态点阵LED汉字显示屏的设计--毕业论文.doc_第1页
基于51单片机的动态点阵LED汉字显示屏的设计--毕业论文.doc_第2页
基于51单片机的动态点阵LED汉字显示屏的设计--毕业论文.doc_第3页
基于51单片机的动态点阵LED汉字显示屏的设计--毕业论文.doc_第4页
基于51单片机的动态点阵LED汉字显示屏的设计--毕业论文.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

基于51单片机的动态点阵LED汉字显示屏的设计 摘要 LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕,可以显示汉字、数字或特殊符号,通常用来显示时间、速度、系统状态等。LED 点阵显示屏作为一种新兴的显示器件,现已广泛应用于广告、交通运输、教育系统、银行等工业企业管理和其它公共场所,产业面临良好的市场发展机遇及前景。本设计研究了基于单片机AT89C51的88 点阵LED动态显示屏的设计与运用Proteus软件的仿真实现。具体介绍了设计的系统方案、LED图形显示原理及应用、LED 汉字显示屏的硬件电路设计、汇编程序设计与调试、Proteus 软件仿真,软件流程图等内容。本设计主要以AT89C51为核心芯片,通过程序控制,采用动态扫描技术,用AT89C51的P0口控制行驱动器74LS245 和P3口来直接驱动显示屏,在点阵LED显示屏上实现了汉字的动态显示。在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,来制作一款拥有多功能模块化的点阵LED的多功能显示屏,是一种成本低廉的图文显示方案。关键词:AT89C51单片机;LED点阵;动态扫描;Proteus仿真软件Dynamic dot matrix LED Chinese characters display design Based on 51 Micro-controller ABSTRACTLED dot matrix display tis Planar display screen which is composed of light-emitting diode dot matrix module or pixel unit.LED dot matrix display can display Chinese characters, numbers, or special symbols, usually are used to display time, speed, and system status.LED dot matrix display is a new display devices, which is widely used in advertising, transport, education system, banks and other industrial enterprises and other public places now, and the industry is facing good opportunities for market development and prospects.The design studies that the 8 8 dot matrix LED dynamic display design based on AT89C51 Micro-controller and using Proteus software to simulate.Specifically designed system solutions, LED graphic display principle and application of LED Chinese characters display hardware circuit design, assembler programming and debugging, Proteus software simulation, software flow chart.This design regards the AT89C51 as the core chip, uses AT89C51 the P0 port to control line drive the 74LS245 and P3 ports to directly drive the display by the program controlling and dynamic scanning technology,Chinese characters is to be Dynamic displayed on a dot matrix LED display. In the load range, display can be extended just by a simple cascade, to create a multifunctional display which has a multifunctional modular LED dot matrix, and it is a low-cost graphic display program.Key words: AT89C51 Micro-controller; LED dot matrix; Dynamic scanning; The simulation software of proteus 目录绪论11.1课题的来源和意义11.2国内外发展状况12LED点阵显示器的原理22.1LED点阵显示器简介22.288点阵LED原理及应用22.3LED点阵的显示文字图形原理32.4驱动方式52.5点阵的移动52.5.1向左移动原理63系统硬件设计83.1方案要求83.2系统设计原理83.4系统硬件电路图103.5晶振电路设计103.6复位电路设计113.7LED驱动电路设计114系统程序的设计134.1系统主程序134.2显示驱动程序134.3编程及仿真144.3.1Proteus的基本性能概述144.3.2Proteus仿真要求154.3.3Proteus仿真结果155结论17参考文献18致谢19附录20绪论 1.1课题的来源和意义 本设计是采用AT89C51单片机实现对LED显示屏动态显示汉字的控制,通过proteus来产生仿真结果,目的是实现在教学过程中可以让学生理论与实践相结合,更加深刻地理解理论知识,使其能够独立自主的研发,并进一步使学生对软件与硬件的结合有一个更直观地了解,加深学生对课堂知识的理解与应用。随着电子技术发展迅猛,作为现代信息显示的重要媒体,LED具有低功耗、价格低等优点,在金融证券、体育、机场、交通、指挥调度、国防军事等许多领域中得到广泛应用1。所以点阵式显示器件的研制和生产同样得到了迅速发展。由于条件限制,因此本设计只是实际用品的一个缩小实例。因此研究LED汉字动态显示屏的设计方法具有重要的理论和现实意义。1.2国内外发展状况1990年以前LED显示屏的成长形成时期:这一时期的LED显示屏在国外应用较广,国内很少,产品以红、绿双基色为主,控制方式为通讯控制,灰度等级为单点4级调灰,产品的成本比较高。1990-1995年,这一阶段是LED显示屏迅速发展的时期:LED显示屏在LED材料和控制技术方面也不断出现新的成果,电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术。这一阶段,LED显示屏在平板显示领域的主流产品局面基本形成,LED显示屏产业成为新兴的高科技产业。1995年以来,LED显示屏的发展进入一个总体稳步提高产业格局调整完善的时期:1995年以来,LED显示屏产业内部竞争加剧,形成了许多中小企业,产品价格大幅回落,应用领域更为广阔,产品在质量、标准化等方面出现了一系列新的问题,有关部门对LED显示屏的发展予以重视并进行了适当的规范和引导,目前这方面的工作正在逐步深化。目前我国LED显示屏广泛应用于机场航班动态信息显示以及道路交通信息显示上,尤其在广告媒体新产品应用上最多。 2LED点阵显示器的原理2.1LED点阵显示器简介 点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。LED点阵有44、48、57、58、88、1616、2424、4040等多种;根据图素的数目分为,单色、双原色、三原色等。根据图素顏色的不同所显示的文字、图像等内容的顏色也不同,单原色点阵只能显示固定色彩如红、绿、黄等单色,双原色和三原色点阵显示内容的顏色由图素内不同顏色发光二极体点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极体的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。由LED点阵显示器的内部结构可知,器件宜采用动态扫描驱动方式工作,由于LED管芯大多为高亮度型,因此某行或某列的单体LED驱动电流可选用窄脉冲,但其平均电流应限制在20mA内,多数点阵显示器的单体LED的正向压降约在2V左右,但大亮点10的点阵显示器单体 LED的正向压降约为6V2。大荧幕显示系统一般是将由多个LED点阵组成的小模组以搭积木的方式组合而成的,每一个小模组都有自己的独立的控制系统,组合在一起后只要引入一个总控制器控制各模组的命令和资料即可,这种方法既简单而且具有易展、易维修的特点。2.288点阵LED原理及应用 88的LED点阵是由64个发光二极管按矩阵形式排列而成,每一行上的发光管有一个公共的阳极(或阴极),每一列上的发光管有一个公共的阴极(或阳极),一般按动态扫描方式显示汉字或图形。扫描分为点扫描、行扫描和列扫描三种方式。当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图2-1,2-2所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对应的行置0,而列则采用扫描的方法来实现。 图2-188点阵LED外观及引脚图 图2-28*8LED点阵硬件图 2.3LED点阵的显示文字图形原理 汉字显示屏用于显示汉字、字符及图像信息,在公共汽车、银行、医院及户外广告等地方都有广泛的应用。下面是简单的汉字显示屏的制作,由单片机控制汉字的显示内容。为了降低成本,本文设计的是一个88点阵LED显示屏动态显示汉字。在实际的使用中可以根据这个原理自行的扩展显示的汉字,下面是介绍汉字显示的原理。 LED驱动显示采用动态扫描方法,动态扫描方式是逐列轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以1616点阵为例,把所有同一行的发光管的阴极连在一起,把所有同一列的发光管的阳极连在一起(共阴的接法),先送出对应第1列发光管亮灭的数据并锁存,然后选通第1列使其燃亮一定的时间,然后熄灭;再送出第2列的数据并锁存,然后选通第2列使其燃亮相同的时间,然后熄灭;第16列之后,又重新燃亮第1列,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源3。显示数据可通过单片机的P0,P3口接驱动电路传输到点阵行引脚。LED点阵显示模块进行的方法有两种: (1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该列上哪个LED亮(相当于段码)。能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示出一个完整的图像。(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧完整的图像。每一个字由16行16列的点阵形成显示,即每个字均由256个点阵来表示,我们可以把每一个点理解为一个像素。一般我们使用的1616的点阵宋体字库,即所谓的1616,是每一个汉字在纵横各16点的区域内显示的。汉字库从该位置起的32字节信息记录了该字的字模信息。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。 我们以“习”为例来说明其扫描原理,每一个字由16行16列的点阵组成显示,如图下的,如果用8位的AT89C51的单片机来控制,由于单片机的总线为8位,一个字需要拆分成两个部分。一般我们把它分解成左部分和右部分,左部分由168(列行)的点阵组成,右部分也由168(列行)的点阵组成。在本例中单片机首先显示的是左上角的第一行的部分,因为列接阴极,0是亮,1是灭,“习”字的上面两行的二进制码是11111111,11111111,11000000,00000011,转换成对应的16进制代码是0xFF,0xFF,0xC0,0x03,依此类推,就这样一行一行的扫描4。如图2-3:图23显示原理图 由这个原理可以看到,无论显示何种字体或图像,都可以用这种方法来分析出它的扫描代码从而显示在屏幕上。本设计应用的是第一种的扫描方法,即逐列扫描方式。2.4驱动方式LED点阵的驱动方式可分为静态驱动和动态驱动两种。静态驱动方式:在静态驱动的有机发光显示器件上,一般各有机电致发光像素的阴极是连在一起引出的,各像素的阳极是分立引出的,这就是共阴的连接方式。若要一个像素发光只要让恒流源的电压与阴极的电压之差大于像素发光值的前提下,像素将在恒流源的驱动下发光,若要一个像素不发光就将它的阳极接在一个负电压上,就可将它反向截止。但是在图像变化比较多时可能出现交叉效应,为了避免我们必须采用交流的形式。静态驱动电路一般用于段式显示屏的驱动上。 动态驱动方式:在动态驱动的有机发光显示器件上人们把像素的两个电极做成了矩阵型结构,即水平一组显示像素的同一性质的电极是共用的,纵向一组显示像素的相同性质的另一电极是共用的。如果像素可分为N行和M列,就可有N个行电极和M个列电极。行和列分别对应发光像素的两个电极。即阴极和阳极。在实际电路驱动的过程中,要逐行点亮或者要逐列点亮像素,通常采用逐行扫描的方式,行扫描,列电极为数据电极。实现方式是:循环地给每行电极施加脉冲,同时所有列电极给出该行像素的驱动电流脉冲,从而实现一行所有像素的显示。该行不再同一行或同一列的像素就加上反向电压使其不显示,以避免“交叉效应”,这种扫描是逐行顺序进行的,扫描所有行所需时间叫做帧周期5。2.5点阵的移动以下以1616点阵为例介绍点阵的移动。要显示一个字符,该字符的点阵数据可以列向(纵向)16点组字,又可以行向(横向)16点组字。无论哪一种组字方法,都既可以显示字符的水平方向的移动,又可以显示竖直方向的移动。2.5.1向左移动原理(1)列扫描方式左移动方法1:延长数组法。将原来字符点阵数组的16个数据重复一遍延长,点阵数组的数据个数为32个。每扫描一帧取8个数据显示,下一帧取数要在数组中后移一个数取数。循环一遍扫16帧。可以假想有两块1616的点阵模块(共32帧)水平平行排列,用一个恰好能罩住16列点阵的中空方框去罩这个点阵,第1(第1帧)罩住最左边数起第一列开始的16列,就扫描显示这16列;第2次(第2帧)使方框右移一列,罩住做左边数起第2列开始的16列,就扫描显示这16列;这样每扫描完一帧使方框右移一列,最后第16次(第16帧)时,罩住左边数起的第16列开始的16列,就扫描显示这16列。如此完成16帧画面的扫描显示,也就完成了整个一次移动循环扫描、之后反复循环,即可呈现显示字符沿水平向左移动的图像6,如图2-4所示: 图2-4方框图法左右移动示意图因为是列向组字(列扫描方式,点阵数据为行码,上边为低位下面为高位),希望显示移动的一个字符,第1次扫描从行码的点阵数组中取第116个数据,送行码输出口,对应于这8个数据,同时用列码输出口输出列码,分别控制第116列。扫描完前16个数据之后,第2次扫描从点阵数组中取第318个数据(第18个数据与第1个数据同),送行码输出口,对应于这16个数据,同时用列码输出口输出列码,仍分别控制扫第116列。第3次扫描从点阵数组中取第520个数据(第20个数据码与第2个数据码相同)扫描如此实现字符向左移动。以上完成一个图形移动的方法,也可以看成是移动16个不同的字形,首先扫描第一个字型,同样是16行,16次扫描,16次显示;完成一个字型的扫描以后,再扫描第二个字型;完成第二个字型的扫描之后,再扫描第三个字型依此类推,即可产生该文字的左移的感觉。也就是把第一个字型的编码中,第1列显示数据,变为第2列显示数据;第2列显示数据,变成第3列显示数据;第3列显示数据,变成第4列显示数据;第4列显示数据,变成第5列显示数据以此类推。当第一个字型扫描显示完成之后,就进行这样的动作调整,以产生第二个字型的编码。同样的,当第二个字型扫描完成之后,就进行这样的调整动作,以产生第三个字型的编码。这个调整动作时先将16个编码根据序填入存储器,例如第1行编码存入20H,第二行编码存入21H要进行左移调整时,则先将20H地址的数据转移到36H地址,再将21 H地址的数据转移到20 H地址,将22 H地址的数据转移到21 H地址,将23 H地址的数据转移到22 H地址,将24 H地址的数据转移到23 H地址,将25 H地址的数据转移到24 H地址,将26 H地址的数据转移到25 H地址,将27 H地址的数据转移到26 H地址,将28 H地址的数据转移到27H地址7。方法2:数组数据“循环左移法”。注意,不是把二进制数据按位循环左移,而是把数组中的数据按其在数组中的位置循环左移,具体方法如下。原先字符点阵数组中的16个数据不延长,但下一帧的16个数据,是把上一帧的16个数据的位置(先后顺序)“循环左移”一次,即原来的第2个移到第1个,原来第3个移到第2个原来的第1个移到第16个。实现数组数据循环左移的方法有:第一遍,“数组数据循环左移子程序”,该子程序每执行一次可把数组中的数据循环左移一次,主程序中先调用一次该子程序,这时数组中的诗句循环左移一次,然后再从数组中取数据显示。当数组中的数据个数较多时,片内的RAM将不够大,必须将数组定义在片外RAM中;第二,不用子程序,而是用变量判断控制实现数组数据的循环左移。3系统硬件设计3.1方案要求 本方案设计一个点阵88的LED汉字显示屏,具体要求满足以下条件:1.要求采用89C51单片机作为微控制器; 2.通过一个点阵88的LED汉字显示屏来动态显示文字;3.在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰。 4.本设计有行驱动电路,显示器电路,单片机最小系统,运用单片机的智 能化,系统将每个功能电路模块连接在一起, 通过程序控制,来动态显示汉字。3.2系统设计原理数据传输有并行方式和串行方式,当用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。因此当列数很多时,并列传输的方案是不行的。 而采用串行方式时,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分8。行驱动模块 复位 电路晶振电路88 LEDAT89C51单片机解决串行传输中列数据准即在显示本行各列数据的同时,传送下一列数据。因此整个设计分为三个模块:AT89C51单片机的最小控制系统、行驱动模块、LED点阵显示模块。如图3-1所示: 图3-1系统原理框图 3.3AT89C51引脚介绍 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口作为第八位地址接收。 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)这是由于上拉的缘故。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出9。3.4系统硬件电路图硬件电路大致上可以分成AT89C51单片机最小系统、行驱动电路和点阵88的LED电子显示屏三部分。 系统硬件电路设计电路图如图3-2所示: 图3-2硬件电路图3.5晶振电路设计 AT89C51单片机芯片内部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的的输入端和输出端,时钟可有内部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率采用12MHZ,C1、C2的电容值取30pF,电容的大小起频率微调的作用。晶振电路图如图3-3所示: 图3-3晶振电路3.6复位电路设计AT89C51单片机在启动运行时或者出现死机时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。本设计采用最简单的上电复位方式,电路如图3-4所示。上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由RST引脚送入到内部的复位电路,对AT89C51单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使AT89C51单片机可靠复位。当上电时,C1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果10。 图3-4上电复位电路图 复位电路工作原理:上电瞬间RST引脚的电位与VCC等电位,RST引脚为高电平,随着电容C5充电电流的减少,RST引脚的电位不断下降,可以保持RST引脚在为高电平的时间内完成复位操作。3.7LED驱动电路设计正向点亮一颗LED,至少也要1020mA,若电流不够大,则LED不够大。而不管是AT89C51的I/O口,还是TTL、CMOS的输出端,其高态输出电流都不是很高,不过12mA而已。因此很难直接高态驱动LED,这时候就需要额外的驱动电路,因此加入74LS245芯片组成行驱动电路,而P3口直接与点阵显示屏相连,组成列驱动电路。通常有共阳型与共阴型LED阵列驱动电路,本设计采用共阴型高态扫描信号驱动电路。共阴型LED阵列驱动电路采用高态扫描,也就是任何时间只有一个高态信号,其它则为低态。一行扫描完成后,再把高态信号转化到近邻的其他行,扫描信号接用一个反向驱动器,AT89C51本身内置一个反向驱动器,本设计将AT89C51作为点矩阵显示控制系统的控制核心,通过点矩阵实时动态显示汉字11。驱动电路如图3-5所示: 图3-5驱动电路4系统程序的设计 显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可以把显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统主程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动器程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。4.1系统主程序本文设计的系统软件能使系统在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;接着动态显示“电气四班关帅杰”这7个汉字。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。下图4-1是系统主程序流程图。 4.2显示驱动程序显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式12如下: 刷频率(帧频)=溢出率= (4-2)其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。下图4-2为显示驱动程序(显示屏扫描函数)流程图。进入中断定时器赋初值读取行号并增加1送行显示数据消隐切换显示数据发送新行号,打开显示退出中断系统开始初始化结束5ms定时是否来到?进入中断 N Y 图4-1系统主程序流程 图4-2显示驱动流程图 4.3编程及仿真4.3.1Proteus的基本性能概述 Proteus是英国Labcenter公司嵌入式系统仿真开发平台。Proteus由两个主要程序系统构成ISIS.EXE(电路原理图设计系统)和ARES.EXE(印刷电路版设计系统)。 本论文设计主要是运用ISIS.EXE(电路原理图设计系统)仿真单片机控制88LED点阵,下面将简单介绍Proteus的电路原理图设计系统。Proteus的元件库:有分离元件、集成器件、还有多种带CPU的可编程序器件。既有理想元件模型。还有各种不同厂家及时更新的实际元件模型。 Proteus的电路原理图设计系统的仿真实验功能:电路不仅能做电路基础实验、模拟电路实验与数字电路实验,而且能做单片机与接口实验。为课程设计与毕业设计提供综合系统仿真13。4.3.2Proteus仿真要求1. 建立数字电路模型,检测数字电路模型是否连通,有无连接错误。2. KEIL软件编译汇编语言,要求最终编译结果程序0错误,将其导入到Proteus 仿真软件中。3. Proteus仿真电路最终能成功显示汇编语言程序编译后的结果。4.3.3Proteus仿真结果在软件界面的最左下角有四个实时仿真按键,单击最左边的播放按键,开始仿真,本毕业设计电路连接正确,程序0错误,最终仿真成功。LED显示部分和汇编程序编程结果一致,动态显示出“电气四班关帅杰”的这七个汉字。在目测条件下LED显示屏各亮点均匀、充足、稳定、清晰无串扰。仿真结果静态截图如下:图4-3(a)最终仿真显示“电” 图4-3(b)最终仿真显示“气” 图4-3(c)最终仿真显示“四” 图4-3(d)最终仿真显示“班” 图4-3(e)最终仿真显示“关” 图4-3(f) 最终仿真显示“帅” 图4-3(g)最终仿真显示“杰”5结论本文设计的是一个点阵88的LED汉字显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。总结本文的研究工作,主要做了下面几方面的工作:一、通过查阅大量的相关资料,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。二,本文设计的LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充足,可动态显示图形和文字,显示图形和文字应稳定、清晰无串扰。三,文章给出了系统具体的硬件设计方案,硬件结构电路图,软件流程图,具体汇编语言程序设计和仿真的最后结果。 四,通过这次设计,重新复习并进一步学习了MCS-51的基本知识;熟练掌握了WPS软件和proteus仿真软件的使用方法。参考文献1陈连坤.单片机原理与实践M. 北京:清华大学出版社,2009:75-792王为青.单片机KEIL Cx51应用开发技术. 北京:人民邮电出版社, 2007:185-1883雷伏容.单片机常用模块设计查询手册M. 北京:清华大学出版社, 2010:56-604李广地. 单片机基础M. 北京:北京航空航天大学出版社,2001:97-1035Cambridge,AT89C51 In-Circuit P

温馨提示

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

评论

0/150

提交评论