基于单片机的LED汉字显示屏软件设计与制作
基于单片机的LED汉字显示屏软件设计与制作,基于,单片机,led,汉字,显示屏,软件设计,制作
基于单片机的L ED汉字显示屏软件设计与制作 谢飞 焦作大学 毕业设计 中图分类号:TP334.2+3 基于单片机的LED汉字显示屏软件设计与制作 专业名称:电气自动化技术学生姓名:谢飞导师姓名:张卫华 职称 高级工程师 焦作大学二八年五月 中图分类号:TP334.2+3 密级:公开UDC: 单位代码:11522基于单片机的LED汉字显示屏软件设计与制作Software Design and Manufacture of LED Chinese Character Display Based on MCS姓 名谢飞学制三年专 业电气自动化技术研究方向单片机技术导 师张卫华职称高级工程师论文提交日期2008/5/25论文答辩日期2008/6/02焦作大学焦作大学毕业设计 摘要摘 要在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用LED点阵显示图形和汉字。LED行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。随着信息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所,例如户内外公共场所广告宣传、机场车站旅客引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息豆示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。本设计基于单片机(AT89C52)讲述了16*16 LED汉字点阵显示的基本原理、硬件组成与程序设计等基本环节的相关技术。本设计着重讲述了用单片机技术来完成LED显示屏的显示程序编辑和用LED显示屏显示汉字的方法和要点,在LED显示屏显示的实际应用和操作中有指导意义。关键词:单片机;LED;显示屏焦作大学毕业设计 AbstractAbstractIn the large-scale market, the station, the wharf, the underground station as well as each kind of management window and so on , more and more places need to use the LED dot-matrix to display the graph and the Chinese character. The business LED has become a new business of rapid development. The market space is huge, the prospect is broad. Along with information industries high speed development, LED displaying takes the information dissemination one important means, and so that it has been widely applied on the indoor and outdoor public places where the service projects and the service guide need to be reported. We can give many applying examples of LED displaying, such as the street-traffic information reporting, and so on. Obviously, LED displaying has already become a important symbol of the modernized city.This design (AT89C52) narrates a dot-matrix 16*16 based on the MCS, including basic principle of the LED Chinese character displaying, the hardware component and the software design, and so on. This design narrates emphatically that how to use MCS technology to complete the LED display. This LED display monitor has the guiding sense in the practical application and the operation .Key word:MCS;LED;Display monitor焦作大学毕业设计 目录 目录1 引言11.1 单片机简介11.2 单片机发展史21.3 单片机的发展趋势31.4 单片机的应用51.5 关于本设计61.6 小结62 硬件电路设计72.1硬件电路设计72.2 各硬件的原理介绍82.3小结133 汉字的点阵显示原理及字库代码获取方法143.1汉字的点阵显示原理143.2字库代码的获取方法153.3小结154 程序设计与调试164.1程序流程图164.2程序设计174.3程序调试204.4小结235 结束语24参考文献25致谢2625焦作大学毕业设计 1 引言 1 引言单片机,又称微控制器( MicroController Unit, MCU),自20世纪70年代问世以来,已经对人类社会的各个方面产生了巨大的影响。单片机技术开发和应用水平已经成为一个国家工业化发展水平的重要标志。近年来,由于单片机在国防、工业、医疗、交通、通信、机器人等高精尖技术领域的广泛应用,促进了单片机技术的迅猛发展。为了适应广泛要求,各种新型的速度快、体积小、功能全、功耗低的单片机不断涌现出来。比较有代表性的主要有Intel公司的MCS-51系列以及其他公司的基于51内核的兼容机、PIC公司的PIC系列单片机、Atmel公司的AVR系列单片机以及32位ARM单片机等等。11.1单片机简介我国开始使用单片机是在1982 年,短短五年时间里发展极为迅速。1986 年在上海召开了全国首届单片机开发与应用交流会,有的地区还成立了单片微型计算机应用 协会,那是全国形成的第一次高潮。截止今日,单片机应用技术飞速发展,我们上因特网输入一个“单片机”的搜 索,将会看到上万个介绍单片机的网站,这还不包括国外的。与它相应的专业杂志现在也有很多,比如由单片机界的权威何立民主编的单片机与嵌入式系统应用杂志现以风靡电子界,在2003年7月,91student.com(91 猎头 网)在上海、广州、北京等大城市所做的一次专业人才需求报告中,单片机人才的需求量位居第一。一块小小的片子,为何有这样的魔力?我们首先从它的构成说起:单片机,亦称单片微电脑 或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口 (I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。 计算机的产生加快了人类改造世界的步伐,但是它毕 竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中随处可见的商店、电信、邮政大厅、营业部、车站、机场、港口、体育场馆等发布信息用的广告牌和广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用, 元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了。所以,它的魔力不仅是在现在,在将来将会有更多的人来接受它、使用它。据统计,我国的单片机年容量已达13 亿片,且每年以大约16%的速度增长,但相对于世界市场我国的占有率还不到1%。特别是沿海地区的玩具厂等生产产品多数用到单片机,并不断地辐射向内地。 所以,学习单片机在我国是有着广阔前景的。1.2单片机发展史 单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。 单片机发展简史 如果将8位单片机的推出作为起点,那么单片机的发展历史大致可分为以下几个阶段 1.2.1第一阶段(1976-1978):单片机的控索阶段。以Intel公司的MCS 48为代表。MCS 48的推出是在工控领域的控索,参与这一控索的公司还有Motorola 、Zilog等,都取得了满意的效果。这就是SCM的诞生年代,“单机片”一词即由此而来。 1.2.2第二阶段(1978-1982):单片机的完善阶段。Intel公司在MCS 48 基础上推出了完善的、典型的单片机系列MCS 51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。 完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有很多机通信功能的串行通信接口。 CPU外围功能单元的集中管理模式。 体现工控特性的位地址空间及位操作方式。 指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。 1.2.3第三阶段(1982-1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS 96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。随着MCS 51系列的广应用,许多电气厂商竞相使用80C51为内核,将许多测控系统中使用的电路技术、接口技术、多通道A/D转换部件、可靠性技术等应用到单片机中,增强了外围电路路功能,强化了智能控制的特征。 1.2.4第四阶段(1990):微控制器的全面发展阶段。随着单片机在各个领域全面深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。21.3 单片机的发展趋势 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 CMOS化 近年,由于CHMOS技术的进小,大大地促进了单片机的CMOS化。CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。这也是今后以80C51取代8051为标准MCU芯片的原因。因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。CMOS电路的特点是低功耗、高密度、低速度、低价格。采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)和CHMOS工艺。CHMOS和HMOS工艺的结合。目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已在于TTL电路。因而,在单片机领域CMOS正在逐渐取代TTL电路。 低功耗化 单片机的功耗已从Ma级,甚至1uA以下;使用电压在36V之间,完全适应电池工作。低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗干扰能力以及产品的便携化。 低电压化 几乎所有的单片机都有WAIT、STOP等省电运行方式。允许使用的电压范围越来越宽,一般在36V范围内工作。低电压供电的单片机电源下限已可达12V。目前0.8V供电的单片机已经问世。 低噪声与高可靠性 为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。 大容量化 以往单片机内的ROM为1KB4KB,RAM为64128B。但在需要复杂控制的场合,该存储容量是不够的,必须进行外接扩充。为了适应这种领域的要求,须运用新的工艺,使片内存储器大容量化。目前,单片机内ROM最大可达64KB,RAM最大为2KB。 高性能化 主要是指进一步改进CPU的性能,加快指令运算的速度和提高系统控制的可靠性。采用精简指令集(RISC)结构和流水线技术,可以大幅度提高运行速度。现指令速度最高者已达100MIPS(Million Instruction Per Seconds,即兆指令每秒),并加强了位处理功能、中断和定时控制功能。这类单片机的运算速度比标准的单片机高出10倍以上。由于这类单片机有极高的指令速度,就可以用软件模拟其I/O功能,由此引入了虚拟外设的新概念。 小容量、低价格化 与上述相反,以4位、8位机为中心的小容量、低价格化也是发展动向之一。这类单片机的用途是把以往用数字逻辑集成电路组成的控制电路单片化,可广泛用于家电产品。 外围电路内装化 这也是单片机发展的主要方向。随着集成度的不断提高,有可能把众多的各种处围功能器件集成在片内。除了一般必须具有的CPU、ROM、RAM、定时器/计数器等以外,片内集成的部件还有模/数转换器、DMA控制器、声音发生器、监视定时器、液晶显示驱动器、彩色电视机和录像机用的锁相电路等。 串行扩展技术 在很长一段时间里,通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。随着低价位OTP(One Time Programble)及各种类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。特别是 I C、SPI等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。 随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将列强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS 51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。 单片机的组成及特点 单片机是微型机的一个主要分支,在结构上的最大特点是把CPU、存储器、定时器和多种输入/输出接口电路集成在一块超大规模集成电路芯片上。就其组成和功能而言,一块单片机芯片就是一台计算机。1.4 单片机的应用 由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面: 1.4.1 单片机在智能仪表中的应用 单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。1.4.2 单片机在机电一体化中的应用 机电一体化是械工业发展的方向。机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机控制的车床、钻床等。单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。 1.4.3 单片机在实时控制中的应用 单片机广泛地用于各种实时控制系统中。例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。 1.4.4. 单片机在分布式多机系统中的应用 在比较复杂的系统中,常采用分布式多机系统。多机系统一般由若干台功能各异的单 片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。 1.4.5. 单片机在人类生活中的应用 自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、收录机 等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜爱。而随处可见的各大商场、车站、机场、银行等使用的各种广告牌显示屏等更是与单片机密不可分。1.5关于本设计本文基于单片机(AT89C52)讲述了1616LED汉字点阵显示的基本原理、硬件组成与设计、程序编译等基本环节和相关技术。LED因其体积小,耗电量低,高亮度及环保等优点而被广泛应用于公共场所的大屏显示上,LED点阵大屏可应用于户外广告,交通导航,大厅公告,比赛的多媒体实时显示等领域。本课程设计作品的原理正是在于实现大屏显示的核心功能,即汉字的多样化显示,可实际应用于简单的显示系统中。1.6 小结 本章着重介绍了本设计的核心内容单片机的简史,发展历程及现实应用等方面的内容,对我们学习和应用单片机技术有很大的帮助。单片机作为微型计算机的一个重要分支,应用面很广,发展很快。它的发展已经和我们的生活密不可分,所以,学习单片机在我国是有着广阔前景的,我们应该了解并熟练并掌握这技术,为以后的学习和工作打好基础。焦作大学毕业设计 2 硬件电路组成设计 2 硬件电路组成设计2.1硬件电路设计本设计采用以AT89C52单片机为核心芯片的电路来实现,主要由AT89C52芯片、时钟电路、复位电路、列扫描驱动电路,1616 LED点阵组成。图2-1 硬件电路图Fig.2-1 Hardware circuit行信号的处理是由三八译码器74LS138来完成译码。考虑到1616的点阵扫描频率,将LED分为上下两部分来扫描,让两部分同时进行扫描,这样显示屏就不会出现闪烁现象。2.2 各硬件的原理介绍本设计主要要用到单片机AT89C52,74LS138 3线至8线译码器,88led显示模块,现在对各个硬件进行介绍。2.2.1AT89C52单片机AT89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。2.2.1.1主要特性:与MCS-51兼容 4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路2.2.1.2 管脚说明: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)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示: 表2.1 P3引脚功能 Table 2.1 P3 pin function口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 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:来自反向振荡器的输出。52.2.1.3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.2.2 74LS138 3-8译码器74LS138跟74LS154很类似,差别就在于,138是3-8译码器,154是4-16译码器。引脚说明A,B,C 译码地址输入端G1 选通端/(G2A)、/(G2B) 选通端(低电平有效)0 7 输出端(低电平有效)极限值电源电压 7V输入电压 5.5V工作环境温度 070贮存温度 -601502.2.3 88led显示模块2.2.3.1 8X8点阵LED工作原理说明 图2-2 88点阵模块Fig. 2-2 88 dot matrix module从图2-7中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述: 一根竖柱:对应的列置1,而行则采用扫描的方法来实现。 一根横柱:对应的行置0,而列则采用扫描的方法来实现。 组合型LED点阵显示器自八十年代开始出现,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。 点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。LED点阵有44、48、57、58、88、1616、2424、4040等多种;根据像素的数目分为等,双基色、三基色等,根据像素颜色的不同所显示的文字、图象等内容的颜色也不同,单基色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。几种LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得,LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如5x7点阵显示器用于显示西文字母58点阵显示器用于显示中西文,8x8点阵用于显示中文文字,也可用于图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过微机或单片机控制驱动。3 2.2.3.2 LED点阵扫描驱动方案 由LED点阵显示器的内部结构可知,器件宜采用动态扫描驱动方式工作,由于LED管芯大多为高亮度型,因此某行或某列的单体LED驱动电流可选用窄脉冲,但其平均电流应限制在20mA内多数点阵显示器的单体LED的正向压降约在2V左右但大亮点10的点阵显示器单体LED的正向压降约为6V。 大屏幕显示系统一般是将由多个LED点阵组成的小模块以搭积木的方式组合而成的,每一个小模块都有自己的独立的控制系统,组合在一起后只要引入一个总控制器控制各模块的命令和数据即可,这种方法既简单而且具有易展、易维修的特点。 LED点阵显示系统中各模块的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。82.3小结本章就LED汉字显示屏的硬件电路设计做了简要的设计和说明,由于本设计着重介绍的是基于单片机的LED汉字显示屏的软件设计和制作,所以本设计在硬件电路部分只做了简要的设计和说明,但这并不影响设计内容。如果实际应用需要可以根据具体要求修改电路组成增加I/O口扩展来达到更多更好的显示效果,这里就不多做累赘了。焦作大学毕业设计 3 汉字的点阵显示原理 3. 汉字的点阵显示原理首先要制作LED汉字显示屏,我们就要先弄明白LED显示屏的汉字显示原理和字库代码的获取方法,下面我们就这两个问题做简要的阐述3.1汉字的点阵显示原理我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256象素范围内的任何图形。如查用8位的AT89C52单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分,如图3-1所示。图3-1 汉字显示原理图Fig.3-1 Principle of Chinese character display为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。汉字可拆分为上部和下部,上部由816点阵组成,下部也由816点阵组成。本例通过列扫描方法首先显示左上角的第一列的上半部分,即第0列的P00P07口,方向为P00到P07,显示汉字“焦”时,P07点亮,由上往下排列,为:P0.0灭,P0.1灭,P0.2灭P0.3灭,P0.4灭,P0.5灭,P0.6灭,P0.7亮。即二进制00000001,转换为十六进制为01H。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从P27向P20方向扫描,从图3可以看到,这一列全部为不亮,即为00000000,十六进制则为00H。依照这个方法转向第二列、第三列,直至第十六列的扫描,一共扫描32个8位,可以得出汉字“焦”的扫描代码为: 09H,00H,08H,88H,0FH,0FCH,10H,80H 10H,90H,3FH,0F8H,50H,80H,90H,90H 1FH,0F8H,10H,80H,10H,84H,1FH,0FEH 10H,00H,24H,90H,22H,4CH,40H,04H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。43.2字库代码的获取方法上述方法虽然能够让我们弄清楚汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。为此,我们经常采用字库软件查找字符代码,软件打开后输入汉字,点“提取字模”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到程序中即可,如图3-2所示。图3-2 字库提取程序Fig.3-2 Fonts extraction procedure3.3小结 本章着重介绍的LED汉字显示屏显示汉字的原理及利用字模软件获取字库代码的方法,为我们以后的设计有基础作用,了解了LED汉字显示屏的显示工作原理为我们以后对显示屏制作提供了理论基础,使我们的设计能事半功倍。焦作大学毕业设计 4 程序设计与调试 4.程序设计与调试4.1程序流程图开始设1帧显示时间设片选及数据指针查汉字上部数据及显示查汉字下部数据及显示延时1ms关闭并调整指针是否显示完汉字1帧时间是否到?结束NNYY图4-1 程序流程图Fig.4-1 Program flow diagram4.2程序设计功能:LED16*16点阵滚动显示汉字“焦作大学欢迎您”。/*头文件*/#include#include/*宏定义*/#define uchar unsigned char#define uint unsigned int/*函数声明*/void delay();/*全局变量*/uint lie; /列选标志/* 字模:反显,纵向取模,开头和结尾均加入32个0xFF,用于改善屏滚动显示时循环的连贯性 */* 显示汉字“焦作大学欢迎您” */* 当前所选字体下一个汉字对应的点阵为: 宽度x高度=496x16, 调整后为: 496x16 */uchar code text1056= /这里的数据为你要显示的内容的数据量+64(前后各32个0xff)0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x08,0x80,0x08,0x44,0x0F,0xFE,0x10,0x40,0x10,0x48,0x3F,0xFC,0x50,0x40,0x90,0x48,0x1F,0xFC,0x10,0x40,0x10,0x42,0x1F,0xFF,0x10,0x00,0x24,0x44,0x22,0x23,0x40,0x01,/焦0x09,0x00,0x09,0x00,0x09,0x04,0x11,0xFE,0x12,0x80,0x32,0x80,0x54,0x90,0x98,0xF8,0x10,0x80,0x10,0x80,0x10,0x88,0x10,0xFC,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,/作0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x80,0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x08,0x20,0x07,0xC0,0x02,/大0x22,0x10,0x11,0x10,0x11,0x20,0x00,0x44,0x7F,0xFE,0x40,0x04,0x80,0x08,0x1F,0xE0,0x00,0x40,0x01,0x84,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,/学0x00,0x80,0x00,0x80,0xFC,0x80,0x04,0xFC,0x45,0x04,0x46,0x48,0x28,0x40,0x28,0x40,0x10,0x40,0x28,0x40,0x24,0xA0,0x44,0xA0,0x81,0x10,0x01,0x08,0x02,0x0E,0x0C,0x04,/欢0x00,0x00,0x41,0x84,0x26,0x7E,0x14,0x44,0x04,0x44,0x04,0x44,0xF4,0x44,0x14,0xC4,0x15,0x44,0x16,0x44,0x14,0x44,0x10,0x54,0x10,0x48,0x28,0x40,0x47,0xFE,0x00,0x00,/迎0x09,0x00,0x09,0x00,0x13,0xFC,0x12,0x04,0x3C,0x48,0x51,0x40,0x91,0x50,0x12,0x48,0x14,0x44,0x11,0x40,0x10,0xC0,0x02,0x00,0x51,0x84,0x50,0x52,0x90,0x12,0x0F,0xF0,/您0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF;/*主函数*/void main()uchar i,j; uint m=0;/m是从字模数组里向后取数据时的计数器,用以改变显示文字的内容,及滚动显示效果 SCON=0; /初始化串口为工作方式0(同步通信方式,TxD输出同步脉冲) lie=0x7fff; /列选标志初始化 while(1) /重复循环显示 for(j=0;j10;j+)/j用来控制屏上1帧显示内容停留的时间,即用来控制滚动速度 for(i=1;i1024)/这个数据为你的字模数组的大小-32,我的是1056-32=1024 m=0; /*延时子程序*/void delay()uint n; for(n=0;n90;n+) ; 4.3程序调试程序编写完成我们需要利用Proteus来仿真检验程序是否正确。4.3.1 Proteus软件简介Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。4.3.2 Proteus仿真电路设计图4-2 硬件电路图Fig.4-2 Hardware circuit4.3.2 Proteus仿真显示连接好电路图以后输入程序然后进行编译、链接并产生源代码。生成源代码以后,打开我们刚才在Proteus中绘制好的电路图,并将生成的源代码装入单片机进行仿真。仿真结果如下:图4-3 仿真显示Fig.4-3 Simulation demonstration4.4小结本章主要介绍了LED汉字显示屏的显示程序设计和仿真调试和结果显示,虽然现在只设计了一块1616的LED显示屏,但我们可以通过I/O的扩展,来增加LED显示屏的块数来达到更多更好的显示效果。焦作大学毕业设计 5 结束语 5 结束语到这里本设计就到了结尾了,虽然本设计只使用了一块1616 LED点阵,电路简单,但是已经包涵了LED显示屏的电路基本原理和基本程序,只要扩展单片机的I/O接口,并增加一些LED点阵和相关芯片,就能设计出更大面积、更多花样的LED显示屏。因此本文对同类设计具有一定的理论和实践参考价值。学习并完成本设计不单对我日后学习和应用单片机的知识有帮助,也对我以后的工作有莫大的帮助,他锻炼了我的实际操作和知识的运用,通过对本设计的制作,使我在单片机知识的实际应用有很大的提高和新的认识。但由于本人水平有限,即使借鉴前人的资料仍然还有很多不足之处,在设计的过程中只力求控制的简单、方便、灵活,而对一些细节问题考虑不够,在具体实现时可能会有很大困难,希望在以后的学习当中不断完善。
收藏