基于单片机的LED汉字滚动显示器的设计.doc

上传人:laozhun 文档编号:4148473 上传时间:2023-04-07 格式:DOC 页数:37 大小:4.06MB
返回 下载 相关 举报
基于单片机的LED汉字滚动显示器的设计.doc_第1页
第1页 / 共37页
基于单片机的LED汉字滚动显示器的设计.doc_第2页
第2页 / 共37页
基于单片机的LED汉字滚动显示器的设计.doc_第3页
第3页 / 共37页
基于单片机的LED汉字滚动显示器的设计.doc_第4页
第4页 / 共37页
基于单片机的LED汉字滚动显示器的设计.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《基于单片机的LED汉字滚动显示器的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的LED汉字滚动显示器的设计.doc(37页珍藏版)》请在三一办公上搜索。

1、本科毕业设计(论文)题目:基于单片机的LED汉字滚动显示器设计 教学单位: 工程技术系 专 业: 电子信息工程 学 号: 0912070130 姓 名: 张春怀 指导教师: 赵永岐 2013年5月摘要LED已成为一个高速发展的新兴产业,前景广阔。该设计介绍了基于单片机AT89S52的1616点阵LED汉字滚动显示屏的设计。其中重点介绍了LED点阵显示的硬件设计、硬件电路各部分的功能和原理、相应软件的程序设计,及详细的使用说明和工作流程。该设计分为六部分,其中主要内容为系统总体分析,系统硬件设计,系统软件设计三部分。系统总体分析是该设计的基础;系统硬件设计是该论文的关键及核心部分,首先该部分简单

2、描述系统硬件的工作原理,且附上系统硬件设计框图,论述了该设计所应用的各硬件接口技术和各个接口模块的功能及工作过程;软件设计是系统运行必不可少的部分。本设计主要是软、硬件相结合,以硬件为基础,来进行各功能模块的设计。本设计实用性强、操作简单、扩展功能强。本显示屏的设计具有体积小、硬件少、电路结构简单及容易实现等优点。关键词:单片机;LED;点阵;汉字显示AbstractLED have become a high speed development of emerging industries, and broad prospects. The design based on single ch

3、ip microcomputer AT89S52 was introduced 16 * 16 lattice LED scrolling display of Chinese characters design. Which focus on LED dot matrix display the functions of the parts of the hardware design, hardware circuit and the principle and the corresponding software program design, and detaiLED instruct

4、ions and work processes.The design is divided into six parts, including the main content for the system overall analysis, the system hardware design, system software design three parts. System overall analysis is the foundation of the design; System hardware design is the key and core part of the pa

5、per, first of all, this part simply described the working principle of the system hardware, and attach a system block diagram of hardware design, the design is discussed the application of the hardware interface technology and the function of each interface module and working process; Software desig

6、n is a crucial part of the system is running.The dominant idea of the design is a combination of software and hardware, on the basis of hardware, design of each function module. This design and strong practicability, simple operation, strong extended functionality. This display design with small siz

7、e, less hardware, circuit structure is simple and easy to implement, etc.Keywords: MCU; LED; Lattice; Chinese character demonstrates目 录第1章 绪 论11.1 本课题的研究意义及必要性11.2 LED的现状和发展趋势11.3 LED的参数及特点2第2章 系统总体分析42.1 设计目标及采取的方案42.2 工作原理52.3 总体设计5第3章 系统硬件设计73.1 单片机处理模块73.2 行驱动模块103.3 列驱动模块123.4 LED点阵显示模块143.4.1

8、LED点阵显示方案143.4.2 LED点阵原理153.4.3 汉字显示原理17第4章 系统软件设计194.1 主程序设计194.2 显示子程序设计204.3 移位子程序设计21第5章 系统调试及性能分析235.1 复位电路的调试与改进235.2 驱动电路的调试与改进235.3 上拉电阻的调试与改进235.4 总体性能分析23结 论25致 谢26参考文献27附录28第1章 绪 论1.1 本课题的研究意义及必要性单片机是一种集成微处理芯片,高密度集成了普通计算机的微型处理器,具有8kb的ROM和P0、P1、P2、P3输入输出接口,且集成了定时器等电路。自其问世以来就因性价比极高而广受欢迎:其因价

