基于单片机控制的8X8点阵汉字显示屏的设计_本科毕业设计(论文)_第1页
基于单片机控制的8X8点阵汉字显示屏的设计_本科毕业设计(论文)_第2页
基于单片机控制的8X8点阵汉字显示屏的设计_本科毕业设计(论文)_第3页
基于单片机控制的8X8点阵汉字显示屏的设计_本科毕业设计(论文)_第4页
基于单片机控制的8X8点阵汉字显示屏的设计_本科毕业设计(论文)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、基于单片机控制的8X8点阵汉字显示屏的设计_本科毕业设计论文 基于单片机控制的点阵汉字显示屏的设计【摘要】该设计是一款以单片机AT89c51为控制器的LED点阵显示屏系统。该系统可实现汉字的静态和动态特效显示。系统采用PC机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,AT89c51单片机接收并处理PC机的控制命令以及显示代码,由显示驱动模块驱动一个1616分辨率的LED点阵显示屏的扫描显示。PC机与单片机之间的通信采用RS?232C通信标准来实现。 【关键字】AT89c51;LED点阵显示;串行通信Design and Realization of the Lattice

2、Screen of LED Based on AT89C51 Abstract: This paper introduces a design of the LED lattice display system base on MCU AT89c51. The system can display Chinese characters of the show and from top to bottom and move around the magic show. And can be cascaded to expand the screen size to achieve increas

3、ed content purposes. The PC sends control commands and displays code to microcontroller, AT89c51 receives control commands from PC and shows the code, Driver module drives a 1616-resolution LED lattice LEDs panel display scan showed. Communication between PC and the microcontroller using RS-232C com

4、munications standards Key words: AT89c51;lattice LEDs panel display;serial communication 目录引言11.课题相关知识21.1 AT89C51简介21.2串并转换器74LS164 简介21.3锁存器74L373 简介31.4 DSP 简介31.5 EDA简介42.系统设计方案52.1 通信系统设计52.2 LED点阵显示屏设计52.3 硬件设计方案图62.4 系统软件编译器的选择72.5 上位机控制传输软件设计73. 硬件开发83.1 硬件整体设计概述及功能分析83.2 控制系统设计83.3 译码电路设计10

5、3.4 列驱动电路设计103.5 通信系统硬件设计113.6 电源设计113.7 LED显示屏设计124. 软件设计及开发144.1 程序设计流程图144.2 LED显示屏的显示方式的设计154.2.1 点阵数据表达方式的设计154.2.2 显示程序的设计164.3 通信设计185. 系统测试205.1 系统硬件局部调试方法205.1.1 串口调试205.2 系统联合调试及结果20总 结22致 谢23参考文献24科技外文翻译25附录A 硬件原理图32附录B 仿真图33附录C 设计程序34引言 随着现代计算机技术和自动化技术的开展,带动了嵌入式技术的飞速开展。以单片机作为控制中心的嵌入式系统在实

6、际生活中应用越来越广泛。该设计课题使我们能够掌握LED显示屏的根本显示原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了51单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业开展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然开展迅速但和世界先进水平还有一定的差距。因此此课题不管是对自己的就业还是对我国LED显示技术的开展都有非常现实与积极的意义。

7、 AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT989C51具有以下特点:与MCS-51产品指令系统完全兼容4k字节在系统编程(ISP)Flash闪速存储器1000次擦写周期全静态工作模式:0Hz-33MHz三级

8、程序加密锁1288字节内部RAM32个可编程I/O口线2个16位定时/计数器6个中断源全双工串行UART通道系统看门狗(WDT)及双数据指针掉电标识和快速编程特性灵活的低功耗空闲和掉电模式中断可从空闲模唤醒在系统编程(ISP字节或页写模式) AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数

