基于51单片机的8乘8LED点阵显示屏的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1基于单片机的8*8LED点阵显示屏的设计随着单片机在各个领域的广泛应用,许多用单片机作控制驱动LED显示屏也应运产生。本系统设计使用单片机MCS-51控制扫描方法实现LED点阵显示器的字符的显示,介绍了用单片机进行显示系统开发的方法,单片机软件、硬件调试技术,还有点阵显示驱动扩展的一般方法。1.引言1.1研究的目的、意义LED因其体积小,耗电量低,亮度及环保等优点而被广泛应用于公共场所的大屏显示上,LED点阵大屏可应用于户外广告,交通导航,大厅公告,比赛的多媒体实时显示等领域。本设计作品的用途正是在于实现大屏显示的核心功能,即汉字的显示,可实际应用于简单的显示系统中,如简单的排队叫号显示屏,电梯显示屏等。通过此次设计将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力。1.2本设计所要做的工作为了完成该设计实现,经过考虑论证,决定分为以下几个阶段进行:(1)对课题进行全面的分析,明确系统要实现的功能,大致了解要解决的问题,制定总的设计方案;(2)根据论证设计硬件系统并画出电路图,并根据电路图在面包板上连接电路图;(3)在硬件的基础上设计软件程序;(4)利用仿真器编译软件程序,进行调试仿真;(5)把调试成功的程序利用烧入器烧入到芯片中去;(6)把固化好程序的芯片插入到实际应用系统,投入到实际使用。2.系统设计方案2.1系统构成框图23.硬件电路设计3.1主要器件介绍3.1.1LED点阵LED点阵显示屏采用1个8*8共64个象素的点阵,通过LED点阵资料判断出该点阵的引脚分布,如图3.1所示。8*8的LED点阵为单色共阳模块,单点的工作电压为正向(Vf)=1.8v,正向电流(if)=8-10MA。静态点亮器件时(64点全亮)总电流为640mA。总电压为1.8v,总功率为1.15w.动态时取决于扫描频率(1/8或1/16秒),单点瞬间电流可达80-160mA。CPU晶振复位74HC5738*8LED点阵显示屏列行3图3.1点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:(1)点扫描(2)行扫描(3)列扫描若使用第一种方式,其扫描频率必须大于16*64=1024HZ,周期小于1MS即可。若使用第二和第三种方式,则频率必须大于16*8=128HZ,周期小于7.8MS即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。我们把行列总线接在单片机的IO口,然后把上面分析到的扫描代码送人总线,就可以得到显示的汉字了。但是若将LED点阵的行列端口全部直接接入AT89S52单片机,单片机无法提供可以让LED点亮的电流。因此,我们在实际应用中是将LED点阵的8条行线直接接在74hc573,至于列选扫描信号则是由AT89S52单片机IO口来选择控制。汉字或字母扫描显示的基本过程是这样的:通电后由于电阻R1,电容C1的作用,使单片机的RST复位脚电平先高后低,从而达到复位;之后,在C2,C3,X1以及单片机内部时钟电路的作用下,单片机AT89S52按照设定的程序在行接口输出与内部汉字对应的代码电平送至LED点阵的行选线,同时在单片机接口输出列选扫描信号,从而选中相应的象素LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。3.1.2锁存器74hc573M54HC563/74HC563/M54HC573/74HC573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。数据锁存当输入的数据消失时,在芯片的输出端,数据仍然保持;这个概念在并行数据扩展中经常使用到。OE ̄120VccD0—219—Q0D1—318—Q1D2—417—Q2LED点阵161514131211109123456784D3—516—Q3D4—615—Q4D5—714—Q5D6—813—Q6D7—912—Q7GND1011LEOEˉLEDQLHHHLHLLLLXQ0HXXZ1脚三态允许控制端低电平有效1D~8D为数据输入端1Q~8Q为数据输出端74HC573引脚图LE为锁存控制端;OE为使能端。3.2硬件设计思想及电路图3.2.1硬件设计思想由单片机进行处理,并将行列信号分别通过显示驱动输入点阵屏,控制点阵的显示。(1)单片机:采用AT89c52单片机芯片作为主控,控制LED点阵显示。(2)显示:采用8x8LED点阵屏显示字母。(3)显示驱动:考虑到驱动LED所需电流,采用74HC573芯片8位锁存器作行驱动芯片,AT89S52的I/O口作为列驱动。3.2.2硬件电路图5图3.5设计原理图112233445566DDCCBBAATitleNumberRevisionSizeBDate:2008-4-27SheetofFile:C:\DocumentsandSettings\..\Sheet1.SchDocDrawnBy:1p1.02p1.13p1.24p1.356789RST10RXD11TXD12131415161718XTAL219XTAL120vss21p2.022p2.123p2.224p2.325p2.426p2.527p2.628p2.7293031EA323334353637383940VCC*B1B2B3B4B5B6A8A7A6A5A4A3A2A1VCCVCC1212MHZ30PFC130pFC21UFC310KR17VCC图3.7单片机控制电路图4.软件设计64.1汉字的点阵显示原理及字库代码获取方法我们先以简单的汉字显示为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个象素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256象素范围内的任何图形。如用8位的AT89S52单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分,如图4.1所示。图4.1汉字“龙”为了弄清楚汉字的点阵组成规律,首先通过列扫描方法获取汉字的代码。汉字可拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。通过列扫描方法首先显示左上角的第1列的上半部分,显示汉字“龙”时,P2.4点亮,由上往下排列,为:P2.0灭,P2.1灭,P2.2灭P2.3灭,P2.4亮,P2.5灭,P2.6灭,P2.7灭。即二进制00001000,转换为十六进制为08h。上半部一列完成后,继续扫描下半部的一列,为了方便,我们仍设计成由上往下扫描,从图4.1可以看到,这一列全部为不亮,即为00000000,十六进制则为00h。依照这个方法扫描16列,一共扫描32个8位,可以得出汉字“龙”的扫描代码为:00H,08H,08H,08H,08H,08H,0FFH,08H0FH,48H,28H,08H,08H,18H,08H,00H00H,00H,02H,06H,30H,0C4H,04H,08H0FCH,24H,44H,84H,04H,04H,3CH,00H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出他的扫描代码从而显示在屏幕上。本系统是设计龙岩学院字体的显示,使用这个方法可以分析出龙岩学院这几个字的代码。4.2程序流程图软件程序主要由开始、初始化、主程序、字库组成。其中主程序和子程序的流程图如图4-2和图4-3所示。7图4-2主程序流程图开始系统初始化R0=8,扫描8列R7=8,一个字母扫描8次载入第1个字的地址调用显示子程序载入第2个字的地址调用显示子程序载入第3个字的地址调用显示子程序载入第4个字的地址调用显示子程序8P1=0,列扫描计数R1=0,查表指针查表,送数据到P2口显示一列上边8位R1=R1+1查表,送数据到P2口显示一列下边8位R1=R1+1P1=P1+18位是否扫描完重置R0=8一个字是否扫描8次重置R7=8帧延时返回主程序开始NONOyesyes图4-3子程序流程图94.3程序清单:5.设计结果在实际应用中,8*8的点阵LED上,依次显示字母,达到预期效果。虽然本设计只使用了8×8LED点阵,电路简单,但是已经包涵了LED显示屏的电路基本原理,只要扩展单片机的IO接口,并增加一些LED点阵和相关芯片,就能设计出更大面积、更多花样的LED显示屏。因此本文对同类设计具有一定的理论和实践参考价值。6.论文小结

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功