9、格低廉、功能强大、对环境要求低、编程简易方便、灵活而广泛应用在一些工控机和智能化仪表装置里面。LED点阵显示屏就是其一种常见的运用。自从改革开放以来,人们的生活水平日渐提高。纯粹的物质需求已经不能满足人们的需要。人们对信息的渴求也越来越强烈。广告已经成为人们获取信息重要的一部分。LED显示屏有图文显示屏和视频显示屏两种。其中图文屏可以显示单色或者彩色的简单图形、文字,广泛应用在医院、火车站、学校教学楼、小型门店等场所;视频显示屏通过上位机控制,能实时的显示视频、实况转播等,多用在足球场、大型会客厅等场所。而且,不同尺寸规格和亮度的LED为室内和室外信息显示提供了多种选择。LED之所以收到广泛的

10、欢迎和应用,跟它的多项优点是分不开的。其概括起来主要是:成本低、体积小、亮度高、设计简单、需要电压低、功耗小、耐冲击、稳定、寿命长。现在LED正在向着更小体积、更大点阵密度、更多色彩和更小成本发展。由于LED技术的快速发展,有很多已经超出在校生所接触到的知识范围,所以本设计旨在利用最简单主要的单色屏显示演示LED屏的工作过程和原理,并实现其显示内容的滚动效果。可以通过更改程序中的点阵字库来改变所需要显示的内容。且该设计具有较好的扩展性,要使其能同时显示更多的内容,只需要再接通上相应数量的点阵屏模块即可。还可以通过修改烧录在单片机ROM的程序内容来实现更多的动态效果如缩放、文字切入等。1.2 L

11、ED的现状和发展趋势自从1907年HjRound发现了金刚砂通电之后可以出现发光的现象,并继此由后人发明了发光二极管,已经过去了一个多世纪。一个多世纪以来,LED技术得到了很大的发展。早先的LED是单个的发光管,结构比较简单。通过单向导电的方式点亮发光。它由阳极脚(1)、阴极脚(2)、内部芯片(3)和环氧树脂保护外壳组成。外壳不仅可以起到保护芯片的作用,还可以透光聚光,使LED显示效果更强。早期LED外形如图1.1所示。图1.1 发光二极管(LED)外形图 随着科技的发展,人们已经不能满足于只能简单用作电源通断指示、普通照明用的发光二极管。随着要求的不断升高,更直接更方便的LED显示期间应运而

12、生。如共阴极数码管、电平管、字符管等的外形虽然各不相同,他们的根本原理是相同的,即通过排列不同形状不同颜色的LED,用电路控制不同的点亮方式显示内容。从此,LED产品的应用更加广泛。不论是出租车计价器,投票计数牌、昂贵仪器的显示面板,都可以看到它们的身影。LED点阵通过将一定数量的发光二极管通过矩阵的形式排列在一起,用类似我们现在的液晶显示器的显示方式显示一定像素内字符或图片。常见的点阵数量有57、44、88、1616等,可以通过排列组成更大的点阵。因为采用不同颜色的外壳和制作材料,LED点阵可以显示多种颜色,常见的有红色、蓝色、绿色。通过不同颜色的通断、灰度搭配,可以显示几乎所有我们常见的颜

13、色。这也是近些年来LED被广泛运用的原因之一。相信在未来,LED照明和现实技术将会得到更大的进步和发展,继而有取代常规大功耗室外现实设备的趋势。LED的参数及特性LED的电压和电流的匹配。 图1.2 LED的电压和电流LED 的正向伏安特性因此,LED伏安特性的数字模型可用式1.1表示 ()() (1.1)其中,是LED的启动电压。表示伏安曲线斜率。表示环境温度。是LED正向电压的温度系数,相对于多数LED而言典型值为。从LED的伏安曲线及数字模型看,LED在正向导通后其正向电压的细小变动将引起LED电流的很大变化,并且,环境温度,LED老化时间等因素也将改变影响LED的电气性能。而LED的光

14、输出直接与LED电流相关,所以LED驱动电路在输入电压和环境温度等因素发生变动的情况下最好能控制LED电流的大小。否则,LED的光输出将随输入电压和温度等因素变化而变化,并且,若LED电流失控,LED长期工作在大电流下将影响LED的可靠性和寿命,并有可能失效。第2章 系统总体分析2.1 设计目标及采取的方案毕业设计是考察学生完成本专业教学培养目标的重要环节,是整个教学计划中综合性最强的实践性教学环节,它对于培养学生的正确思想和工作学习作风,提高学生综合应用专业知识和分析解决实际问题的综合能力,达到工程技术人员所必备的基本素质等方面具有重要的意义。该设计借助单片机AT89S52使LED显示屏实现