9、器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。1.2 串并转换器74LS164 简介 列译码采用的是芯片74LS164。如果不采用译码电路完全依靠单片机的端口输出来控制1616的LED点阵屏显示,需要32个端口。而采用了译码电路后仅仅需要79个端口便可实现控制显示。大大减少了I/O口的占用数目,为单片机扩展其他功能预留下来了空间。 74LS164为一个8位数据的串并转换器。当去除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,那么禁止新数据输入,在

10、时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。当A、B有一个为高电平,那么另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。 参数 最小值 标准值 最大值 单位 高电平输入电压 2 ? ? V 低电平输入电压 ? ? 0.8 V 高电平输出电压 2.4 3.2 - V 低电平输出电压 ? 0.2 0.4 V 时钟频率 0 ? 25 MHZ表3.1 74LS164工作参数这就要求单片机的引脚输出的上下电平要在芯片的识别范围内,由于采用了列选通行传送显示代码的方法所以行译码电路上也加上了74L373锁存芯片。这就要求74LS164芯片的输出要满足锁存芯片的上下电平区分范围和频率要

11、求。1.3锁存器74L373 简介 74LS373为八D锁存器3S,锁存允许输入有回环特性。373为三态输出的八D透明锁存器,共有54/74S373和54/74LS373两种线路结构形式当三态允许控制端OE为低电平时,O0O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。参数最小值额定值最大值单位电源电压4.7555.25V输入高电平电压2?V输入低电平电压?0.8V输出高电平电压?-2.6mA输出低电平电压?24

12、mA表3.2 74LS373工作参数表 由表与表比拟可以看出,74LS164的输出条件与74LS373的输入条件相匹配,理论上可以实现锁存器对译码器的数据锁存。1.4 DSP 简介 DSP 又叫数字信号处理器。顾名思义,DSP主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,DSP具有修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。DSP区别于一般微处理器的另一重要标志是硬件乘法器以

13、及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。而DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320 系列的FIRS ,LMS,MACD指令等。1.5 EDA简介 EDA即Electronic Design Automation 即电子设计自动化,它是以计算机为工具,在EDA 软件平台上,对用硬件描述语言HDL 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用HDL 语言完成系统功能的描述,借助EDA工具就可得到设计结果,将编译后的代码下

14、载到目标芯片就可在硬件上实现。由于FPGA/CPLD可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上市时间,有利于在剧烈的市场竞争中抢占先机。而且MCU和DSP都是通过串行执行指令来实现特定功能,不可防止低速,而FPGA/CPLD那么可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLP器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。 三种设计方式相比拟各有优点且都能够实现控制功能,但单片机的技术门槛较低开发本钱也较低非常

15、适合初学者进行学习和锻炼使用。现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统标准,加之生产历史“悠久,有先入为主的优势常作为单片机学习的教材。且51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,那么为高电平或低电平均可。所以在控制局部方案的选择中选定51系列单片机作为控制局部的核心器件。 2.1 通信系统设计 通信局部要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下显示屏和上位机的距离不会很远,所

16、以通信距离的要求不是很高。本设计那么采用串行通信。 串行通信数据是一位一位顺序传送,只用很少几根通信线,串行传送的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场合。在串行发送时,数据是一位一位按顺序进行的,而计算机内部的数据是并行的。因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。反之,又必须将串行数据转换为并行数据输入计算机中。这种转换即可以用硬件实现也可以用软件实现。单由软件实现会增加CPU负担,降低其利用率,故目前常采用硬件实现。通用的通用异步接收/发送器,简称UART(Universal Asynchromous Receeiver/Trabsnitt

17、er)是完成这一功能的硬件电路。在单片机芯片中,UART已经集成在其中,作为其组成局部,构成一个串行口。 综上所述,题目设计已经选定了单片机为开发方式而单片机的UART已经集成在单片机内,所以通信系统选择串行通信为通信方式。2.2 LED点阵显示屏设计 显示局部包括了一块至少可以显示一个汉字的显示屏,以及驱动该显示屏的驱动电路。由于单片机的I/O口有限要不能直接用I/O口来驱动LED显示屏,所以需要对单片机IO口进行扩展增加单片机并行输出的能力。 LED显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的LED显示屏就需要多个发光二极管。构成LED屏幕的方法有两种,一是由单个的发光二极管逐

