1、江苏城市职业学院 毕业设计(论文)( 2012届)设计(论文)题目基于AT89S52的LED汉字显示屏的设计分工项目 硬件设计 办 学 点 (系) XX(电子工程系) 专 业 电子信息工程技术 班级 XXXXXXX 学号 XXXXXXXXXX 学生姓名 XXXX 起讫日期 年 月 日 年 月 日 地点 淮 安 指导教师 XXX 职称 XXX XXX年X月X日摘要LED(LightEmittingDiode)行业已经成为一个快速发展的新兴产业,市场空间巨大,前景广阔。本文介绍了基于AT89S52单片机的LED显示屏设计。其中着重介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相
2、应软件的程序设计,以及详细的使用说明和工作流程。本文分为六部分,其中主要内容是系统总体分析,系统硬件设计系统软件设计等三部分。系统总体分析是基础,系统硬件设计是本文的关键,该部分首先简单描述系统硬件工作原理,且附以系统硬件设计图论述了本次毕业设计所应用的各硬件接口模块的功能及工作过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的设计。本设计具有操作简单、扩展功能较多、实用性强等特点。关键词:AT89S52单片机 LED 点阵显示 硬件设计目 录第一章 前言5 1.1 LED显示屏的发展背景及国内外研究现状5 1.2 设计目标及思路51.2.1设计的目标5 1.2.2设计
3、思路5第二章 系统总体分析7 2.1 LED显示屏的技术现状及发展趋势72.1.1 LED显示屏相关定义72.1.2 LED显示屏的分类72.1.3相关技术7 2.2 LED点阵驱动原理9 2.3 LED16*16点阵显示10 2.4系统硬件的总体结构及布局112.4.1 控制电路设计112.4.2 显示驱动电路12 2.5本章小结14第三章 硬件设计与实现15 3.1单片机系统的设计15 3.1.1 AT89S52主要功能列举如下15 3.1.2 AT89S52各引脚功能介绍16 3.2 驱动电路18 3.2.1 74LS138芯片简介18 3.2.2驱动电路的构成19 3.3 本章小结20
4、第四章 汉字点阵显示原理及字库代码获取方法214.1汉字点阵显示原理21 4.2字库代码的获取方法21 4.3本章小结23第五章 程序的设计与调试24 5.1程序流程图24 5.2程序的设计24 5.3程序的输入以及HEX文件的生成27 5.3.1 keil的简介27 5.3.2 keil的使用说明28 5.4本章小结29第六章 总结与展望30 6.1 总结30 6.2展望30参考文献第一章 前言1.1 LED显示屏的发展背景及国内外研究现状在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所所需要用LED点阵显示图形和汉字。LED行业已成为一个快速发展的新兴产业,市场空间巨大,前景
5、广阔。随着信息产业的高速发展,LED显示作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务内容和服务宗旨宣传的公众场所,例如户内外公共场所广告宣传、机场车站鲁克引导信息、公交车辆报站系统、证券与银行信息显示、餐馆报价信息显示、高速公路可变情报板、体育场馆比赛转播、楼宇灯饰、交通信号灯、景观照明等。显然,LED显示已成为城市亮化、现代化和信息化社会的一个重要标志。 LED点阵设计主要应用于显示屏,它是利用发光二极管点阵模块或像素单元组成的平面显示屏幕。由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内室外环境适应能力强等有点,自20世纪80年代后期开始,随着LED制造技术的不
6、断完善,在国外得到了广泛的应用。在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高。LED显示屏经历了从单色、双色图文显示屏,到图像显示屏的发展过程。1.2设计目标及思路1.2.1设计目标毕业设计是学生完成本专业教学计划达到培养目标的重要的教学环节,是教学计划中综合性最强的实践性教学环节,它对于培养学生正确的思想和工作作风,提高学生中综合运用专业知识分析和解决实际问题的能力,达到工程技术人员所必须具备的基本素质等方面具有重要的意义。本设计的理论基础是单
7、片机技术基础,微机原理,模拟和数字电路。比如AT89C51 芯片的一些工作原理是在MCS51的基础上通过改进完成的。8255芯片的工作方式是在微机原理介绍的。三极管和74LS154的工作原理也分别在模拟和数字电路离介绍过。通过本设计不仅要把以前学过的知识重新温习,而且在查阅课外资料时还有好多芯片都是以学过的芯片为基础,并且在其基础上改进和完善的。通过这次毕业设计是我在学校学习的理论知识和实际应用有机的结合起来,同时也能培养我独立思考、勇于创新的科学态度和钻研精神,为我将要踏上工作岗位做一次提前的锻炼。1.2.2设计思路利用单片机控制技术控制LED的显示,再结合单片机的程序作线路布置,即硬件设计
8、。行列电路设计,分析电路图确定整个系统大概的规模。进行系统分析,通过系统分析,确定该系统该具有哪些功能,有哪些模块,各个模块之间是怎样联系的,以及怎样组合的。确定所需的元器件,然后通过电路图进行连接。集合程序调试,调试整个的系统模块的功能,看各个功能是否能正常运行,并找出程序中的错误,改正这些错误。最终能在LED电路板上显示所要的图形或汉字。第二章 系统总体分析本节是该设计的方案与比较部分,对设计中所采用的芯片从多方面综合的进行比较,最后经过仔细的研究后决定所选的器件。2.1 LED显示屏的技术现状及发展趋势 LED显示屏的技术范围包括半导体光电器件技术、电子电路技术、集成电路技术、信息图像处
9、理技术、计算机网络技术以及电子产品制造和电子产品安装工程相关技术。2.1.1 LED显示屏相关定义(1)LED(light emitting diode):发光二极管(2)LED显示屏(LED panel):由LED器件组成的显示屏幕(3)显示单元(display unit):由电路及安装结构确定的并具有显示功能的组成LED显示屏的最小单元(4)全彩色LED显示屏(all-colorLEDpanel)由红、绿蓝三基色LED器件组成并可调处多种色彩的LED显示屏2.1.2 LED显示屏的分类(1)根据使用环境。LED显示屏分为室内显示屏和室外显示屏(2)根据显示颜色,LED显示分为单基色LED显
10、示屏,双基色LED显示屏和全彩色(三基色)LED显示屏。按灰度级又可分为16、32、64、128、256级灰度LED显示屏等。(3)根据显示性能,分为文本LED显示显示屏、图文LED显示屏、计算机视频LED显示屏,电视视频LED显示屏和行情LED显示屏。(4)根据基本发光点。室内LED显示屏可以按照LED单点直径分类;室外LED 显示屏可以按照采用的象素直径分类。2.1.3相关技术(1)显示颜色、亮度和视角基础半导体工业的迅猛发展,带动了发光二极管制造材料以及制作工艺的改进,在颜色与亮度方面都有了质的飞跃,高亮度、蓝色及纯绿色发光二极管已产业化并得到应用。首先要按照亮度指标选泽LED或显示模块
11、,其次是根据选择的产品红、绿、蓝颜色的亮度来确定哪一种颜色为基准,一般是将亮度比例的一种作为亮度基准。当基准的一种已经达到最大亮度时,调整另外一种或两种。显示屏幕是双色时,大多数情况下以绿色为基准,调整红色二极管的工作电流。一般是降低工作电流,以平衡颜色黄色为调整标准,这样就要减小整个显示屏幕的亮度。显示屏幕的颜色调整至最佳平衡状态,则会使屏的亮度降低。如果显示屏幕为了达到亮度要求,将每一种颜色都达到最大的亮度,那么就失去了颜色的平衡,例如:双色屏幕的黄颜色偏红,或者偏绿。目前LED显示屏从颜色上能满足室内外不同环境下的单色、双基色、全彩色显示要求,四元素的红色LED器件及高亮度蓝色、纯绿色在
12、室外显示屏中得到普遍应用。在显示屏制作上采用SMD表贴技术的LED器件,可以获得更好的视角和亮度,目前已在高密度、全彩色室内显示屏中得到应用,但相对成本比较高,随着器件成本的降低,未来会有比较大的市场潜力。(2)灰度控制技术 LED显示屏在进行图文显示时,对同一基色采用级差间隔亮度,实现颜色的组合,一般可做到16级、64级、256级灰度。为使显示效果更符合人眼的视觉特性,出现了非线性级差调灰技术,即在低亮度区级差小,增加级数,逐步到高亮度区时增大级差,形成视觉效果上的“级差一致性”。目前LED显示屏灰度控制一般都在256级,通过采用非线性调灰技术,显示屏的显示效果比较理想。实际上、受数据、图像
13、的信号源的制约,单纯追求大数量级的灰度控制,在使用中的实际价值是值得商讨的。(3)驱动电路 LED正向导通电压的典型值3.0V4.0V,驱动电流为20mA。如果只是用一个固定的正向电压驱动LED,可能会产生变化范围较大的正向电流,例如用3.4V驱动6只LED,相应的正向电流差别较大;10mA44mA,取决于具体的LED特性曲线。为保证可靠性,驱动LED的电流必须低于LED额定值的要求,典型最大值一般为30mA,但是,当环境温度升高时所允许的额定电流会降低,例如,当温度达到50时电流需限制在20mA以内。LED显示屏广泛使用的驱动电路是基于通用型集成电路来设计的,原理比较简单,价格便宜,产品的技
14、术性比较强。通用IC设计的驱动电路在室内外单色、双基色显示屏方面应用成熟,目前仍然是主流的驱动电路。近年恒流驱动IC的发展较快并受到重视和广泛应用。恒流驱动技术根据LED器件的发光与驱动电流高度祥光的特点,大大提高了LED显示的均匀性,同时,减少了显示驱动电路的阻容元件,降低了故障点,使LED显示屏更可靠、亮丽。(4)系统控制技术 控制系统是位了达到实现用“计算机”来控制“LED电子显示屏”而专门设计的。 显示屏的控制系统包括了输入接口电路、信号的控制、转换和数字化处理电路、输出接口电路等,涉及的具体技术很多,其中为业内关注并研究开发和应用的关键技术包括:串行传输与并行传输、动态扫描与静态锁存
15、、输入接口技术、自动检测、远程控制技术等。(5)通信传输和网络控制 对于信息的发送方式:一种是用232通讯,利用计算机串行口COM1-COM4通讯,此方式通讯速度较慢,且距离不能太远,只有30米左右;另一种是采用在计算机上加插一块通讯卡的422通讯方式,此方式通讯速度快,且距离远,可达1000米左右。 另外、随着计算机网络技术的发展,LED显示屏在网络环境下的使用情况越来越多,在多媒体、多种显示设备组成的信息显示系统中,采用智能化网络控制,联网控制多屏技术也在实际中得到应用。现在一般把显示图形或文字的LED显示屏称为图文屏,其实LED图文显示屏并没有一个公认的严格的定义,这里所谓的图形,是指由
16、单色固定亮度的点阵线条组成的任意图形,其中LED点阵发光器件或发光或熄灭,即只有两种状态。本系统设计正是基于LED图文显示屏实际应用,着重实现LED显示屏的图文编辑及设备驱动。2.2 LED点阵驱动原理发光二极管的结构主要由PN结芯片、电极和光学系统构成。我们知道,发光是一种能量转化现象。当系统受到外界激发后,会从稳定的低能态跃迁到不稳定的高能态;当是同由不稳定的高能态重新回到稳定的低能态时,能量差以光的形式释放出来,就会产生发光现象。制作半导体发光二极管的材料是重掺杂的,热平衡状态下的N区有很多迁移率很高的电子,P区有较多的迁移率较低的空穴。 图2-1 LED通电图由于PN结阻挡层的限制,在
17、常态下,而这不能发生自燃复合。而当给PN结加以正向电压时,导带中的电子则可越过PN结的势垒进入到P区一侧。于是在PN结附近稍偏于P区一边的地方,处于高能态的电子与空穴相遇后便产生发光复合。这种发光复合所发出的光属于自发辐射,辐射光的波长决定于材料的禁带宽度Eg。LED发光二极管分为正负二个脚当正负之间加入一定的电压时LED会点亮。 图2-2 LED显示电路LED发光时一般电流为3至30mA左右,LED有一定的稳压作用点亮时LED的正负之间的电压为1.8V至2.1V左右,LED加入电压时必须限流,否则会损坏LED。根据发光亮度的需要,LED的限流电阻可为1K至3K之间这是流过几毫安的电流,当需要
18、较高亮度的显示时,可加入较大的电流。例如使用+5V供电串接100R的限流电阻则在100R的电阻上有3V的压降,因为LED压降约为2V则电流约为30mA至50mA,LED点阵由数个LED按一定规律排列而成。LED显示屏以发光二极管为像素,由LED点阵显示单元拼接而成。最常见的LED点阵显示单元有5*7,7*9,8*8,结构,前两种主要用于显示各种西文字符,后一种常用于显示各种汉字字符。2.3 LED16*16点阵显示显示部分是本次设计的最核心的部分,我先对LED*8点阵显示进行选择然后再其改基础上扩展成LED16*16。 图2-3 16*16点阵对于LED8*8点阵显示有以下两种方案:(1)静态
19、显示,将一帧图像中的每一个二极管的状态分别用0和1表示,若为0,则表示LED无电流,即暗状态;若为1则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有LED的状态保持到下一幅画。对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。(2)动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。动态显示方式,可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用多路复用技术的动态扫描显示方式,复用的程度不是无限增加的,因为利用动态扫描显
20、示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素。通过实验发现,当扫描刷新频率(发光二极管的停闪频率)为 50HZ,发光二极管导通时间1ms时,显示亮度较好,无闪烁感。2.4系统硬件的总体结构及布局2.4.1 控制电路设计由于设计要求系统能独立运行,并能控制中文LED汉字的移位显示,主控板应以单片机为核心的单片机系统。MCS-51单片机具有扩展性强,功能强大,价格较低等优点,因此,采用Atmel公司的AT89S52单片机。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性
21、存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口,中断继续工作。掉电保
22、护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。由于该型号单片机内部集成了8KB的FLASH程序存储器,并且采用CMOS工艺,功耗低,工作速度较快。由于需要具有较快的刷新频率,以获得较高的刷新频率,使显示稳定,所以单片机晶振选用12MHz,既具有较快的时钟频率,又方便进行计算机的通信。 2.4.2 显示驱动电路经过对LED器件的发光原理进行分析后,我们可以得到这样的结论:只要在LED器件上加上足够的正向电压,那么流过它的电流就会使它发光,这就是LED器件的驱动。在实际应用中,往往需要调节LED器件的发光强度,通常我们是通过调节流经LED器件的电流的平
23、均时间来实现的。常见的LED器件的驱动方式有:直流驱动、脉冲驱动和扫描驱动,本设计中使用的驱动方式为扫描驱动。(1)脉冲驱动所谓脉冲驱动方式,就是利用人眼的视觉暂留效应,以脉冲的方式对LED器件进行供电,使之间歇性的点亮。采用这种驱动方式需要对以下两个方面进行考虑:脉冲电流的幅值和其重复频率。首先,脉冲电流幅值的选择,当脉冲驱动的平均值与直流驱动的电流值相等时,我们人眼的感觉是相同的,也就是说两者的发光强度相当。平均电流Ia是瞬时电流I的时间积分,对于矩形波来说,有如下表达式: 上式就是占空比的一种描述,为了使脉冲驱动方式下的平均电流Ia与直流驱动电流Io相同,就需要使它的脉冲电流幅值满足 图
24、2-4 LED的脉冲驱动可见脉冲驱动时,脉冲电流的幅值应该比直流驱动电流大T/t倍。其次是脉冲重复频率的选择,通过对视觉暂留特性的分析,要使人眼感觉不到LED器件闪烁,那么脉冲电流的重复频率必需高于24Hz。脉冲驱动的主要应用有两个方面:扫描驱动和占空比驱动。 图2-5 行扫描列控制原理及波形图(2)扫描驱动扫描驱动是通过数字逻辑电路,使若干LED器件轮流导通,用以节省控制驱动电路。LED显示屏是将发光灯按行布置的,驱动时也就按行按列驱动。在扫描驱动方式下可以按行扫描,按列控制;也可以按列扫描,按行控制。所谓“扫描”的含义,就是指一行一行地循环接通整行的LED器件,而不问这一行的哪一列的LED
25、器件是否应该点亮,某一列的LED器件是否应该点亮,由所谓的列控制来负责。本论文采用按行扫描按列控制的方式。一个m行n列结构的LED显示屏,当采用行扫描列控制的驱动方式时,H1到Hm轮流将高电位接通各行线,使连接到各行的LED器件接通正电源,但具体哪一个LED导通,还要看它的负电源是否接通,这就是列控制所要完成的工作。例如在LED显示屏上需要LED11熄灭,LED21点亮,那么当扫描到H1行时,L1列的电位就应该为高;当扫描到H2行时,L1的电位就应该为低。 根据驱动方式的不同,LED大屏幕显示方式可分为静态显示和动态扫描显示两种。静态显示是指将一幅画面输入以后要保持到下一幅画面的输入;动态显示
26、是指将画面分为若干部分分别进行刷新。静态显示每一个像素需要一套驱动电路,如果显示屏为n*m个像素屏,则需要n*m套驱动电路;动态扫描显示则采用多路复用技术,如果是P路复用的话,则每P个像素需要一套驱动电路,n*m个像素仅需n*m/p套驱动电路。另外,对于静态显示方式,需要较多的译码驱动装置,需要的引线也比较多;对于动态扫描显示方式,可以避免以上不足,但是容易造成显示亮度低、屏幕闪烁等问题。在实际的LED大屏幕显示中,很少有采用静态驱动的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,与此同时,列驱动其中每一列都把当前数据传向后一列,并从前一列接收新数据,一直到一
27、行的各列数据全部传输到位后,才能并行地进行显示。对于串行传输来说,数据要经过并行到串行和串行到并行的两次变换,因此列数据的准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就少一些,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,准备下一行的列数据,这就需要列数据的显示具有锁存功能。本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行列数据,而不会影响到本行的显示。考虑到控制的方便,本设计采用的是扫描驱动方式。在扫描驱动方式中,由M行N列组成的M*N图文显示屏其LED发光器件数量相
28、当大,不宜使用静态显示驱动电路,而采用多行的同名列共用一套列驱动器。控制电路负责有序的选通各行,在选通每一行之前还要把该行各列数据准备好。这一行上的LED发光器件就可以根据列数据进行显示。这种时序控制电路,可以由布线逻辑完成。但考虑显示数据的存储和设计的灵活性及通用性,一般都采用单片机实现。控制电路采用单片机,主要负责与上位机的通讯,控制存储显示数据模块、安排控制信号的定时与顺序、控制驱动LED显示点阵的电路等。驱动电路用来驱动LED显示点阵的电路。各种控制信号用来使显示屏正常工作,包括行选通信号、列数据移位信号、列数据输出锁存器打入信号、产生上下部分在时间上错开的SRCLK信号、清屏信号等。
29、2.5本章小结 本章介绍了汉字显示原理和LED点阵的显示及驱动原理,确定了系统的硬件的总体结构及布局,根据硬件所需的各个模块的原理,分别确定各个模块的硬件电路方式,在显示驱动方式中,选择了驱动方式比较容易实现的扫描显示方式。最终确定了显示系统的结构,并且画出了结构框图,更具结构框图,进行下面的设计和器件的选型。第三章 硬件设计与实现硬件模块主要完成LED显示屏的驱动任务,硬件电路大致上可分成单片机系统及外围电路、行驱动电路和列驱动电路3部分,通过行列驱动器控制完成LED点阵的驱动。由于待显示信息的字模块提取通过软件模块完成,所以硬件系统不再增设字库存储模块。下图为总电路图图3-1总电路图3.1
30、单片机系统的设计 AT89S52单片机简介:AT89S52为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。3.1.1AT89S52主要功能列举如下:(1)拥有灵巧的8位CPU和在系统可编程Flash(2)晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)(3)内部程序存储器(ROM)为 8KB(4)内部数据存储器(RAM)为 256字节(5)32 个可编程I/O 口线(6)8 个中断向量源(7)三个 16 位定时器/计数器(8)三级加密程序存储器(9)全双工UART串行通道3.1.2AT89S52各引脚功能介绍:图3-2 AT89S5
31、2引脚图VCC:AT89S52电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
32、EA/Vpp:EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。ALE/PROG:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将
33、端口0的地址总线(A0A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为Program Store Enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的
34、定址范围。PORT0(P0.0P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0A7,再配合端口2所送出的A8A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0P2.7
35、):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当做I/O来使用了。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中
36、断输入的触发脚位。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下: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,外部数据存储器的读取信号。RST:复位输入。当振荡器复位器件时,要保持RST
37、脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器
38、周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.2 驱动电路3.2.1 74LS138芯片简介74LS138为3线8线译码器,共有54/74S138和54/LS138两种线路结构型式,其工作原理
39、如下:当一个选通端(E1)为高电平,另两个选通端(E2)和(E3)为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。利用E1、E2和E3可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。若将选通端中的一个座位数据输入端时,74LS138还可作数据分配器。74LS138的引脚图如下图3-2图3-3 74LS138引脚图3.2.2驱动电路的构成 本设计的驱动电路由电阻和PNP的三极管构成,由三极管将电流放大,再通过三极管的集电极输出给点阵显示屏,使其足够亮。其驱动电阻的电阻值是采用4.7欧姆的电阻,其驱动电压为5v。行驱动电路如下图所示3-3。图3
40、-4 行驱动电路 列驱动如下图3-4所示图3-5 列驱动电路3.3 本章小结本章就LED汉字显示屏的硬件电路设计做了简单的设计和说明,由于本设计着重介绍的是基于AT89S52单片机的LED汉字显示屏的软件设计和制作,所以本设计在硬件电路部分只做了简单的设计和说明,但这并不影响设计内容。如果实际应用需要可以根据具体要求修改电路组成增加I/O口扩展来达到更多更好的显示效果,这里就不多做累赘了。 第四章 汉字点阵显示原理及字库代码获取方法4.1汉字点阵显示原理我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为
41、一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。如查用8位单片机AT89S52控制,由于单片机的总线为8位,一个字需要拆分为2个部分,为了弄清汉字点阵组成规律,首先通过列扫描方法获取汉字代码。汉字可拆为上下两部分,上不由8*16点阵组成,下部也由8*16点阵组成。本例通过列扫描方法首先显示左上角的第一列的上半部分,即第0列的P00P07点亮,由上外下排列,为:P0.0灭,P0.1灭,P0.2亮,P0.3灭,P0.4灭,P0.5灭,P0.6灭,P0.7灭,即二进制数为00100000,转化为十六进制为20H。上半部第一列完成后
42、,继续扫描下半部分的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从P27向P20方向扫描,从图3-1可以看出,这一列只有P2.3是亮的,即为00001000,十六进制为08H。依照这个方法转向第二列,第三列,直到第十六列的扫描,一共扫描32个8位,可得到汉字“欢”的扫描代码为:20h, 08h, 2Ch, 10h, 23h, 60h, 20h, 80h 23h, 41h, 3Ch, 31h, 04h, 02h, 08h, 0Ch 0F0h, 30h, 17h,0C0h, 10h, 30h, 10h, 08h14h, 06h, 18h, 03h, 00h, 02h, 00h, 00h由这
43、个原理可以看出无论显示何种字体和图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。4.2字库代码的获取方法上述方法虽然能让我们弄清汉字点阵代码的获取过程,但是依靠人工方法获取汉字代码是一件非常繁琐的事情。为此,我们经常采用字库软件查找字符代码,软件打开后进行取模方式设定后再输入字串,点“输入汉字”,十六进制的汉字代码可自动生成,把我们需要的数据复制到程序中即可,如图4-1和4-2所示图4-1字模取模方式设定图4-2汉字代码获取4.3本章小结本章着重介绍的LED汉字显示屏显示汉字的原理以及字模软件获取字库代码的方法,为我们以后的设计有基础作用,了解了LED汉字显示屏的显示工作原理为我们以后对显示屏制作提供了理论基础,使我们的设计能事半功倍。第五章 程序的设计与调试5.1程序流程图图5-1程序流程图5.2程序的设计功能:LED16*16点阵滚动显示汉字“欢迎您”#include #define int8 unsigned char#define int16 unsigned int#define int32 unsigned longint8 flag;int8 n;int8 code bmp32= 0x00,0x00,0x00,0x00,0