15、滚动显示汉字的方法。研究Proteus软件在LED汉字滚动显示器和仿真中的应用,研究Keil软件编译和调试程序,并制作出LED滚动汉字显示屏。该设计的理论基础是单片机技术与应用基础,微机原理,模拟电子技术及数子电子技术。比如AT89S52芯片的一些工作原理是在MCS51的基础上加以改进完成的。8255芯片的工作方式曾在微机原理课程中介绍的。74LS154和三极管的工作原理也分别在数子和模拟电路课程中介绍过。通过该设计不但把以前学过的知识重新复习,而且在查阅专业外资料时还有好多芯片均是以学过的芯片为基础,并且在其基础上完善和改进。通过该毕业设计使我在校学习的理论知识及实际应用有机地相互结合起来,

16、同时也培养了我独立思考问题、敢于创新的科学态度和不怕辛苦的钻研精神。在做该设计时预备两种方案来完成该设计。方案一:由于整个LED显示屏是1616即显示屏有16条行线,16条列线。行线接AT89S52单片机的P0、P1端口,列线接单片机P2、P3口。按照这个方案可以使设计达到预期效果,但是这样一来显示屏行列线使单片机的I/O口资源耗尽不能再进行其他模块的扩展。方案二:将显示屏的行线通过一个74HC154 4-16译码器介入单片机的P1.0、P1.1、P1.2、P1.3口,如图2.1所示。列线通过两块74HC595芯片介入单片机的P2.0、P2.1、P2.2、P2.3、P2.4。这一方案行列总共占

17、用单片I/O口八个,这样一来节省了大量的I/O口,为后续扩展留有很大余地。经过两种方案的比较该设计决定采用方案二来实现。图2.1 74HC154接口2.2 工作原理LED汉字滚动显示屏设计是利用单片机的控制技术,通过程序控制LED的亮灭来达到所要显示的内容。技术为通过程序控制AT89S52芯片输出高电平和低电平,通过高低电平来分别控制LED的亮灭,最终达到所要显示的内容。本设计介绍了一种实用的汉字滚动显示屏的制作方案,显示屏通过4块88LED点阵组合成1616LED显示屏,通过在程序改变汉字代码从而控制所要显示的汉字,实际使用时可根据需要显示的汉字改写程序代码来实现自己想要显示的内容。显示汉字

18、通过行扫描和列扫描,把行列总线接在单片机的I/O口上,然后把扫描代码送入总线。如果将LED点阵的行列端口全部直接接入AT89S52单片机,则需要使用了32条I/O口,这样会造成I/O资源耗尽,系统再无扩充的余地,因此,在该设计中将LED点阵的16条行线和4-16线译码器74HC154的并行输出端之间相连接,列选扫描信号由2片74HC595来选择控制,这样一来列选控制和行选控制共使用了8个I/O口,节约了很多I/O资源,为系统扩展提供了条件。2.3 总体设计通过2.2节的工作原理,画出该系统的框图。总体设计框图如图2.2所示。LED显示屏列 驱 动单 片 机行 驱 动电 源 电 路复 位 电 路

19、时 钟 电 路图2.2 总体设计框图第3章 系统硬件设计基于AT89S52单片机的LED汉字滚动显示屏的硬件设计采用目前使用比较广泛的模块化设计思想,将整个系统分为四大模块,即单片机处理模块、LED点阵显示模块行驱动模块、列驱动模块。通过划分模块的方法,可以把一个复杂的问题分割成几个相对容易解决的简单问题,分别一一解决,从而大大简化了设计的难度。3.1 单片机处理模块此显示设计是以AT89S52单片机为核心器件,该单片机模块的工作原理是加载相应程序提供的高低电平来控制点阵中每个发光二极管的亮灭。下图3.1是单片机处理模块的电路原理图。图3.1 单片机处理模块其中,复位电路为图3.1中左边单独部