18、点连接起来,如图2.2所示;二是选用一些由单个发光二极管构成的LED点阵子模块构成大的LED点阵模块。目前市场上普遍采用的点阵模块有88、1616几种;这两种屏幕构成方法各有有缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需更换一个二极管即可,检修的本钱较低,缺点在于连接线路复杂;而点阵模块构成的方法却正好与之相反,模块构成省约了大量的连线,不过当一个LED出现问题时同在一个模块的所有LED都必须被更换。 采取模块构成的方法来制作一个LED点阵显示屏。为了防止模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个1616的LED点阵屏选用四块88点阵模块。

19、 发光二极管light emitting diode, LED,是一种把电能变成光能的特种器件,当向LED器件施加正向电压时,有电流流过器件的正向电流使其发光。图 2.2 LED点阵图一个1616的LED显示屏行和列各有16支引脚,不能单靠51单片机的端口驱动所以必须要对单片机的端口个数进行扩展。经常采用的端口扩展方法是用串并转换芯片进行译码。常用的串并转换芯片有74LS154(4线-16线译码器)、74LS164(8位串并转换器)、74HC595等。51系列单片机端口低电平时,吸入电流可达20mA,具有一定的驱动能力;而为高电平时,输出电流仅数十A甚至更小(电流实际上是由脚的上拉电流形成的)

20、,根本上没有驱动能力,所以单片机不能直接驱动LED显示屏显示。在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路。2.3 硬件设计方案图 最终方案如图2.3所示,以PC机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过端口译码扩展后驱动4块88LED点阵模块构成的1616的LED点阵显示屏。题目将以此方案为指导思想展开具体的硬件电路设计。图2.3 硬件设计方案2.4 系统软件编译器的选择 C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持MCS-51用

21、C语言编程的编译器主要有两种:Franklin C51编译器和KEILC51编译器。该设计选择在单片机开发中普遍使用的KEIL C51来进行编译。因此软件设计最终方案为采用C语言为程序语言,KELC为编译工具按照控制、通信、显示等几个功能模块来编写程序。2.5 上位机控制传输软件设计 其中系统采用现在已经非常普遍的PC机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通用性。上位机的作用是存储并处理显示内容,然后通过通信系统传送到控制系统驱动显示。 LED显示上位机的内容一般有实时显示和存储显示两种方法。实时显示及上位机屏幕上的内容同时显示在LED显示屏上,上位机上内容变化LED显

22、示屏也跟着变化。存储显示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示。两种显示方法相比拟:实时显示屏幕能及时反响上位机内容的变化,显示的效果和内容的实时性好多用于新闻播报、实况转播用,但实时显示硬件开销大,对通信系统要求高,工艺复杂,本钱高;存储显示虽实时性不高但硬件开销小,本钱低廉。课题设计题目对显示的实时性要求较低且所设计的显示屏尺寸不大同时显示的内容不多,所以实时显示就没有必要。所以上位机选择存储显示的方法,控制LED显示屏的显示内容。3. 硬件开发3.1硬件整体设计概述及功能分析 显示系统具体设计主要由上位机,通信系统,单片机系统,译码电路,显示驱动电路和1616的点

23、阵屏六局部组成。具体工作流程为:上位PC机通过通信系统向单片机发送控制指令和显示代码内容,单片机接收后执行控制指令处理显示代码将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行电压和电流的处理以到达LED显示屏的显示电流,电压要求进而使显示屏显示内容。根据硬件的功能结构图选取适宜器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和比照最终的硬件原理图如图3.1所示。 图3.1 硬件原理图该系统所要实现的功能和要求有以下几点:(1)LED显示屏的面积必须满足至少显示一个汉字的标准。并且显示要清晰。(2)驱动电路要能提供LED显示所需

