点阵LED汉字显示系统的设计硬件部分.docx

上传人:b****9 文档编号:24947959 上传时间:2023-06-03 格式:DOCX 页数:35 大小:567.41KB
下载 相关 举报
点阵LED汉字显示系统的设计硬件部分.docx_第1页
第1页 / 共35页
点阵LED汉字显示系统的设计硬件部分.docx_第2页
第2页 / 共35页
点阵LED汉字显示系统的设计硬件部分.docx_第3页
第3页 / 共35页
点阵LED汉字显示系统的设计硬件部分.docx_第4页
第4页 / 共35页
点阵LED汉字显示系统的设计硬件部分.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

点阵LED汉字显示系统的设计硬件部分.docx

《点阵LED汉字显示系统的设计硬件部分.docx》由会员分享,可在线阅读,更多相关《点阵LED汉字显示系统的设计硬件部分.docx(35页珍藏版)》请在冰豆网上搜索。

点阵LED汉字显示系统的设计硬件部分.docx

点阵LED汉字显示系统的设计硬件部分

点阵LED汉字显示系统的设计(硬件部分)

摘要

LED电子显示屏由于具有所显容信息量大,外形美观大方,操作方便灵活,制作简单,安装方便,是近年来得到广泛应用的重要信息设备,被广泛应用于各种公共场合,如汽车报站器、广告屏以及公告牌等。

本文介绍了一款以单片机AT89S51为控制器的LED点阵显示屏系统的设计。

考虑到所需元器件的易购性,本设计使用了8×8的点阵发光管模块,组成16×16发光点阵,显示待定的中文、字符以及数字。

由显示驱动模块驱动一个16×16分辨率的LED点阵显示屏的扫描显示。

所选用的AT89S51单片机具有价格低廉程序写入方便的特点使得整个系统方便维护和检修。

除此之外,该系统只占用了单片机少量的I/O口和存,为系统留下了功能扩展的空间。

关键词LED点阵;16X16点阵;单片机;显示屏;扫描

 

Abstract

BecausetheLEDelectrondisplaymonitorhastheinstitutecontentinformationcontenttobeobviouslybig,thecontourelegantappearance,theeaseofoperationisflexible,themanufactureissimple,theeasyinstallation,wastherecentyearsobtainsthewidespreadapplicationimportantinformationequipment,iswidelyappliedineachkindofpublicarea,liketheautomobilenewspaperstood,theadvertisementscreenaswellasthenoticeboardandsoon.ThisarticleintroducedonesectiontakemonolithicintegratedcircuitAT89S51ascontroller'sLEDlatticedisplaymonitorsystem'sdesign.Consideredneedsprimarydevice'sYiGou,thisdesignhasused8×8latticephototubemodule,position16×16illuminationlattice,demonstrationundeterminedChinese,characteraswellasdigit.Actuatesa16×16resolutionbythedemonstrationactuationmoduletheLEDlatticedisplaymonitor'sscanningdemonstration.Selectsat89S51monolithicintegratedcircuithasthelowinpriceproceduretoreadintheconveniencethecharacteristictocausetheoverallsystemconveniencemaintenanceandtheoverhaul.Inaddition,thissystemhasonlytakenthemonolithicintegratedcircuitfewI/Omouthandthememory,hasleftbehindthespacewhichforthesystemthefunctionexpands.

KeywordsLEDdot-matrix;16X16dotmatrix;singlechip;display;scan

 

AbstractⅡ

 

第1章绪论

1.1课题背景

1.1.1选题背景

目前,点阵显示屏已广泛用于银行、酒店、超市、汽车站牌和高速公路等场所的广告宣传和交通提示,正逐步应用于公交汽车和街道两旁的报栏上。

如公交车的点阵屏将由太阳能电池板供电,利用单片机和PLD实现显示屏字幕的静态、动态控制和定时显示控制,以实现节约电能的目的[1]。

LED点阵显示屏具有亮度高、故障低、能耗少、使用寿命长、显示容多样、显示方式丰富等优点,可广泛用于车站、码头、体育场馆等公共场合。

我以此为背景,开发了个16*16的LED点阵显示屏。

1.1.2研究现状及发展趋势

LED显示屏的发展可分为以下几个阶段:

第一阶段为1990年到1995年,主要是单色和16级双色图文屏。

用于显示文字和简单图片,主要用在车站、金融证券、银行、邮局等公共场所,作为公共信息显示工具。

第二阶段是1995年到1999年,出现了64级、256级灰度的双基色视频屏。

视频控制技术、图像处理技术、光纤通信技术等的应用将LED显示屏提升到了一个新的台阶。

LED显示屏控制专用大规模集成电路芯片也在此时由国企业开发出来并得以应用。

第三阶段从1999年开始,红、纯绿、纯蓝LED管大量涌入中国,同时国企业进行了深入的研发工作,使用红、绿、蓝三原色LED生产的全彩色显示屏被广泛应用,大量进入体育场馆、会展中心、广场等公共场所,从而将国的大屏幕带入全彩时代。

蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。

全彩色LED显示屏将是LED显示屏的重要发展方向。

LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时,由于全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品[2]。

1.2 LED显示屏概述

1.2.1LED发光二极管

LED发光二极管是一种固态的半导体器件,它可以直接把电转化为光。

LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极,使整个晶片被环氧树脂封装起来。

半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。

但这两种半导体连接起来的时候,它们之间就形成一个P-N结。

当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。

而光的波长也就是光的颜色,是由形成P-N结的材料决定的。

50年前人们已经了解半导体材料可产生光线的基本知识,第一个商用二极管产生于1960年。

LED是英文lightemittingdiode(发光二极管)的缩写,它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧树脂密封,起到保护部芯线的作用,所以LED的抗震性能好。

1.3主要设计容及技术指标

1.3.1主要设计容

1、用单片机AT89C51及LED点阵显示器为核心器件,制作一个点阵式汉字电子显示屏。

2、完成电路原理图、印制电路板设计、元器件采购、装配及调试工作。

3、完成该课题的程序设计、提交程序设计框图及程序设计清单。

4、完成硬件与软件的综合调试,能实现预定的功能和主要技术指标。

1.3.2主要技术指标

(1)点阵式显示器能依次显示4个汉字。

(2)通过编程能够随时对汉字进行修改、调整。

 

第2章硬件电路设计

2.1电路的工作原理

2.1.1硬件电路的设计原理

图2.1硬件电路设计框图

根据设计要求与设计思路,该硬件电路设计框图如图2.1所示:

硬件电路结构由7个部分组成:

电源电路、时钟电路、复位电路、AT89C51单片机、点阵显示器阳极驱动电路、阴极驱动电路和16×16点阵显示器电路。

在单片机电路中,P0口作为I/O口,输出行数据和控制信号。

P1.0到P1.3口作为I/O口输出列控制信号。

选择16片三极管8080作为16×16点阵LED显示器的行驱动,16片三极管8550作为它的列驱动。

 

图2.2单片机控制的16×16LED显示屏硬件原理图

2.1.216×16点阵LED显示器汉字显示的工作原理

16×16点阵LED显示器有两种接线方式,即共阴极接法和共阳极接法。

共阳极接法原理图如图2-3所示,图中只画出了4×4点阵的二极管。

每一行发光二极管的阳极接在一起,有一个引出端r,每一列发光二极管的阴极接在一起,有一个引出端c。

当给发光二极管阳极引出端加上一高电平,阴极引出端加上一低电平时,左上角的二极管点亮。

因此,对行和列的电平进行扫描控制,可以达到显示不同汉字的目的[3]。

图2.316×16点阵LED原理图

2.1.3控制电路的工作原理

在单片机P0口会输出一组数据来通过三极管8050控制16行,P1.0至P1.3通过由两片74LS138构成的4-16线译码器输出列数据,并经由三极管8550控制16列,每一列由两个字节组成,数据分两次送入,然后扫描一列,最终达到显示汉字的目的。

用控制电路来控制其电路的开始和结束。

2.1.4单片机电路的工作原理

该电路采用AT89C51单片机最小化应用设计,P0口作为I/O口,每输入一组高电平时在单片机P0口就会输出一组行数据和控制信号。

每输入一组低电平时在单片机的P1.0至P1.3口就输出列控制信号,通过高低电平的转换达到汉字显示的目的。

时钟电路采用了两个30皮法的电容和一个12MHz晶振。

从而使显示更精确、更好。