20、分,如图3.2,复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。本设计采用简易的上电复位电路,主要由电阻R1,R2,电容C1,按键开关组成,分别接至AT89S52的RST复位输入端。此电路的右上部分为整个电路的时钟电路如图3.3所示,时钟电路是为单片机提供精确定时的内置电路,其基本功能是用于计时、通讯时钟发生器、时间中断源等。本设计的时钟电路由AT89S52的18,19脚的时钟端(XTAL1及XTAL2)以及12MHz晶振X1、瓷片电容C2,C3组成,采用

21、片内振荡方式。为整个系统提供时钟频率。采用晶体振荡是因为它的频率稳定性好,而这一点在显示模块也非常重要的技术求。图3.2 复位电路图图3.3 时钟电路图单片机作为整个设计系统的核心部件,它关系到整个设计系统的性能指标,因此它的选择也是非常重要的,以下是AT89S52单片机的相关资料。AT89S52拥有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。AT89S52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89S52

22、的引脚如图3.4主要性能参数:图3.4 AT89S52引脚图1.与MCS-51产品指令系统完全兼容;2.4k字节可重擦写Flash闪速存储器;3.1000次擦写周期;4.1288字节内部RAM;5.32个可编程I /O口线;6.低功耗空闲和掉电模式;7.6个中断源。在本设计中所用到的AT89S52管脚说明:P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接出4个TTL门电流,P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在Flash编程和校验时,P1口作为第八位地址接收。P3口:P3口管脚是8个内部带上

23、拉电阻的双向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:复位输入。当振荡器复位器件时

24、,要保持RST脚两个机器周期的高电平时间。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.2 行驱动模块行驱动电路的选择如果采取并口输入,会占用大量I/O口资源。而选取串口输入,I/O口资源使用较少。所以本设计选用串口输入。本设计中行方向由416译码器74HC154完成扫描,它由AT89S52的P1.0-P1.3控制。74HC154是一种单片4 线16 线译码器,非常适合应用于高性能存储器的译码器。只要控制端/E1和/E2任意一个引脚为高电平,A、B、C、D任何电平的输入都是无效。/E1、/E2必须都为低电平才能操作芯片。当两个选通输入/E1 和

25、/E2 为低时, 它可以将4 个二进制编码的输入值译成16 个相互独立的输出之一。它实现解调功能采用的办法是用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时,所有输出都为高。其真值表如表3.2所示。表3.2 74HC154的真值表 输入选定输出(L)/E1/E2DCBALLLLLLY0LLLLLHY1LLLLHLY2LLLLHHY3LLLHLLY4LLLHLHY5LLLHHLY6LLLHHHY7LLHLLLY8LLHLLHY9LLHLHLY10LLHLHHY11LLHHLLY12LLHHLHY13LLHHHLY14LLHHHLY15XHX

26、XXXNONEHXXXXXNONE74HC154引脚说明:/Y0-/Y15:输出端。GND:接地。/E1,/E2:使能输入端,低电平有效。A0-A3:地址输入端。VCC:接电源。74HC154 是4线-16线译码器/解调器,其功能为:(1)将4个二进制编码输入译成16个彼此独立的输出之一。(2)将数据从一个输入线分配到16个输出的任意一个而实现解调功能。(3)输入箝位二极管简化了系统设计。(4)与大部分TTL和DTL电路完全兼容。引脚分布如图3.5所示。图3.5 74HC154引脚图3.3 列驱动模块为节省单片机I/O口的资源,方便于后续扩展,行驱动电路采用串口输入并口输出的芯片。该设计电路中

27、列方向由两片74HC595芯片完成扫描,它由AT89S52的P2.0-P2.3控制,将LED点阵的16条列线与两片74HC595芯片的并行输出端之间连接。这样设计使的列方向只占用了单片机的4个I/O端口,同样节省了很多I/O口。74HC595是一款低功耗、低噪声、高速的COMS移位寄存器,它能够驱动15个TTL的负载。该芯片包含一个8位串行输入,并行输出的移位寄存器和带有三态输出控制的8位D型存储器。存储器和移位寄存器分别由独立的时钟提供信号。移位寄存器内置直接清零,串行输入和用于级联的串行输出功能。时钟的上升沿触发存储器和移位寄存器。若同一个时钟提供信号,则存储器的状态必须滞后于移位寄存器一