24、范围内的电压和电流要求。(3)译码电路的上下电平的区分能力以及译码的输入输出频率必须满足单片机以及驱动电路的要求。(4)单片机要能接收上位机的指令和显示内容且能够处理后控制LED显示屏的显示,并且端口驱动能力要足以驱动译码电路。执行频率要能到达扫描显示的最低要求。(5)单片机由ISP下载线下载程序和供电,可不设立专用供电电源。(6)由串口完成单片机与上位机的通信,通信速度和数据传输的可靠性要到达显示要求。3.2 控制系统设计 控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单片机的可以的最小配置系统)。AT89C51的最小系统包括了外界时钟电路和复位电路,选定一定数量的I

25、O口作为控制口控制外部的各种器件和数据的输出。根据功能选择一定的单片机端口添加外围的器件,具体电路如图3.2所示。 在该系统中,P1各口主要用作LED显示数据的控制输出。由于端口的驱动能力有限所以该端口外接了5K的上拉电阻来提高驱动能力。其中P1.5P1.6P1.7还复用为ISP下载功能口。具体接法为:P1.0,P1.1,P1.4,P1.5分别接四块74LS164的A端,向74LS164送入串行数据经过其转换后并行输出;P1.2和P1.6分别接列和行的74LS164的CLOCK端,产生移位脉冲是串行数据并行输出;P1.3和P1.7接列和行的CLEAR端,在一组数据完成串并转换后去除164芯片中

26、的内容转换新的数据;其中P1.5P1.6P1.7还复用为ISP下载功能口。P2.0接164芯片的使能控制端,当为高电平使允许输出;P2.2和P2.3接锁存器74LS373的OE和LE端控制锁存器的工作状态。 端口30,EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。因为没有扩展外部程序存储器所以将EA置为高电平。图3.2 控制局部电路图 由于P3口是特殊功能口,在该系统中根本是采用其第二功能。其第二功能和实际运用如表3.1所示:表3.1 AT89C51P3口第二功能的应用端口第二功能实际作用P3.0RXD(串行输入口)与

27、上位机通信的数据输入口P3.1TXD串行输出口与上位机通信的数据输出口P3.2外部中断0做按键中断,控制显示状态P3.3外部中断1做按键中断,控制运行模式 AT89C51单片机的P1在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,P2口在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。所以P1和P2口留为外部数据存储器和程序存储器的扩展用,以备内部存储器和程序存储器不够用的情况时使用。 3.3 译码电路设计 译码电路的功能是为了解决单片机I/O端口缺乏。行译码所用器件为串并转换器74LS164和锁存器74LS373。具体电路如图3.

28、3所示,代码的方法所以行译码电路上也加上了74L373锁存芯片。这就要求74LS164芯片的输出要满足锁存芯片的上下电平区分范围和频率要求图3.3 行译码电路图 。 3.4 列驱动电路设计 列驱动采用ULN2803。ULN2803是一种高电压大电流达林顿管阵列内部结构,该阵列中的八个NPN达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS或PMOS)和大电流高电压的灯,继电器,打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管。集电极输出功率可达50V600mA。 ULN2803作为列驱动执行的是列选的工作

29、,中选通的列输入高电平时其对应的输输出低电平。相对应的输出取反,并能提供较大的灌电流来吸收行驱动流出进过显示屏后的电流。具体电路如图3.7所示。图3.7 列驱动原理图3.5 通信系统硬件设计 AT89C51单片机具有全双工串行UART通道,支持单片机进行数据的串行传输。除了单片机要与PC机制定通信协议,确定发送速率外还需要解决的问题就是信号电平问题。RS-232C标准规定了PC机发送数据总线TXD和接收数据总线RXD采用EIA电平,即传送数字“1时传输线上的电平在-3-15V之间;传送数字“0时,传输线上的电平在+3+15之间。但单片机串行口采用正逻辑TTL电平,即数字“1时为+5V数字“0时