2.2LED点阵显示系统的硬件设计

2.2.1显示驱动部分

LED点阵选用2*4模块,每4块排列成一个16*16的点阵,用于显示一个汉字。

点阵每一列的所有LED共阳极,每一列的所有LED共阴极。

系统由单片机控制。

行线用4个三极管8050驱动,将单片机P0口输出的行选通信号作为三极管8050的输入,可以得到16行的行值信号,如图2.4所示。

而列驱动部分则用两个74LS138译码,将列选通信号作为两个译码器地址输入,可以得到16列的列值信号,如图2.5所示。

图2.4行驱动电路

 

图2.5列驱动电路

2.2.2LED点阵显示方式

LED点阵显示方式由动态显示和静态显示之分。

静态显示只需在定时中断处理程序中从显示缓冲区调入相应的一行显示数据,然后选中该行即可实现该行的显示,如此循环,便可显示整个容。

我设计的这个电路的显示则采用逐行扫描方式,即动态显示的方式。

工作时,由单片机从缓冲区取出第一行需要显示的8字节点阵数据,再由列点阵数据输入端P0.0口按位依次串行输入至列移位寄存器,其数据输入的顺序与显示容的顺序相反。

经延时一段时间后再进行下一行点阵数据的显示。

需要注意的是,每次只能选通一行数据,即要通过不断的逐行扫描来实现汉字或字符的显示。

采用这种方式的优点是耗电少,成本低,寿命长,但是也存在显示亮度及容显示稳定的问题。

根据视觉滞留原理,根据视觉滞留原理,每屏的完整的显示时间应控制在20ms之,即50Hz,人眼看上去才不会觉得闪烁。

由于要扫描16行的点阵,所以每行的时间绝不能超过20ms÷16=1.25ms,同时也不是每行的扫描时间越短越好,因为LED的亮度同电流的大小和维持时间的长短有关[4]。

LED点阵块的单点静态电流一般在10mA左右,由于占空比是1/16,所以单点的动态电流最大可以达到160mA。

在维持时间恒定的情况下,电流越大(不超过额定电流),点阵亮度也越亮,而在电流恒定的情况下,需要一段维持时间来保持亮度。

试验表明当输入LED的电流为15mA时,维持时间至少需要1ms,否则LED呈微亮状态。

2.3LED点阵外围电路

2.3.1电源电路

电路主要分为:

变压、整流、滤波、稳压四个部分。

电流进入电路,通过一个220V变9V的电源变压器把220V的交流电压变为9V的交流电压,然后通过整流器把9V交流,功率为15W左右。

变压器次级线圈输出的9V交流电压经过全桥QD2进行全波整流,C19滤波,LM7805稳压后,输出稳定的+5V直流工作电压,如图2.6所示。

图2.6电源电路

2.3.2复位电路

89C51的复位是由外部的复位电路来实现的。

AT89C51的复位引脚RST通过一个施密特触发器与复位电路相连,施密特触发器用来控制噪音,当在80C51单片机的RST引脚入高电平并保持2个机器周期时,单片机就执行复位操作(若引脚持续保持高电平,单片机就处于循环复位状态)施密特触发器的输出电平由复位电路采样一次,然后才能得到部复位操作所需要的信号。

上电复位要求接通电源后,单片机自动实现复位操作。

我采用的是按钮复位—按键手动复位。

按键手动复位由电平方式和脉冲方式两种,我采用的是电平复位。

电平复位是通过RET端经电阻与电源VCC接通而实现的,如图2.7电平复位所示。

时钟频率取12MHZ,R1取1K,C1取10μF。

 

图2.7电平复位电路

2.3.3时钟电路

89C51单片机的时钟信号通常有两种方式产生:

一是部时钟方式,二是外部时钟方式。

采用部时钟方式:

89C51单片机各功能的运行都是以时钟控制信号为基准、有条不紊的工作。

因此,时钟频率直接影响单片机的速度,始终电路的质量也直接影响单片机系统的稳定性。

89C51部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2[5]。

这两个引脚跨接石英晶体振荡器(简称晶振)和微调电容,就构成一个稳定的自激振荡器,如图3时钟电路所示,是89C51部时钟方式的振荡器电路。

