LED点阵汉字屏的制作设计

上传人:QQ-1****6396 文档编号:6653169 上传时间:2020-03-01 格式:DOC 页数:17 大小:2.01MB
返回 下载 相关 举报
LED点阵汉字屏的制作设计_第1页
第1页 / 共17页
LED点阵汉字屏的制作设计_第2页
第2页 / 共17页
LED点阵汉字屏的制作设计_第3页
第3页 / 共17页
点击查看更多>>
资源描述
LED点阵汉字屏的制作摘要:本文介绍了一款以单片机AT89S51为控制器的LED点阵显示屏系统的设计。该系统可实现中文字符的显示。并且可以通过编程的方式来增加显示内容。该系统仅对汉字做轮流显示,适当修改程序AT89S51单片机处理显示代码,由显示驱动模块驱动一个1632分辨率的LED点阵显示屏的扫描显示。除此之外,该系统只占用了单片机少量的I /O口和内存,为系统留下了功能扩展的空间。系统程序的下载使用ISP下载模式。该LED显示屏用途广泛,一般用于各种公共场所,作为宣传和广告的工具。对于公共设施服务有着极为重要的意义。关键字:(单片机 LED 点阵) 随着我国经济的高速发展,对公共场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场需求。目前LED显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志。其已经广泛应用到银行、邮电、税务、机场、车站、证券市场及其它交易市场、医院、电力、海关、体育场等多种需要进行公告、宣传的场所。由AT89C51为核心的点阵式LED汉字显示屏,在公共场所的应用也是非常广泛的。LED点阵显示器较为经济适用,它可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度高低,并且对环境条件要求也比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。本设计虽仅仅显示八个汉字,但通过扩展和程序编写,它可以显示更多的汉字。要求1、用单片机AT89C51及LED点阵显示器为核心器件,制作一个点阵式汉字电子显示屏。2、完成电路原理图、元器件采购、装配及调试工作。3、完成该系统的程序设计、提交程序设计框图及程序设计清单。 4、完成硬件与软件的综合调试,能实现预定的功能和主要技术指标。主要技术指标1、点阵式显示器能依次显示8个汉字。2、通过编程能够随时对汉字进行修改、调整。单片机概述 单片微型计算机(single chip microcomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。尽管目前单片机品种繁多,但其中最具有典型性的当数Intel公司的MCS51系列。MCS51系列是在MCS48系列的基础上于80年代发展起来的,虽然它仍然是8位单片机,但其功能较MCS48有很大的增强。此外,它还具有品种全,兼容性强,软硬件资源丰富的特点,因此应用较为广泛,成为继MCS48之后最重要的单片机品种。直到现在,MCS51仍不失为一种单片机是主流芯片。在单片机的基础上发展起来的嵌入式系统已成功进入商业市场。嵌入式计算机系统是以应用为中心,以计算机技术为基础,软,硬件可裁减,适应应用系统对功能,可靠性,成本,体积,功耗等严格要求的专用计算机系统。单片机具有以下特点:1)小巧灵活,成本低,易于产品化。它能方便的组合成各种智能化的控制设备及各种智能仪器与仪表。2)面向控制,能针对性的解决从简单到复杂的各类控制任务,因而能获得最佳的价格性能比。4)可以很方便的实现多机和分布控制。使整个控制系统的效率和可靠性大幅度提高。 单片机具有体积小、功耗低,价格便宜等优点,近年来还还开发了一些以单片机母片为核(如80C51),在 片中嵌入更多功能的专用型单片机(或者叫专用微控制器),因此单片机在计算机控制领域中应用越来越广泛。8051是MCS51系列单片机的一个产品。MCS51系列单片机是Intel公司推出的通用型单片机,在本设计中我选用的是ATMEL公司的89S52。方案论证显示部分: 显示部分是本次设计最核心的部分,对于LED8*8点阵显示有以下两种方案:方案一:静态显示,将一帧图像中的每一个二极管的状态分别用0 和1 表示,若为0 ,则表示L ED 无电流,即暗状态;若为1 则表示二极管被点亮。若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有L ED 的状态保持到下一幅画。对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。方案二:动态显示是对一幅画面进行分割,对组成画面的各部分分别显示。动态显示方式可以避免静态显示的问题。但设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。动态显示采用译码器动态扫描显示方式。 因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短, 发光的亮度等因素. 我们通过实验发现, 当扫描刷新频率(发光二极管的停闪频率) 为50Hz, 发光二极管导通时间1m s 时, 显示亮度较好, 无闪烁感。 鉴于上述原因, 我们采用方案二 电源模块 方案一:采用干电池作为LED点阵系统的电源,由于点阵系统耗电量较大,使用干电池需经常换电池,不符合节约型社会的要求。点阵系统要悬挂在墙上,电池总量大,使用会有较大安全隐患。 方案二:采用5V直流稳压电源作为系统电源,不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠 基于以上分析,我们决定采用方案二显示接口芯片的选择 方案一:采取并口输入,占用大量I/O口资源方案二:选取译码器输入,使用较少。所以我们选用译码器输入。74LS138,74LS164两种芯片,考虑成本的问题故选用74LS138来组成显示系统的驱动模块综合以上比较,我们选取方案二来驱动LED点阵。 电路的基本组成由AT89S52、4片74LS138、2片74HC245及LED显示屏为核心组成的点阵式LED汉字显示屏。主要由时钟电路、复位电路、51单片机、点阵列驱动电路、点阵行驱动电路、1632显示屏6部分组成。该电路采用AT89S52单片机最小化应用设计,采用列扫描,直接送行显示码的方式工作。行线作为数据的输出采用2片74HC245对单片机信号进行功率放大。列线的扫描采用4片74LS138译码器控制开关管,从而控制列线的扫描。硬件电路设计硬件设计主框图 时钟电路电源电路单片机点阵显示器阳极驱动电路点阵显示器阴极驱动电路3216点阵LED显示器硬件电路设计框图该硬件电路设计框图如图2.1所示:硬件电路结构由6个部分组成:时钟电路、电源电路、51单片机、点阵显示器阳极驱动电路、阴极驱动电路和1632点阵显示器电路。时钟电路用12MHZ晶振。电源电路采用7805对电路供电。在单片机电路中,阳极驱动电路由P0口输出上半部分行数据,P2口输出下半部分行数据。2片74HC245对单片机信号进行放大后输出数据。阴极驱动电路由4片74LS138及三极管S8550组成,4片74LS138作为1632点阵LED显示器的数据锁存器。三极管为增大驱动能力。考虑到元器件的成本。故没有直接采用4-16线译码74LS154,而是用两片3-8译码器组合而成1片4-16线译码器选用的。LED显示屏的驱动原理:8片8*8LED点阵,组成两行4列。每一只74LS138驱动一片8*8LED点阵。74LS138的8位并口Q0Q7 分别对应8*8LED点阵公共阴极我们是通过列扫描实现全屏显示。同一时刻只能将信号加到某一列,使该列的LED通过所对应的信号将其点亮。我们要把信号加到指定的那一列是由74LS138的移位脉冲控制的,当我们低电平脉冲移到下一位时,我们的LED点阵下一位公共阴极就被驱动,信号也就加到了该列,这样便实现了扫描。只要扫描速度足够快,利用人眼的视觉残留特性。就能显示图像或者汉字了。16*32点阵电源驱动硬件连接图单片机与74LS138的硬件连接(列驱动)两片74LS138组成的4-16线译码器。输入端接在单片机的P1口。输出端接控制点阵开关的三极管上且都有对应的使能控制信号来决定译码器的工作状态。单片机与74HC245的硬件连接(行驱动)元气件清单AT89S521片74LS1384片74HC2452片8*8点阵8个S8550三极管32个1K电阻32个100欧姆电阻12个78051片电容10UF1个电容30PF2个12MHZ晶振1个插接线4个导线若干9V变压器 一个万能PCB 2片软件设计点阵的显示原理 在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用 8位我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在256像素范围内的任何图形。我们用89S51单片机控制, 由于单片机的总线为8位一个字需要拆分为2个部分。 一般我们把它拆分为上部和下部,上部由8*16 点阵组成, 下部也由8*16点阵组成。 在本例中单片机首先显示的是左上角的第一列的上半部分,即第列的p00-p07口。方向为p00到p07 ,显示汉字“大”时,p05点亮,由上往下排列,为p0.0灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。即二进制00000100转换为16进制为 04h.。 上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“大”,它的扫描代码为:04H,00H,04H,02H,04H,02H,04H,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H,05H,80H,04H,60H,04H,10H,04H,08H,04H,04H,0CH,06H,04H,04H,00H,00H 由这个原理可以看出, 无论显示何种字体或图像, 都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。程序流程图初始化开左半点阵第一列P0口送第一列左上半部分数据P0口送第一列左下半部分数据延时判断前16列是否送完 是 否 继续选中下一列直到16列送完为止开右半点阵第一列P0口送第一列右上半部分数据P0口送第一列右下半部分数据延时判断后16列是否送完 是 否 从新开始 继续选中下一列直到16列送完为止故障分析因为软件设计部分相对容易,所以焊接及其调试是本次设计我最关心和重视的一部分。这部分的制作花费了我大部分的时间。重点介绍硬件制作过程中遇到的问题及我个人认为有待改进的地方。首先,在焊接过程中出现了很多的问题,如:虚焊、假焊、搭焊、拉尖、沙眼、气泡和引脚的焊锡碰到了导线引起的短路等等。这些都需要细心地检测和调试后才能发现,所以在调试之前要对硬件上所有的元器件进行检查。其次,制作完硬件后,焊上插槽要检查导线是否导通以及是否有虚焊等问题,这可以借助5V电源和万用表来检测。如:元器件的引脚上已经焊好了焊锡,但是如果用万用表测量他的引脚和旁边的导线,有时会发现本来应该导通的,却不导通,这就有可能是虚焊,这是我们经常出现的问题。以下是我设计中遇到的问题及分析解决的办法:1、电路的焊接在买好元器件后,为了安全起见,我把每一个元器件,无论大小都认真地检测了一下,在确保良好的情况下,安装到通用板上,由于电路板上焊接的空间比较小,致使我在焊接的过程中出了点小问题,通过万用表的检测,发现中间有部分接头短路了,且还存在虚焊和搭焊等问题,经过复查、检测后,电路已基本正常。2、74LS138故障分析在焊接好电路板后,接上5V电源和仿真机进行仿真,发现LED数码管显示乱码,经过检测,发现是74LS138的线接错。3、LED点阵数码管显示错误分析在1616LED显示屏的制作中,也遇到了很大的问题。电子器材市场上没有1616的显示片,只能用4片88的显示片拼成1616的。其次,买到的88显示片和书本上介绍的有很大的区别。共阴端和和共阳端并不是在分别在一端,因此必须用万用表对每一个脚进行检测,分辨出共阴脚和共阳脚。这样就给布线和焊接带来很大的麻烦,导致在软件和硬件的综合调试过程中,出现有个别点不亮的现象,最后检测出原因是焊接出现了假焊和搭焊的现象。4、延时程序分析在设计电路中,结果是通过LED显示屏显示汉字来实现的。程序设计的显示顺序是从左到右,先上后下,一列一列地扫描过去。在开始调试时,由于延时程序时间设定的太短,导致每一个字一闪即逝,并伴有闪烁现象,根本看不清楚。通过不断地调整、调试,最终趋于稳定。实物图: 程序:ORG 0000H AJMP START ORG 0040HSTART:MOV P0,#00H ;初始化 ANL P2,#00H MOV P1,#00H MOV P3,#0E0H MOV R2,#00H MOV 20H,#00H MOV R3,#00H L2:MOV R1,#100;扫描频率 L1:MOV R0,20H MOV 21H,#00H ;前16列扫描 MOV 23H,#00H ;后16列扫描 X1:SETB P3.1 CLR P3.0 MOV A,21H MOV P1,A INC 21H MOV R3,21H MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A INC R0 MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A INC R0 ACALL DEL1 MOV P0,#00H ANL P2,#00H CJNE R3,#10H,X1 X2:SETB P3.0 CLR P3.1 MOV A,23H SWAP A MOV P1,A INC 23H MOV R4,23H MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A INC R0 MOV A,R0 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P2,A INC R0 ACALL DEL1 MOV P0,#00H ANL P2,#00H CJNE R4,#10H,X2 DJNZ R1,L1 MOV 20H,R0 CJNE R0,#0FEH,L2 MOV R0,#0FEH LJMP START DEL1:MOV R5,#50H ;一列停留时间 L3:MOV R6,#1H DJNZ R6,$ DJNZ R5,L3 RETTABLE:DB 00H,01H,00H,02H,03H,0ECH,02H,20HDB 02H,28H,02H,26H,0FEH,20H,12H,28HDB 12H,24H,12H,26H,12H,20H,17H,0E8HDB 32H,04H,10H,03H,00H,00H,00H,00HDB 00H,00H,7FH,0FFH,44H,20H,5AH,10HDB 61H,0E0H,20H,10H,21H,10H,27H,10HDB 0F9H,10H,21H,10H,2FH,0FFH,21H,10HDB 23H,10H,61H,30H,20H,10H,00H,00HDB 00H,00H,02H,01H,42H,02H,42H,04HDB 42H,18H,42H,60H,7FH,80H,42H,00HDB 43H,0FCH,42H,02H,0C2H,02H,42H,02HDB 06H,02H,02H,02H,00H,0EH,00H,00HDB 01H,00H,02H,40H,0EH,40H,0F3H,0FEHdb 12H,44H,12H,48H,00H,24H,7FH,0C8HDB 52H,92H,52H,0E4H,52H,9AH,52H,0E1HDB 0FEH,82H,41H,0FCH,00H,80H,00H,00HDB 08H,20H,08H,22H,08H,41H,0FFH,0FEHDB 08H,80H,08H,01H,11H,81H,11H,62HDB 11H,14H,0FFH,08H,11H,14H,11H,64HDB 31H,82H,10H,03H,00H,02H,00H,00HDB 00H,00H,3FH,0F1H,00H,02H,00H,0CHdb 0FFH,0F0H,00H,00H,40H,00H,4FH,0FCHdb 48H,00H,48H,00H,7FH,0FFH,48H,08Hdb 48H,04H,0DFH,0F8H,48H,00H,00H,00HDB 02H,20H,0CH,20H,88H,20H,69H,20HDB 09H,20H,09H,22H,89H,21H,69H,7EHDB 09H,60H,09H,0A0H,19H,20H,28H,20HDB 0C8H,20H,0AH,60H,0CH,20H,00H,00H DB 00H,00H,7FH,0FFH,44H,20H,5AH,10Hdb 69H,0E1H,30H,81H,24H,82H,24H,8CHDB 0A4H,0F0H,64H,80H,24H,0FCH,2CH,82HDB 25H,82H,28H,82H,30H,0EH,00H,00HEND注释:74HC245总线驱动器:是典型的TTL型三态缓冲门电路。由于单片机等CPU的数据地址控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。参考文献(1) :朱定华.单片机原理及接口技术M.电子工业出版社,2001.(2) :张毅刚 主编 :单片机原理及应用。北京:高等教育出版社,2006(3):王宏民.LED点阵显示屏驱动方案.黑龙江电子技术,1999(5):12(4):吉雷主编:Protel99从入门到精通。西安:西安电子科技大学出版社2004原理图元器件清单AT89S521片74LS1384片74HC2452片8*8点阵8个S8550三极管32个1K电阻32个100欧姆电阻12个78051片电容10UF1个电容30PF2个12MHZ晶振1个插接线4个导线若干9V变压器 一个万能PCB 2片第 17 页 共 17 页
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸设计 > 参考资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!