30、为-5V,所以单片机与计算机不能直接相连进行通信必须将RS-232C与TTL电平进行转换。 在通用的电平转换芯片中232系列的芯片以集成度高,单+5V电源工作,只需外接5个小电容即可完成RS-232C与TTL电平之间的转换而成为单片机系统中的常用芯片。在该显示系统中,232为通信系统中最重要的硬件组成局部。电路如图3.8所示:图3.8 串口通信系统电路图3.6 电源设计 在系统中232、74LS164、74LS373、AT89S51都需要5V的供电电压,在系统开发过程中可以使用电脑USB供电。在实际的大屏幕LED显示屏设计中,用电脑USB供电明显不切实际。此时需要对民用的220V进行降压整流为

31、5V直流电压为显示系统供电。电路图如图3.9所示。 图3.9 电源原理图如下图,用220V转12V的变压器进行降压后再通过一个桥式整流电路将交流电整流为直流电。最后通过5V三端稳压模块LM7805得出稳定的5V输出。3.7 LED显示屏设计 LED显示屏主要采用内部译码器级连和多个单片机系统级连的方法。译码器级连如图3.10所示。 将第1个74LS164的Q7端接第2个74LS164的A端,将第2个74LS164的Q7端接第3个74LS164的A端,如此炮制当N块74LS164相级连时就变为一个串行输入7N口输出的串并转换器。这种级连的优点在于一块单片机可以同时控制更多的LED点阵显示屏,且7

32、4LS164的价格低廉整体本钱得到了降低。但是这种级连方法也存在一定的缺点,51系列的单片机的晶振频率不高74LS164级连过多会增加一次扫描的时间从而导致显示出现闪烁。从端口输出的显示数据的显示也要作出相应的改变。图3.10 74LSL64级连 构建LED显示屏的另一种方法是将以较小的LED显示系统做为模块进行级连。如图3-11所示,由独立的LED显示系统组成一个大的LED显示系统。其中各子显示系统之间在功能和控制上都是相互独立的,将画面拆分为几块小画面再分别送入到各子系统中,各子系统同步显示便可以得到一幅大的画面。使用这种级连的方法可以防止51单片机晶振频率低的弱点,更容易实现大屏幕的显示

33、。但这种方法仍然存在难点,一是各独立的子系统的通信和协调性要求更高了,如果要实现显示内容的实时性必须需要上位机不断更新显示内容那么增加了上位机的通信数据量,逐个的单片机传送数据也会影响整个画面的更新速度。图3.11 由子系统构建LED显示屏 在实际应用中通常采用内部扩展和外部级连联合使用的方法来构建大屏幕LED显示屏幕。即增加单个显示系统显示屏幕大小的同时又将单个的显示系统级连。详细硬件原理图见附录A。4. 软件设计及开发4.1 程序设计流程图 系统软件采用C语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现串口通信,静态显示,动态显示三大功能。其功能结构如图2.4所示

34、。通信程序接收上位机数据,交给主程序处理再通过控制程序选择不同的显示程序进行显示。主程序的工作流程如图4.1所示: 图4.1 主程序流程图 程序开始时首先必须对单片机进行初始化,其中初始化的内容包括:中断优先级的设定,中断初始化,串行通信时通信方式的选择和波特率的设定,各IO口功能的设定等。初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了两个外部中断源和串行中断。外部中断源由按键的电平变化触发,外部中断主要功能是选择LED点阵显示屏的控制方式是由按键控制还是上位机控制和显示状态是静态显示还是动态显示。串行中断包括发送中断和接收中断都是由软件触发。中断产生后由预先初始化时设定跳转执