28、个脉冲信号。74HC595的最主要优点是有数据存储寄存器,在移位过程中,输出端的数据可以保持不变。这在串行速度慢的场合有很大的实用性,二极管显示不会产生闪烁感。74HC595有很多功能,在点阵显示中用到的串行输入并行输出只是其中的一个功能,而它的各个功能是通过寄存器选择的。对于动态显示来说,行扫描主要是处理字模,需要把整个字的字模都输入到595芯片内,通过595来处理,通过子模各个位的移动来实现要显示的字。在LED点阵滚动显示屏中,74HC595 主要用到以下功能:1. 驱动,CMOS的74HC595 驱动LED点阵显示屏。2. 串行输入转并行输出,非常节约资源,从而可以降低对处理器的I/O资

29、源的需求量。3. 具有三态输出锁存。 4. 存在多个级联,可以很方便的将前一个的数据通过串口输出,再输入下一个74HC595芯片中用于更大的LED点阵屏驱动。74HC595引脚见图3.6所示。图3.6 74HC595引脚图其引脚功能为:Q1Q7: 八位并行输出端,可以直接控制数码管的8个段。Q7: 级联输出端,它可接下一个595的SI端。/MR:主复位端,低电平有效位端,低电平时将移位寄存器的数据清零。SHCP:移位寄存器时钟输入,上升沿时数据寄存器的数据移位,下降沿移位寄存器数据不变。STCP:存储寄存器时钟输入,上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。通常将

30、RCK置为低电平,当移位结束后,在RCK端产生一个正脉冲,更新显示数据。/OE:低电平时输出,高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。DS:串行数据输入。SI: 串行数据输入端。Q0:锁存器输出端。VCC:接电源。GND:接地。表3.3 74HC595的真值表 输入输出 功能SHCPSTCP/OE/MRDSQ7QnX X LXLNCMR为低电平时仅影响移位寄存器空移位寄存器到输出寄存器X LLXLL空移位寄存器到输出寄存器清空移位寄存器,并行输出为高阻态XX HLXLZ清空移位寄存器,并行输出为高阻态X

31、LHHQ6NC逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入。XLHXNCQn移位寄存器的内容到达保持寄存器并从并口输出LHXQ6Qn移位寄存器内容移入,先前的内容到达保持寄存器并输出3.4 LED点阵显示模块3.4.1 LED点阵显示方案显示部分是该设计最核心的部分,它的1616 LED点阵显示屏通过4个88LED点阵显示屏扩展而成,如图3.7所示。图3.7 1616LED显示屏图对于88 LED点阵显示有以下两种方案:静态显示,将一帧图像中的所有二极管的状态分别用1 和0 表示,若为0则表示LED 没有电流通过,即状态为灭;若为1 则表示二极管被点亮。如果给每一个发光二极管都

32、加一个驱动电路,一幅画面输入以后,所有LED的状态保持到下一幅画。对于静态显示方式而言,所需的译码驱动装置非常多且引线多而复杂,成本高,可靠性也较低。动态显示,是把一幅画面进行分割,使组成画面的各部分分别显示,是动态显示方式。动态显示可以避免静态显示的问题。但是在硬件设计上如果处理不当,很容易易造成亮度低,LED闪烁的问题。因此合理科学的设计既应保证驱动电路容易实现,同时也要保证图像稳定,没有闪烁。动态显示大部分用多路复用技术的动态扫描显示方式, 复用的程度也不是无限增加的, 因为使用动态扫描显示使人眼看到一幅稳定的画面,实际上是利用了人眼的暂留效应和调整发光二极管发光时间的长短, 发光亮度等

33、因素。通过实验验证, 当扫描刷新频率即发光二极管的停闪频率50Hz同时发光二极管导通时间1m s 时, 显示亮度最好, 无闪烁感。 由于静态显示方式,需要的译码驱动等装置很多,引线多而复杂,成本也很高高,且可靠性较低,相反动态显示可以避免静态显示的问题,只是在设计的过程中应注意合理科学的设计既应保证驱动电路容易实现,又要保证图像稳定,无闪烁。且动态显示易于制作和理解,又能巩固所学知识,同时也能达到该设计的预期效果,因此选用动态显示方式。3.4.2 LED点阵原理在结构上,单基色88的点阵屏每一列共用一根列线,每一行共用一根行线。当相应的行接高电平,列接低电平时,对应的发光二极管被点亮。88点阵