电路中的电容C3、C2典型值通常选择30pF,对外接电容虽然没有严格要求,但电容的大小会影响振荡器频率的高低、振荡器稳定性和起振的快速性。

晶振的频率越高,则系统的时钟频率也就越高,单片机的运行速度也越快,所以我选用的晶振是12MHZ晶振。

晶振为12MHZ时的机器周期的计算:

一个机器周期=12个振荡周期,时钟频率f=1/T,

一个机器周期=1/T*12,若晶振=12MHZ,一个机器周期=1/12M*12=1μS

外部时钟方式时把外部已有的时钟信号引入到单片机,此方式常用与多片80C51单片机同时工作,以便各单片机的同步。

图2.8时钟电路

 

2.416*16LED点阵显示屏硬件电路图

由以上分析可得出我所设计的点阵显示屏硬件电路图,此硬件电路图以89C51单片机为核心,辅以外围电路连接到16*16LED点阵显示屏上,如图2.9所示。

图2.916*16LED点阵显示屏硬件电路图

 

第3章软件电路设计

3.1软件系统

程序可以实现与计算机的通信,可非常方便地任意修改所要显示的汉字;并使显示屏可固定、平移地显示汉字。

程序中将数据存储器分为三个区:

显示缓冲区,数据存储区和接收缓冲区。

单片机通过部程序传来的数据(包括显示容,显示方式和显示状态)暂时放在接收缓冲区,处理后放入数据存储区保存,然后再根据显示方式从数据存储区中读出数据放入显示缓冲区用于显示。

显示方式的实现取决于数据放入显示缓冲区的顺序,左移使从数据存储区取出一位数放入显示缓冲区,上移使每次取出一行数据放到缓冲区,时间显示时先把实时时钟的数据放到显示缓冲区,显示时并不识别显示缓冲区的数据,只是依次从显示缓冲区提取数据向显示屏发送并送入相应的锁存消隐和行值信号,完成扫描。

3.2程序流程图

3.2.1主程序流程图

图3.1主程序流程图

 

3.2.2显示程序流程图

 

图3.2显示程序流程图

3.3汉字动态编码的具体实现

3.3.1汉字识别

汉字在PC机的存储和处理是用机码来实现的。

每个汉字的机码是唯一的,由2个字节组成,分区码和位码,为了和西文的ASCII码有区别,汉字机码的区码和位码的取值都大于0A0H。

我们要处理的源程序文件都是文本文件,存储的都是西文字符、控制符的ASCII码和中文字符的机码,当扫描到文件于0A0H的字节容时,即可判断该字节是汉字机码的1个字节,而且肯定是成对出现,第1个字节是区别,第2个字节是位码,都大于0A0H,否则出错。

在C和汇编程序中表示字符的方式有所不同,但最终字符在文件中的存储格式是一样的。

3.3.2建立编码字典

编码字典是在扫描的同时逐步建立起来的,每扫描到一个汉字(包括全角符号),即与字典中已有的字符进行比较,如没有重复,是新的字符就顺序存入字典,否则继续扫描,直至文件结属。

由于每个字符都是从尾部添加的,它们的序号也是依次递增的,根据序号就可以进行动态编码了。

由于显示的汉字一般都得在256个以上,即使进行动态编码,也需要用2字节编码来实现。

以MCS51系列单片机和16×16点阵汉字做一优化编码示例:

8051的地址指针DPTR是16位指针,由高、低2字节指针DPH、DPL组合而成,如果将存储器按0FFH(256)字节分布,修改DPH即可直接寻址到任一页,修改DPL可寻址该页的任一字节。

一个16×16点阵汉字的字模是32字节大小,每页存储器正好能容纳8个汉字字模。

可以优化设计动态编码的高字节指向字模的页地址(DPH),低字节指向字模在该页的首地址(DPL)。

考虑地址空间的有效分配,将字库的地址放在0A000H以后(程序或数据存储器均可),动态编码的高字节要加上地址有效分配,将字库的地址放在0A000H以后(程序或数据存储器均可),动态编码的高字节要加上地址的页偏移量(大于等于0A0H);考虑汉字与西文字符的区别,动态编码的低字节也需要加上一个大于或等于0A0H的偏移量。

设某汉字在编码字典中的序号为Num,则该汉字的动态编码为:

动态编码高字节=页偏移量+Num/8

动态编码低字节=偏移量+(Num%8)×32    

偏移量一般可设为0A0H。

当单片机显示某个汉字时,只需将其动态编码的高字节送DPH,低字节减0A0H后送DPL,即可得到对应字模的地址指针。

3.3.3提取字模、建立动态字库

汉字机码与点阵字库的详细关系可参考有关资料,它们存在如下联系:

字模首地址=((机码高字节-1)×94+(机码低字节-1))×N    

注:

N为一个汉字点阵字模的字节数。

按照编码字典容,根据字模首地址,依次取出汉字字模,顺序写入一个二进制文件,即建成动态字库(其它方法略),用烧录器写入EPROM,就可以使用了。

3.3.4编码改写

机码是PC机识别处理汉字用的,单片机只能处理我们建立起来的动态编码,还得把程序中汉字的仅机码根据编码字典改成对应的动态编码才行。

由于在编写源程序的文本编辑器中看到的是经过系统处理过的字节,看不到汉字的机码,也无法对其进行改写。

根据"汉字识别"一节所述,不经过文本编辑器,直接将动态编码(十六进制数)定改磁盘文件对应位置即可,但是处理过后的汉字在文本编辑器里会显示出乱码。

3.3.5提取汉字的软件设计及实现

由于二进制方式访问文件可以直接查看文件中指定的字节,而且二进制方式也是唯一支持用户到文件的任何位置读写任意长度数据的方法,因而以二进制方式打开汉字字库文件是最合适的。

而且程序也支持西文字符的现实,显示时也让其占用一个汉字的空间,流程图如图3.2所示。

图3.3汉字点阵的提取

3.4LED点阵显示屏显示字符原理

下图所示为单基色8*8的点阵屏部结构图:

从结构上可知,它的每一列共用一根列线,每一行共用一根行线。

当相应的行接高电平,列接低电平时,对应的发光二极管被点亮。

通常情况下,一块8*8像素的LED显示屏是不能用来显示一个汉字的,因此,按照其原理结构进行扩展为16*16,就足以显示一个完整的汉字。

在显示过程中,多采用扫描方式,利用人的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。

 

 从结构上可知,它的每一列共用一根列线,每一行共用一根行线。

当相应的行接高电平,列接低电平时,对应的发光二极管被点亮。

通常情况下,一块8*8像素的LED显示屏是不能用来显示一个汉字的,因此,按照其原理结构进行扩展为16*16,就足以显示一个完整的汉字。

在显示过程中,多采用扫描方式,利用人的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。

从结构上可知,它的每一列共用一根列线,每一行共用一根行线。

当相应的行接高电平是,对应的发光二极管被点亮。

通常情况下,一块8*8像素的LED点阵显示屏是不能用来显示一个汉字的,因此,按照其原理结构进行扩展为16*16,就足以显示一个完整的汉字。

在显示过程中,多采用扫描方式,利用人的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。

3.5程序清单

本次设计是利用AT89C51芯片,通过单片机C语言编制程序,实现了单字左移的功能,一共显示两个汉字,并将两个汉字的字库存在单片机的程序,使这两汉字在LED点阵显示屏上得以显示并左移,其程序如下:

#include

#defineucharunsignedchar

#defineuintunsignedint

#definespeed=8//移动的速度//

uintcodetext[]={

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

//*-------------------------------*//

0x04,0x00,0x04,0x01,0x04,0x02,0x04,0x04,0x04,0x08,0x04,0x30,0x05,0xC0,0xFE,0x00,

0x05,0x80,0x04,0x60,0x04,0x10,0x04,0x0C,0x04,0x06,0x04,0x03,0x04,0x02,0x00,0x00,

//*---------------大----------------*//

0x00,0x40,0x01,0x90,0x7F,0x10,0x55,0x10,0x95,0x50,0x01,0x54,0x55,0x52,0x29,0x51,

0x55,0x5E,0x01,0x70,0x55,0x50,0x55,0x10,0x7F,0x50,0x01,0x90,0x01,0x10,0x00,0x00,

//*---------------学----------------*//

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

//*-------------------------------*//

};

ucharcodea[]={0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,

0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0};//*定义列扫描信号*//

voiddelay(uintz)//*延时

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

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1