35、行中断子程序。中断程序设定了LED点阵显示屏所要显示的内容和显示的方式,最后执行的是各种显示程序。按照设定的方式和内容显示出所需要的内容。4.2 LED显示屏的显示方式的设计 LED点阵屏显示方式主要由静态显示和动态扫描显示两种。对静态显示来说,每一个发光二极管都需要一套驱动电路,一帧画面输入以后便可一劳永逸地显示,除非我们改变了显示内容,需要重新输出新的点阵数据.这种方式系统原理相对简单一些,但所需的译码驱动装量很多,引线多而繁杂,不便于大屏幕的制造,本钱高,其可靠性也较低。 另一种动态扫描显示是把整个LED屏幕分成假设干局部,每一幅画面的显示是显示完一局部后,又显示第二局部直到显示完最后一

36、局部又重新开始显示第一局部,重复循环进行.在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的画面.也就是说采用动态扫描显示需要不断进行画面的刷新。图4.2 扫描显示程序原理图4.2.1 点阵数据表达方式的设计 该显示系统的显示数据采取纵向取模方向正向的数据存储方式如图4.3 图4.3 点阵数据原理图 即数据是纵向的,一个像素对应一个位。8个像素对应一个字节,字节的位顺序是上高低低,比方从上到下8个点的状态是“*-*-*为黑点,-为白点,那么转换的字模数据是0x82B1000_0010。如图4-3所示,一幅1616的点阵画面点阵数据按照B1B2B3B31B32存储。所以一幅画面的数据量为32

37、字节。画面显示时选通的第i列对应的数组元素为第i和i+16个元素。4.2.2 显示程序的设计 显示程序分为静态显示程序、左移显示、右移显示、上移显示、下移显示五种种显示方式。其中上下左右移动程序都调用了静态显示程序为子程序。静态显示程序流程图如图4.4所示: 图4.4 静态显示程序流程图 静态显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第i列对应的行数据为数组中的第i和第i+16个元素。将对应元素的由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再与0X01相与,所得结果通过单片机端口输出到串并转换器的A端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选

38、通各列来显示所需画面。图4.5 左右移/上下移程序流程图 动态显示程序流程如图4.5所示,根据显示数据的存储原理通过改变实际LED列与数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系为:第i列对应的数据为数组中i和第2i个数据。所以当ULN2803选通时,而送入后一列的数据那么相当于画面左移移位,同理送入前一列数据相当于右移一位。如此循环那么产生一幅稳定运动的画面。4.3 通信设计 系统采用串行中断的方式进行通信。MCS-51单片机的五个中断源两种类型:一类是外部中断源;另一类是内部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的接收和发送中断。MCS-51单片机设

39、置了4个专用存放器用于中断控制,分别为定时器控制存放器(TCON),串行口中断控制器(SCON),中断允许控制存放器(IE),中断优先级控制存放器(IP)。编程时通过设置其状态来管理中断系统。 在编辑中断程序时首先是将中断控制存放器(IE)初始化。其控制位分布如表。EA为中断允许总控制位,EA1时CPU开发中断;EA=1时。CPU屏蔽所有中断。ES、ET、EX1、ET0、EX0为对应的串行口中断、定时器/计数器1中断、外部中断1中断、定时器/计数器0中断、外部中断0中断的中断允许位。对应位为1时允许其中断,对应位为0时,禁止其中断。D7D6D5D4D3D2D1D0EA?ESET1EX1ET0E

40、X0表4.1 中断允许存放器格式 所以初始化时设定中断允许存放器初值为0XFF,指令为 IE0XFF。程序设计时还要考虑到中断优先级的问题。因为不同的中断同时产生而CPU响应的顺序取决于内部查询顺序。 设置串口工作方式1,波特率9600,计算可得计数器初值的十六进制表示为0XFD。通信协议如表4.2所示: 数据结构 第1个字节 第2至第33个字节 第34个字节 内容 起始标志位S 显示数据 控制指令 作用 判断是否开始接收数据 LED的显示内容 控制LED显示方式表4.2 串口通信数据结构 具体串口中断程序流程图如图4.6所示,在主程序中先进行了串行中断的初始化,初始化内容包括了串行工作方式选