34、原理图如图3.8所示。图3.8 88点阵原理图在一般情况下,一块88像素的LED点阵显示屏是不能用来显示一个完整的汉字,因此,按照其原理结构进行扩展为1616、1632、3232等等,该设计选用1616的显示屏就足以显示一个完整的汉字了。在整个显示过程中,大多都采用扫描的方式,利用人眼的视觉暂停效应,只要屏幕刷新速率大于等于25帧/秒,就感觉不到点阵屏幕的闪烁,从而看是一个稳定的画面了。LED点阵屏采用1616共有256个象素的点阵,通过使用万用表检测发光二极管的方法测试判断出该点阵的引脚分布如图3.9。图3.9 LED点阵外观及引脚将行列总线接在单片机的I/O口上,然后将扫描代码送人总线,就

35、可以得到想要显示的汉字了。如果将LED点阵的行列引脚全部直接接入AT89S52单片机,则单片机的P0、P1、P2、P3口占用完,这样会造成I/O资源耗尽,系统也再无扩展的余地。因此,将LED点阵显示屏的16条列线接两片74HC595的并行输出端引脚上,行扫描信号是由4-16线译码器74HC154来选择控制的,这样节约了很多I/O口资源,更方便于系统扩展。3.4.3 汉字显示原理以UCDOS中文宋体字库为例,任何一个字都是由16行16列的点阵组成显示。即国标汉字库中的任何一个字均可以由256点阵来表示。如果将一个点理解为一个像素,把每一个字的整体字形理解为一幅图像都可以显示出来。事实上,这个显示

36、屏不仅仅能显示汉字, 也能显示在256像素范围内的任何一张图像。用8位的AT89S52单片机控制, 由于单片机的总线为8位,要扫描一个1616的汉字,就需要把每一个汉字拆分为两个部分。 汉字的拆分可分为上下拆分和左右拆分,把一个汉字拆分为两个8*16的显示部分。一般情况下我们选择拆分为上部和下部,上部由816点阵组成, 下部也由816点阵组成。在本例中单片机首先显示左上角第一列的上半部分,即第0列的P00-P07口。扫描方向为P00到P07 ,像图3.10显示汉字“大”时,P05与第0列交点被点亮,由上往下依次为P0.0 灭,P0.1 灭, P0.2 灭P0.3 灭, P0.4 灭, P0.5

37、 亮,P0.6 灭,P0.7 灭。即二进制00000100,转换为16进制为 0x04。上半部第一列扫描完成后,继续扫描下半部的第一列,为了在焊接连线时方便该设计选择由上往下扫描,即从P27向P20方向进行扫描,从下图可以看到,此列全部为不亮, 即为00000000,16进制则为0x00。然后扫描转向上半部第二列,依然为P05点亮,为00000100,即16进制0x04。这一列扫描完成后继续进行下半部分的扫描,P21点亮,为二进制00000010,即16进制0x02。图3.10 16行16列的点阵组成显示图依照这个方法,继续进行下面的扫描,一共扫描32个8位, 可以得出汉字“大”的扫描代码为:

38、0x04,0x00,0x04,0x02,0x04,0x02,0x04,0x04,0x04,0x08,0x04,0x30,0x05,0xC0,0xFE,0x00,0x05,0x80,0x04,0x60,0x04,0x10,0x04,0x08,0x04,0x04,0x0C,0x06,0x04,0x04,0x00,0x00从这个原理可以看出, 无论显示任何字体还是图像, 都可以用这个方法来分析出它的扫描代码从而在显示屏幕上显示。现在网上有很多种现成的汉字字模生成软件,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把所需要的竖排数据复制到我们的程序中即可。如图3.11所示。图3.

39、11 汉字字模生成界面第4章 系统软件设计软件中的程序设计一般主要由开始、初始化程序、主程序及字库组成。在设计主程序中,同一帧反复扫描次数的设定就决定了汉字显示移动的速度。延时程序非常重要,这就要涉及到之前所说的屏幕刷新率的问题了,如果设置不当,则会产生汉字不停闪烁。只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。4.1 主程序设计主程序调用了两个重要的子函数,即显示子函数和移位子函数。显示子函数的功能是让LED显示屏的显示指针指向自摸数组的数据,而移位子函数的功能是让指针所指的地址加2,从而实现汉字向左移动一列的效果。整个主程序开始运行后先初始化指针所指向的地址,让指针指向字库首地址,再设

