机电一体化单片机的汉子显示屏设计.docx
- 文档编号:29847062
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:26
- 大小:295.15KB
机电一体化单片机的汉子显示屏设计.docx
《机电一体化单片机的汉子显示屏设计.docx》由会员分享,可在线阅读,更多相关《机电一体化单片机的汉子显示屏设计.docx(26页珍藏版)》请在冰豆网上搜索。
机电一体化单片机的汉子显示屏设计
河北机电职业技术学院
毕业论文
单片机的汉子显示屏设计
姓名
单片机的汉字显示屏的设计
摘要
LED显示屏是利用发光二极管点阵模块或像素单元组成的平面显示屏幕。
由于它具有发光率高、组态灵活、色彩丰富以及对室内外环境适应能力强等优点,具有十分广阔的应用前景。
此课题研究了基于AT89C51单片机LED汉字滚动显示屏的设计与应用Proteus软件的仿真实现过程。
主要介绍了用单片机来实现点阵式LED汉字显示屏的基本原理、制作方法、程序设计与调试及其Proteus软件仿真等内容,文中给出了整体电路设计框图,并附有关键部分程序。
本显示屏的设计方案具有体积小、硬件少、电路结构简单及容易实现等优点。
能帮助大家了解汉字的点阵显示原理,认识单片机的基本结构、工作原理及应用方法,提高单片机知识技术的运用能力。
关键词:
单片机,LED,汉字显示,点阵
第1章绪论
1.1单片机概述
单片微型计算机(singlechipmicrocomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。
1976年Intel公司推出的MCS—48系列8位单片机,以其体积小,功能全,价格低等特点赢得了广泛的应用。
MCS—48为单片机的发展奠定了基础,成为单片机发展过程中的一个重要阶段[1]。
在MCS—48成功的激励下,许多半导体公司和计算机公司竞相研制和开发自己的单片机系列。
其中包括摩托罗拉、飞利浦等公司的产品。
尽管目前单片机品种繁多,但其中最具有典型性的当数Intel公司的MCS—51系列。
MCS—51系列是在MCS—48系列的基础上于80年代发展起来的,虽然它仍然是8位单片机,但其功能较MCS—48有很大的增强[2]。
此外,它还具有品种全,兼容性强,软硬件资源丰富的特点,因此应用较为广泛,成为继MCS—48之后最重要的单片机品种。
直到现在,MCS—51仍不失为一种单片机是主流芯片。
在8位单片机之后,16位的单片机也有很大的发展。
例如,1983年Intel公司的MCS—96系列单片机就是其中的典型代表。
与MCS—51相比,MCS—96不但字长增加了一倍,而且还具有4路或8路的10位的A/D转换功能。
此外,在其他性能方面也有一定的提高。
在单片机的基础上发展起来的嵌入式系统已成功进入商业市场。
嵌入式计算机系统是以应用为中心,以计算机技术为基础,软,硬件可裁减,适应应用系统对功能,可靠性,成本,体积,功耗等严格要求的专用计算机系统。
1981年,ReadySysten开发出世界上第一个商业嵌入式实时内核,这个实时内核包含了许多传统操作系统的特征,包括任务间通信,同步与相互排斥,中断支持,内存管理等功能。
此后一些公司也纷纷推出了自己的嵌入式操作系统,这些嵌入式操作系统都具有嵌入式的典型特点:
它们均采用占先式的调度,响应时间短,任务执行的时间可以确定;系统内核很小,具有可裁减性。
可扩充性和可移植性,可移植到各种处理器上,较强的实时性和可靠性。
适合嵌入式应用。
如今,实时内核逐渐发展为多任务操作系统,并作为一种软件平台逐步成为目前国际嵌入式系统的主流[3,4]。
嵌入式系统由软件和硬件两大部分组成。
从硬件方面来讲。
嵌入式系统的核心部件是嵌入式处理器。
据不完全统计,全世界嵌入式处理器的品种数量已经超过1000多种,其中8051体系占大多数。
嵌入式系统的软件一般由嵌入式操作系统和应用软件组成。
操作系统是连接计算机硬件与应用程序的系统程序。
操作系统有两个基本功能:
使计算机硬件便于使用,高效组织和正确使用计算机系统。
如今,嵌入式系统主要应用于工业控制,交通管理,信息家电,家庭智能管理系统,POS网络及电子商务,环境监测,机器人等领域。
单片机具有以下特点:
1)小巧灵活,成本低,易于产品化。
它能方便的组合成各种智能化的控制设备及各种智能仪器与仪表。
2)面向控制,能针对性的解决从简单到复杂的各类控制任务,因而能获得最佳的价格性能比。
3)抗干扰能力强,适应温度范围宽,在各种恶劣环境下都能可靠性工作,这是其它机种无法比拟的。
4)可以很方便的实现多机和分布控制。
使整个控制系统的效率和可靠性大幅度提高。
单片机具有体积小、功耗低,价格便宜等优点,近年来还还开发了一些以单片机母片为核(如80C51),在片中嵌入更多功能的专用型单片机(或者叫专用微控制器),因此单片机在计算机控制领域中应用越来越广泛。
8051是MCS51系列单片机的一个产品。
MCS51系列单片机是Intel公司推出的通用型单片机,在本设计中我选用的是89C51。
1.2选题背景和意义
LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
由于它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
随着LED制造技术的不断完善,在国外得到了广泛的应用。
在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高[5-7]。
一般的实验室里面都有各式各样的规章制度、注意事项、实验要求或操作流程等说明性的文字,把它们贴在墙上,通常都起不到醒目的效果,如果将实验操作流程提示文字送到本系统中进行显示,然后把本系统挂在墙上醒目的地方,则会容易引起实验者的注意,方便实验者的观看这些提示文字,以避免实验过程中不应该发生的错误和不必要的损失,最大效率地完成实验。
所以研究LED显示屏的最终意义就在于方便显示便于大家观察[8]。
显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。
1.3国内外研究现状
单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。
单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,开发较为容易。
广大工程技术人员通过学习有关单片机的知识后,也能依靠自己的力量来开发所希望的单片机系统,并可获得较高的经济效益[9]。
正因为如此,在我国,单片机已被广泛地应用在工业自动化控制、自动检测、智能仪表、家用电器等各个方面。
在现代工业控制和一些智能化仪器仪表中。
越来越多的场所需要用点阵图形显示器显示汉字。
汉字显示方式是先根据所需要的汉字提取汉字点阵(如16×16点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。
LED显示屏经历了从单色、双色图文显示屏,到图象显示屏,一直到今天的全彩色视频显示屏的发展过程。
无论在期间的性能和系统的组成等方面都取得了长足的进步。
目前已经达到的超高亮度全彩色视频显示的水平,可以说能够满足各种应用条件的要求。
其应用领域已经遍及交通、电信、广告、宣传等各个方面。
我国LED显示屏的发展可以说基本上与世界水平同步,至今已经形成了一个具有相当发展潜力的产业[10]。
应该指出的是,我国LED产业不但在应用技术上取得了巨大的成功,而且在创新能力上有出色的表现,例如北京数据设备公司研制的超大规模芯片,就代表了当前LED显示屏控制电路的国际水平。
与国内LED显示屏产业的迅速发展相比,由于LED显示屏是多种综合应用的产品,涉及光电子学、半导体器件、数字电子电路、大规模集成电路、单片机及微机等各个方路及方法还要花较大篇幅进行介绍,容易冲淡主题。
反过来采用集成电路和单片机等简单方法显示LED既有硬件又有软件。
第2章设计目标及采取方案
2.1设计目标
毕业设计是学生完成本专业教学计划达到培养目标的重要的教学环节,是教学计划中综合性最强的实践性教学环节,它对于培养学生正确的思想和工作作风,提高学生综合运用专业知识分析和解决问题的能力,达到工程技术人员所具备的基本素质等方面具有重要的意义。
本设计的理论基础是单片机技术基础,微机原理,模拟和数字电路。
通过本设计不仅把以前学过的知识重新温习,而且在查阅课外资料时还有好多芯片都是以学过的芯片为基础并且在基础上改进和完善的。
通过这次毕业设计使我在学校学习理论知识和实际应用有机结合起来,同时也能培养我独立思考、勇于创新的科学态度和钻研精神,为我将要踏上工作岗位做一次提前的锻炼。
2.2设计采取的方案
1)用单片机控制技术控制LED的显示,再结合单片机的程序做线路图布置及在在Proteus软件中做出电路。
2)行列电路设计,分析电路图确定整个系统大概的模块。
3)进行系统分析,通过系统分析确定该系统该具有哪些功能,有哪些模块,各个模块之间是怎么联系的,以及怎样组合的。
4)确定所需的元器件,然后通过电路图进行连接。
5)集合程序调试,调试整个的系统模块的功能,看各功能是否正常运行,并找出程序中出现的错误,然后改正这些错误。
6)最终在Proteus软件中仿真出所要显示的汉字。
第3章系统总体设计
3.1AT89C51芯片的介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本[11-13]。
外形及引脚排列如图3-1所示
图3-1AT89C51管脚图
AT89C51具有40个引脚,32个外部双向输入/输出端口,同时内含两个外中断口,两个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效降低开发成本。
主要特性如下:
1)与MCS-51兼容
2)4K字节可编程闪烁存储器
3)数据保留时间:
10年,寿命:
1000写/擦循环
4)全静态工作:
0Hz-24MHz;三级程序存储器锁定
5)128×8位内部RAM,32个可编程I/O线
6)两个16位定时器/计数器、5个中断源
7)可编程串行通道、低功耗的闲置和掉电模式
8)片内振荡器和时钟电路
管脚说明:
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的一些特殊功能口,如下表所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器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:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度[14]。
3.2LED显示模块
3.2.1LED显示屏的基本工作原理
LED显示屏的基本工作原理是动态扫描。
动态扫描又分为行扫描和列扫描两种方式,常用的方式是行扫描。
行扫描方式又分为8行扫描和16行扫描两种,在行扫描工作方式下,每一片LED点阵片都有一组列驱动电路,列驱动电路中一定有一片锁存器或移位寄存器,用来锁存待显示内容的字模数据。
在行扫描工作方式下,同一排LED点阵片的同名行控制引脚是并接在一条线上的,共8条线,最后连接在一个行驱动电路上;行驱动电路中也一定有一片锁存器或移位寄存器,用来锁存行扫描信号[15]。
单片机对LED显示屏的控制过程是先读后写,按LED点阵片在屏幕上的排列顺序,单片机先对第一排的第一片LED点阵片的列驱动锁存器,写入从外部数据存储器读得的字模数据,接着对第二片、第三片……知道最后一排的第一片都写完数据字模后,单片机在对这一排的行驱动锁存器写行扫描信号,于是第一排第一行与字模数据相关的发光二极管点亮,接着第二排第一行、第三排第一行……直到最后一排第一行点亮。
各排第一行都点亮后,延时一段时间,然后黑屏,这样就算完成了单片机对LED显示屏的一行扫描控制。
单片机对LED显示屏第二行的扫描控制、第三行的扫描控制……知道第八行的扫描控制,其过程与第一行的扫描控制过程相同。
对全部的八行扫描控制都完成后,LED显示屏也就完成了1帧的完整显示。
虽然这种工作方式LED是一行接一行点亮的,每次都只有一行亮,但只要保证每行每秒钟能点亮50次以上,即刷新频率高于50Hz,那么由于人的视觉惰性,所看到的LED显示屏显示的汉字是全屏稳定的汉字。
3.2.2LED显示屏驱动
为有效利用单片机资源,点阵的16个行使用译码方式,列采用单片机的串口加串变并的器件来驱动。
驱动采用74HC1544线-16线译码器实现串变并操作[16]。
3.3字模转换模块
3.3.1汉字字模转换原理
每一个汉字都是由16行16列的点阵组成,即国标汉字库中的每一个字均是由256点阵来表示。
我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。
事实上这个显示屏不仅可以显示汉字,也可以显示256像素内的任何图形。
用八位的AT89C51单片机控制,由于单片机的总线为八位,所以一个字学要拆分为两个部分,一般把它拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成[19]。
我们现在以汉字“大”为例,说明其扫描原理。
图3-416行16列的点阵显示组成图
在UCDOS中文宋体字库中,本例单片机首先显示的是左上角的第一列的上部分,即第0列的P00—P07口,方向为P00到P07,显示汉字“大”时P05点亮,由上往下排列为,为P0.0灭、P0.1灭、P0.2灭、P0.3灭、P0.4灭、P0.5亮、P0.6灭、P0.7灭,即二进制00000100,转换为十六进制为04h。
上半部第一列完成后继续扫描下半部第一列,为了接线方便我们仍设计为由上往下扫描,即从P27向P20扫描,从上图可以看出这一列灯全部熄灭,即00000000转换为十六进制为00h。
依照这个方法,继续进行下面的扫描,一共扫描32个八位,可以扫描出汉字“大”的代码为:
04H,00H,04H,02H,04H,02H,04H,04H
04H,08H,04H,30H,05H,0C0H,0FEH,00H
05H,80H,04H,60H,04H,10H,04H,08H
04H,04H,0CH,06H,04H,04H,00H,00H
3.3.2汉字字模转换举例
由字模转换原理可以看出,无论显示何种字体,都可以用这种方法来分析它的扫描代码从而显示在屏幕上。
不过现在有很多汉字字模生成软件,而且能同时生成多个汉字的代码,就不必在一行一列的去算代码了。
软件打开后在文本框中输入要转换的汉字,通过设置要转换的方式,结束文字输入时按住Ctrl+Enter组合键在设置取字模方式即可产生汉字代码。
下图为产生汉字“老师辛苦了”的十六进制的代码图
图3-5汉字“毕业设计”字模转换图
其产生的十六进制代码如下:
/*--文字:
老--*/
0x02,0x00,0x02,0x08,0x3F,0xD0,0x02,0x20,0x02,0x40,0xFF,0xFE,0x01,0x00,0x02,0x00,
0x0C,0x10,0x18,0xE0,0x2F,0x00,0x48,0x08,0x88,0x08,0x08,0x08,0x07,0xF8,0x00,0x00,
/*--文字:
师--*/
0x08,0x00,0x0B,0xFE,0x48,0x20,0x48,0x20,0x48,0x20,0x49,0xFC,0x49,0x24,0x49,0x24,
0x49,0x24,0x49,0x24,0x49,0x24,0x09,0x34,0x11,0x28,0x10,0x20,0x20,0x20,0x40,0x20,
/*--文字:
辛--*/
0x02,0x00,0x01,0x00,0x3F,0xF8,0x00,0x00,0x08,0x20,0x04,0x40,0xFF,0xFE,0x01,0x00,
0x01,0x00,0x01,0x00,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
/*--文字:
苦--*/
0x08,0x20,0x08,0x20,0xFF,0xFE,0x08,0x20,0x09,0x20,0x01,0x00,0x01,0x00,0xFF,0xFE,
0x01,0x00,0x01,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,
/*--文字:
了--*/
0x00,0x00,0x7F,0xF8,0x00,0x10,0x00,0x20,0x00,0x40,0x01,0x80,0x01,0x00,0x01,0x00,
3.4硬件设计框图
3.4.1单片机与74HC154的硬件连接
AT89C51单片机的P1.0端口与第一块74HC154的A相连,P1.1端口与74HC154的B相连,P1.2端口与74HC154的C相连,P1.3端口与74HC154的D相连。
E1与E2相连并接地。
下图为单片机与74HC154的硬件连接图
图3-6单片机与74HC154的硬件连接图
3.4.2硬件设计主框图
单片机的P1、P2口控制8*8点阵行信号,P2.0作为74HC154DS扫描信号的输入,P0.1、P0.2作为SCK和RCK时钟脉冲信号的输入。
SCK为串行输入右移寄存器的时钟信号,RCK为并行输出时钟脉冲。
SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口[21]。
其硬件主框图如图3-7所示
图3-7单片机与74HC154的硬件框图
第4章系统软件电路设计
4.1主程序及流程图
在软件环境中程序设计与调试,软件程序主要由开始、初始化、主程序、字库组成[22]。
其中主程序的流程图如图4-1所示。
图4-1主程序流程图
下面的程序能够用来实现显示“老师辛苦了”汉字的显示。
显示部分主要程序清单如下:
ORG0
SJMPSTAR
ORG30H
STAR:
MOVDPTR,#TAB
MOVR1,#00H
MOVR4,#96
CM:
MOVR5,#8
MOVR3,#16
C1:
MOVR2,#0
C16:
MOVP0,#0FFH
MOVP2,#0FFH
MOVA,R2
MOVCA,@A+DPTR
CPLA
MOVP0,A
INCR2
MOVA,R2
MOVCA,@A+DPTR
CPLA
MOVP2,A
INCR2
MOVP1,R1
INCR1
ACALLD1MS
DJNZR3,C16
MOVR3,#16
DJNZR5,C1
INCDPTR
INCDPTR
DJNZR4,CM
AJMPSTAR
D1MS:
MOVR6,#0
MOVR7,#248
DJNZR7,$
DJNZR6,$
RET
TAB:
DB02H,02H,02H,04H,12H,08H,12H,10H
DB12H,20H,12H,7EH,0FEH,89H,13H,09H
DB32H,11H,16H,11H,0AH,21H,12H,61H
DB32H,01H,06H,07H,02H,00H,00H,00H
DB00H,00H,3FH,0F1H,00H,02H,00H,0CH
DB0FFH,0F0H,00H,00H,40H,00H,4FH,0FCH
DB48H,00H,48H,00H,7FH,0FFH,48H,08H
DB48H,04H,0DFH,0F8H,48H,00H,00H,00H
DB02H,00H,02H,20H,22H,20H,22H,20H
DB32H,20H,2EH,20H,0A2H,20H,63H,0FFH
DB22
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机电 一体化 单片机 汉子 显示屏 设计