41、择,波特率的设定,计数初值的设定。程序开始进入中断等待,当PC机向单片机发送数据时产生中断接收允许位RI置1,将SBUF(缓冲存放器)中的值输入到暂存器中进行数据处理。首先判断数据是否设定的起始标志位S如果是那么开始接收起始位后的33个字节,不是那么中断返回继续等待。接收到第34个字节后便将收到的数据发送回PC机进行验证比拟。 图4.6 通信程序流程图 所有软件编写完成后都必须经过编译才能被单片机识别使用。为了减小软件的修改和优化难度,先把各子程序写为一个可单独执行的完整程序。各子程序编译没有错误后再输入单片机进行验证,这两项都通过后再将所有的程序整合到一起形成一个完整的程序再进行编译和验证。

42、详细程序见附录B。 5. 系统测试 硬件制作和软件编写过后,得出实物如图5.1所示。实物完成后必须对其进行调试,检查设计功能是否实现了。软件硬件完成后开始进行调试。调试可分为硬件调试,软件调试和系统联合调试。5.1 系统硬件局部调试方法 硬件调试主要是调试各局部的焊接是否合格和各芯片的输出输入电压是否符合设计要求,最后测试各硬件局部能否完成设计功能。因此把硬件调试按照以下四局部分步来进行: (1)测试所有焊点是否有短路和虚焊的现象存在; (2)通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内; (3)测试ISP下栽线的功能是否能够实现; (4)测试串口系统的通信功能是否能够实现。 由于

43、最重要的显示系统功能的测试需要软件配合所以在硬件调试局部只测试单片机复位电平,功能局部测试放在系统联合调试局部来完成。5.1.1 串口调试 串口局部的作用为单片机与PC机之间通信,要检查硬件是否正常工作可以采用将232芯片的单片机端输出口与输入口直接相连的方法来测试。具体电路图如图5-2所示,将232的第10端和第9端直接短接。功能上表示将单片机的输出口与输入口直接相连,单片机收到数据的同时就将数据发送回PC机。如果发送的数据能够被接收那么证明串口通信局部的硬件是正常的。将串口与电脑COM1相接,通过串口调试助手发送不同位数的数据再在把发送的数据与接收数据相比拟。图5.2 串口硬件调试5.2

44、系统联合调试及结果 经过硬件调试和软件调试,排除了硬件的连接问题和验证了串口功能的可实现性。其余功能的软件便可以在此根底上调试验证其功能的正确性。联合调试的具体方法如下:(1)编写一个逐点扫描的显示程序,再结合硬件电路运行。这样做的目的在于检测各器件是否能够正常运行和显示屏的各个LED灯是否有损坏。结果显示显示屏中只有边角出有一个LED灯被烧坏,其他器件逻辑功能运行正常。(2)将静态显示子程序与各种动态显示程序结合硬件电路进行调试。系统运行时显示如图5-1所示,显示图像比拟清晰,各动态显示效果也能够实现。但显示存在两个问题。一是发光点的下方会出现一个很微弱的亮点,影响了整体的显示效果。二是同一

45、列的LED灯被点亮的数量与其亮度出反比,即如果同一列的灯都被点亮那么亮度比只点亮几个时要暗一点。图5.4 点阵汉字显示效果图总 结 经过一段时间的努力,终于完成了基于51单片机的LED显示系统的设计,工程所要求的功能全部到达。通过这次设计收获颇多,不仅是所作题目涉及到的软硬件知识还有更为重要的实际经验和过程中所发现的问题。 接手题目之后从互联网上对LED进行了详细的资料收集,从技术和产业的两方面对LED进行了了解。通过了解我认识到LED是一门当今应用非常广泛的技术,整个产业每年都会有巨大的产值而且技术还在不断开展和创新。 从设计之初就确定了参照大屏幕显示屏的实现方法和实际情况设计一款小屏幕的L