40、定变量tmp初值为0,用tmp的值来控制显示函数的重复次数,从而达到显示汉字的移动速度的目的。当tmp没有达到设定值时不断重复显示子函数,此时显示屏上显示的是一个静止不动的汉字,直到tmp达到设定值,调用子函数将指针地址加2,使指针位置指向第二列,然后重新从tmp的初始化开始执行,这样显示屏幕上将会出现一个不断由右向左移动,流程如图4.1所示。开 始图4.1 主程序流程图该LED显示屏主程序设计能够用来显示“西京学院欢迎您”等汉字显示。同时也可以显示256像素内的任何图像。4.2 显示子程序设计显示子程序的执行过程主要是单片机I/O口对外传输数据的过程。程序在设计时,首先设定一个局部变量col

41、,并将其初始值设置为0,设置该变量的目的是确定扫描的行数,以便控制I/O口发送相应的字模数据。若col值小于15说明正在扫描显示屏上的某一行,P1口送出相应的行扫描命令到74HC154芯片经译码后来控制相应的行数。然后P2口送出相应的高、低八位字模数据,最后关闭列控制以防止残影出现,影响整体效果。之后对col进行自己加1完成一个循环。当col15时说明16行已全部扫描完毕,此时显示屏将出现一个完整的汉字,程序执行完毕,流程如图4.2所示。开 始初始化,定义col=0判断col=15?是否对P1口赋值对P2口赋值对P1口消影对P2口消影col+结 束图4.2 显示子程序流程图4.3 移位子程序设

42、计移位子程序就是让地址指针自动加2,这样一来当显示函数在执行时,第一列显示的就是原本第二列要显示的内容依次类推,最终结果显示整个图像好像自由向左移动一列。所以程序执行起来是首先要将指针地址加2以便实现指针的移动,之后再判定指针地址的值,如果地址指针移动到最后一位及第15列时就要令地址指针复位为0,否则指针一直移动下去,当移出字模数组范围后,因为字模数组以外是未知内容就会导致显示屏显示乱码或者是空白内容,流程如图4.3所示。开 始地址指针移动两位判断指针是否超出字模数组范围否 是将指针地址复位结 束图4.3 移位子程序流成图第5章 系统调试及性能分析5.1 复位电路的调试与改进刚开始设计时候,复

43、位电路按照参考资料上的原理图连接完成后在Proteus软件中进行仿真调试整个电路时一切都正常达到了预期结果。但是在面包板上建立物理连接后发现复位按键不起作用,后经在图书馆查阅资料发现使用的电容本应该使用极性电容,之后找用相同电容值的极性电容替换原来的非极性电容,电路复位正常。5.2 驱动电路的调试与改进最初的设计的设计方案是列驱动中的每个74HC595均是通过一个10K的排阻与点阵显示屏的列相连接,软件仿真也是正常。在焊接实物之前,在面包板上依照仿真图建立物理连接后,调试时发现LED忽明忽暗,有的LED甚至不亮,导致汉字显示时不稳定。后经万用表测量LED显示器中单个发光二极管通过的电流不足1.

44、5mA,达不到额定的工作电流。确定原因是由于加载的排阻阻值过大,导致LED电压、电流不足。为了解决此问题,本次设计去掉74HC595与点阵显示器之间的排阻。经试验后,显示器显示效果良好,上述问题得以解决。5.3 上拉电阻的调试与改进设计之初是选用P0口来控制74HC154从而控制点阵显示屏的行,但是插好线后发现单片机不能正常工作。经分析单片机的P0口比较特殊,P0口在不接片外存储器和不扩展I/O口的情况下,可作为准双向输入输出口。在接有片外存储器或者扩展I/O口时,P0口分时复用为低八位地址总线和双向数据总线,所以P0口的带负载能力比较弱,一般情况下需要接入一个上拉电阻,由于在焊接时候没有合适的排阻,而本次设计总共只占用八个I/O口,所以将显示器行控制选择接到P1口,解决了之前不能正常工作的原因。5.4 总体性能分析经过仿真,焊接前面包板物理连接测试、焊接实物到最终实物完成,达到了预期设计效果,但是现实效果和理论比较起来还是存在一些差异性,但不是很大的影响。主要是在焊接过程中线条过多,线与线之间难免会相互产生些影响。设计之初计划P0口接一上拉电阻后接入74HC154输入端和显示屏行线相连接。P2口与两片74HC595相连接再分别接1K排阻目的在于分压防止电压过大烧坏二

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号