您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于51单片机的LED点阵屏的设计与实现
1基于51单片机的LED点阵屏的设计与实现摘要本文主要阐述了用51单片机控制单色32*64的LED点阵屏显示的方法,对LED点阵屏如何进行行列信号控制及信号传输中的驱动问题进行了研究,并讨论了单片机控制系统中关键的数据处理以及发送问题。结果表明采用并行数据输入、串行数据及同步时钟传输的专用电路可大大减少CPU的辅助时间,提高了数据的发送速度。并给出了通过软件控制点阵屏显示的几种方式,如静态显示,分屏显示以及左移显示,对其软件的算法给出了具体分析。基于各种算法我们就可以灵活的运用软件实现各种显示,并将其用于商业用途。关键词LED点阵屏;单片机;驱动;扫描TheDesignandRealizationofLEDLatticeScreenBasedOnMCU-51AbstractThisarticlemainlyelaboratesthemethodofusingMCU-51tocontrolsinglecolor32*64LEDlatticescreendisplay,andresearchinghowtocarryontherankssignalcontrolandthequestionofsignalactuationwiththeLEDlatticescreen,anddiscussestheessentialdataprocessingandthetransmissionquestioninthemonolithicintegratedcircuitcontrolsystem.TheresultindicatesthatCPUnon-cuttingtimecanbereducedgreatlybyusingtheallocated-usecircuitwithparalleldatainput,serialdataandsynchronismclocktransmission,whichhasraisedthedatatransmittingspeed.Thissystemhasgivenseveralwaystocontrollatticescreendisplayviasoftwaresuchasthestaticstatedisplay,dividedscreendisplayandleftshiftdisplay,whichhasgiventheconcreteanalysisofsoftware'salgorithm.Wecanrealizeallkindsofdisplaynimblybyusingsoftwarebasedoneachalgorithm,anduseitinthecommercialtrade.KeywordsLEDlatticescreen;One-chipcomputer;Drive;Scan2前言随着社会文化的不断发展,人们的消费标准不断提高,户外灯箱广告更是扮演着越来越重要的宣传角色,不论是汽车站,火车站,股票交易市场,还是学校都离不开它,然而传统的霓虹灯广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的霓虹灯广告亟待改进。由于单片机技术的不断发展和高亮度LED发光管的出现使得大屏幕高亮度LED电子广告屏成为可能,与传统的霓虹灯广告在显示效果以及可修改性上都有着无法比拟的优势,而且单片机的日益平民化以及LED技术的不断创新,使得高亮度高清晰的LED点阵广告牌与传统霓虹灯广告牌的成本日益接近。另外,SMT技术的飞速发展,开关电源的大规模使用,使其无论在体积上还是在可靠性上都比传统的霓虹灯广告有明显的改进,为其在特殊领域的应用奠定了基础。这种新兴的大屏幕显示技术成为众人目光的焦点。与传统的显示设备相比,首先,LED显示屏色彩丰富,3基色的发光管可以显示全彩色,显示方式变化多样(文字、图形、动画、视频、电视画面等),是集光电子技术、微电子技术、计算机技术、信息处理技术于一体的高技术产品,可用来显示文字、计算机屏幕同步的图形。其次,LED显示屏的像素采用LED发光二极管,将多个发光二极管以序列的形式构成LED显示阵列,这种显示屏具有耗电低、成本低、亮度和清晰度高、寿命长等优点,而且LED显示屏其受空间限制较小,并可以根据用户要求设计屏的大小,具有全彩色效果,视角大,是信息传3播设施划时代的产品。再次,LED显示屏应用广泛,金融证券、银行利率、商业广告、文化娱乐等方面,显示效果清晰稳定,越来越多的地方开始使用LED电子显示屏,有巨大的社会效益和经济效益。它以其超大画面、超宽视觉、灵活多变的显示方式等独居一格的优势,成为目前国际上使用广泛的显示系统。1概述1.1设计任务本设计主要任务是设计一个实用的32*64LED点阵屏的图文显示,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字稳定、清晰无串扰。图形或文字显示有静止和移入移出等显示方式。本文还重点介绍了单片机对LED点阵屏的控制电路,驱动电路的设计方法,并根据LED点阵屏的硬件特点,对其软件实现的算法给出了具体的分析。从而实现了显示的字体能够进行向左移动。1.2点阵屏的内部结构及扫描原理LED点阵屏的内部结构可以分为共阴型和共阳型[5]两种类型,本系统设计采用的是共阳型的LED点阵屏。其硬件电路如(图1.1)所示,我们只选取了一个8*8的LED矩阵做模型,当行上有一正选通信号时,列选端四位数据为0的发光二极管便导通点亮。根据这个原理,当我们需要某图形或文字时,只需要将要显示的文字或图形的编码作为列信号跟对应的行信号进行逐次扫描[1],就可以逐行点亮点阵。当扫描速度大于24Hz,由于扫描时间很快,人眼的视觉有暂留4效应[3],就可以看到显示的是完整的图形或文字,这样就达到了显示的效果。图1.18*8共阳极LED点阵例如,若要图中所示64个LED显示一个“0”字的方框,则首先在列1~8上写入列编码的信号,接着应将对应的行上加选通信号,即在行、列的信号端分别加上如(图1.2)所示数据,这样,假设显示数字为“0”时:123456785●●●●●●●●●●●●●●●●00003E4141413E00图1.2在点阵上所加的行信号以及列选择信号因此,形成的列代码为00H,00H,3EH,41H,41H,41H,3EH,00H;只要把这些代码分别送到相应的列线上面,即可实现“0”的数字显示。送显示代码过程如下所示:送第一列线代码到P3端口,同时置第一行线为“0”,其它行线为“1”,延时2ms左右;送第二列线代码到P3端口,同时置第二行线为“0”,其它行线为“1”,延时2ms左右;如此下去,直到送完最后一列代码,又从头开始送。如此循环下去,当刷新频率足够高时(大于24Hz),由于人眼的视觉暂留特性,便可得到一个稳定的“0”字。这就简单的描叙了一下的点亮LED的扫描原理。61.3方案论证1.3.1显示方法的论证方案一:从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种控制各个发光点同时亮灭的方法称为静态驱动显示方法[2]。但从实际考虑可以知道,32*64的点阵共有2048个发光二极管,如果采用这种方法,显然单片机没有这么多端口。但如果我们采用锁存器来扩展端口,按8位的锁存器来计算,32*64的点阵需要256个锁存器。这个数字仍然很庞大,而且成本很昂贵,而我们仅仅是32*64的8个汉字点阵,但在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。显然这样做不能达到我们的要求,因此在实际应用中的显示屏几乎都不采用这种设计方法。方案二:而这里我们采用的是另外的一种叫做动态扫描[10]的方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如8行)的同名列共用一套列驱动器。具体就32*64的点阵来说,把所有同一列的发光管的阴极连在一起,再去驱动这一列LED(共阳接法),每一列先送出对应第1行发光管对应的数据并锁存,再选通第1行使其点亮一定的时间,然后熄灭;再送出第2行的数据并锁存,再选通第2行使其点亮相同的时间,然后熄灭……第8行之后,又重新点亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显7示屏上稳定的图形了。1.3.2数据传送的方法论证方案一:采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的程序存储器中,按8位一个字节的形式顺序排放。显示时只要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。采用并行方式时,32*64的LED点阵有8列8*8的点阵,需要8*8=64个列数据输入口,而一个89S51只有32个I/O接口,还要同时驱动行数据,根本不够用,并且从控制电路到列驱动器的线路数量大,相应的硬件数目多,由此可以得出,当列数很多时,并行传输的方案是不可取的。方案二:采用串行传输[10]的方法,控制电路可以只用2根线:数据线、时钟线。将行数据一位一位传往行驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给行驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备传输和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给显示的时间就太少了,以致影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用准备数据锁存的方法。即在显示本行数据的同时,传送下一行的数据。所以列数据的显示驱动电8路就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能:对数据准备来说,它应能实现串入并出[7]的移位功能;对数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据输人并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。同时为了LED显示的亮度,采用8行扫描,每个汉字上面有2个8列驱动器驱动,列驱动器的位置应该是在第1行跟第9行,即每个16*16的汉字点阵是有4个8*8的点阵组成的阵列,扫描的时候同时扫描显示第1行跟第9行,第二次扫描的时候显示第2行跟第10行,以此类推,最后显示第8行跟第16行。2系统硬件设计硬件电路[4]大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路以及LED点阵阵列三大部分。框图(图2.1)如下:图2.1硬件的总体框图在实际应用中的大屏幕LED点阵显示屏,都是采用很多的显示模块组成,每个模块一般是有32*64个点阵组成,每个模块负责自己9那部分LED的显示;有电脑通过统一的协议发送数据到每个控制单片机,行选是统一的;而且控制模块也是分开的,一个控制模块上面有很多的RAM芯片,控制芯片接收从主控电脑发送过来的数据,并将其保存在RAM中,之后不需要电脑控制即可自己循环控制显示。而且一个模块控制几个至几十个32*64的点阵模块。2.1单片机系统及外围电路由于LED点阵显示屏由单片机控制部分和显示驱动部分组成,单片机我选择最常见的ATMEL公司的AT89C51单片机。此单片机与MCS-51产品指令系统[9]完全兼容,由4K字节可重擦写Flash闪速存储器,128*8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器和6个中断源。同时支持在线下载,并且该单片机经济实用,使用广泛。我们使用的是AT89C51的最小系统电路,包括:电源、时钟脉冲、复位电路和程序存储器设定电路,暂时只是显示很少的几十个汉字,不用外扩存储器。2.1.1时钟脉冲电路AT89C51单片机芯片内部设有一个反向放大器所构成的振荡器,其最高时钟脉冲频率已经达到了24MHz,AT89C51的两个引脚XTAL1和XTAL2(即19、18脚)分别为振荡电路的输入端和输出端,只要连接到
本文标题:基于51单片机的LED点阵屏的设计与实现
链接地址:https://www.777doc.com/doc-4226942 .html