46、ED点阵显示屏。在查阅了大量的大屏幕显示屏资料后确定了题目的设计方案。整个设计采用AT89C51做核心控制器,74LS164和74LS373组成译码电路,三极管8550和ULN2803做行和列驱动。在实现这一设计的过程中所遇到的问题和困难给我留下了珍贵的经验和深刻教训。这些经验和教训是:(1)设计之前应该进行大量的资料收集和分析,确定一个清晰的设计思路;(2)器件选择时要详细阅读器件使用手册,不但要考虑器件的功能实现还要考虑器件在整个系统中的兼容性;(3)硬件的系统的建立必须合理和稳定,实物建立之前最好进行仿真这样才能为软件提供一个可靠的试验平台;(4)软件的编写不但要实现功能还要不断的优化、

47、简练、易读。 随着课题的进行,对LED的了解也越来越深入。认为LED技术也会进一步开展,LED应用将会更加广泛。可以设想利用LED的高稳定性和低能耗,再与无线通信技术相结合在沙漠深处或者人迹罕至的雪山之颠树立一块依靠太阳能充电,通过无线传输方式更改显示内容的信息板为登山者提供指示和天气信息,为沙漠迷路的人指引方向。 设计结束了,但学习还在继续。我相信通过此次设计所得到的知识、心得、经验乃至感受都会让我在以后的日子里受益匪浅。致 谢 这次能够圆满完成毕业设计我首先要感谢我的指导老师潘继强老师,感谢他在毕业设计期间对我的指导、勉励、和督导。同时我要感谢大学四年里教过我课程的老师们,感谢他们对我知识

48、增长所付出的辛勤劳动。在我毕业论文写作期间,老师给我提供了各种专业知识上的指导,没有您们的帮助,我不会这么顺利的完成毕业设计,借此时机,向您们表示由衷的感谢。接着,我要感谢同组的各位同学。在毕业设计的短短3个月里,你们给我提出很多珍贵的意见,给了我不少帮助还有工作上的支持,在此也真诚的谢谢你们。和他们的相互帮助和启发中,才有我今天的小小收获。最后我要深深地感谢我的家人,正是他们含辛茹苦地把我养育成人,在生活路上的和学习上给予我无尽的爱、理解和支持,才使我时刻充满信心和勇气,克服成长种种困难,顺利的完成大学学习。 还有许许多多给予我学业上鼓励和帮助的师长、朋友,在此无法一一列举,在此也一并表示忠

49、心地感谢!参考文献1戴梅萼,史嘉权.微型计算机技术及应用(第四版)M. 北京:清华大学出版社,2021.2李建忠.单片机原理及应用M. 西安:西安电子科技大学出版社,2021.3何钦铭,颜晖.C语言程序设计M. 北京:高等教育出版社,20074李群芳.单片机微型计算机与接口技术M.北京:电子工业出版社,20215步维提,郭强.最新液晶显示应用M. 北京:电子工业出版社,2007.6李华.MCU-51系列单片机实用接口技术M.北京:北京航空航天大学出版社,2021.7胡强,张昆.C+ Builder 6编程实例教程M.北京:北京希望电子出版社,2021.8王波.基于51单片机的LED显示系统的设

50、计M.山西:山西大学出版社,2021.9陈新忠.基于RS232总线的单片机多机通信软件设计M.北京:人民出版社,2021.10 李桂平.LED屏幕显示器的设计M.西安:西安交通大学出版社,2021. Based on AT89C51 LED dot matrix Chinese characters display LED Light Emitting Diode, light-emitting diode, is a solid state semiconductor devices, which can be directly converted into electricity to l

51、ight. LED is the heart of a semiconductor chip, the chip is attached to one end of a stent, is the negative side, the other end of the power of the cathode, the entire chip package to be epoxy resin. Semiconductor chip is composed of two parts, part of the P-type semiconductor, it inside the hole-dominated, the other side is the N-type semiconductor,

温馨提示

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

评论

0/150

提交评论