您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 基于MCS-51的16x16点阵LED电子显示屏
目录1引言点阵式LED显示屏低功耗,价格便宜,显示清晰,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。因要显示汉字,本设计选用16x16的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。1.背景介绍1.1课题的提出单片机的出现将近有三十年的历史,可以说单片机技术已成为当今科学技术现代化的重要工具。单片机课程是实践性和实用性很强的专业课,而在单片机教学过程中,实验的例子都是针对单片机的各个模块,或者是连接有一两个其它芯片的简单实验,相互间并没有太多关联,需要设计一个综合性的应用系统加强对单片机技术的理解。因此,通过LED点阵显示屏系统的制作而去了解系统设计的流程,对系统开发有宏观的把握。而近年结合了单片机技术的LED点阵显示屏由于内容更新方便、显示方式多样和视觉效果理想,倍受用户欢迎。可见,制作LED点阵显示屏有更多的现实意义。本课题制作一个可显示汉字(16*16点阵)的LED点阵显示屏。1.2课题的内容本课题的主要内容是设计一个LED点阵显示屏系统,在PC机方提供一个输入界面,供用户输入需要显示的汉字。PC机程序将待显示的汉字字模(点阵数据)通过串行口送往以单片机为核心的LED点阵显示屏系统。具体来说,课题要实现的内容包括如下几个方面:(1)LED点阵显示屏的硬件设计,硬件设计首先要进行系统的规划,在分析确定好功能需求后再选择性价比高的通用元器件,必要时要对各个没有把握的器件或模块进行搭试、功能检验和性能测试。从模块到系统找到相对优化的方案。(2)单片机在LED点阵显示系统中主要负责数据的接收,存储和扫描显示LED点阵屏。(3)PC机方的程序设计主要有两个方面:一个是对汉字字库的提取显示;另一个是串口通信,主控计算机对显示屏的控制显示功能主要是通过计算机的串口实现。此外,PC机方还要完成文字的预显功能。(4)进行软硬件综合测试。1.3开发目标本课题的开发目标主要包括如下三个方面:(1)LED点阵显示屏的外壳要求美观,显示要稳定:显示电路采用并行驱动的方式;LED点阵屏用逐行扫描的方式,即从屏幕的第一行开始顺次扫描到最后一行,这样整个屏幕不会随着屏幕扩展而降低刷新频率,造成图文显示的闪烁。(2)单片机方要求51系列,减少外围元件的使用:本系统所使用的是AT89C51,其I/O口数量、RAM和FLASH的大小都能满足LED点阵显示屏的设计要求,单片机程序是用C编程实现的,可以控制显示的方式。(3),用户可以在PC机输入想要显示的文字并提取字模,并将程序通过串行口烧入单片机,简单明了,易于操作。1.4课题的意义(1)LED在通讯产品、显示器、车用和照明等方面有着广泛的用途,尤其是LED点阵显示屏,它的制作已经形成一种产业,正处于高速发展中,而且LED点阵显示屏的制作有相当的技术含量,选择LED点阵汉字显示屏的制作非常有意义。(2)充分体会到启动一个硬件开发项目的流程:首先,根据需求确定硬件方案,如考虑内存大小、内部结构、对外接口的数量及类型等等细节;开始设计原理图,当主要的芯片选定后,也2不容忽视外围电路的设计,根据原理图设计PCB图,加工出PCB板后,进行装配和硬件调试;上述工作完成后,才开始软件的设计。2.方案论证2.1LED及点阵式LED显示屏在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管(LightEmittingDiode),通称LED。点阵式LED显示屏是通过控制半导体发光二极管的显示方式,用来显示文字、图形等各种信息的显示屏幕。它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。、2.251系列单片机及其特点(1)可靠性高:因为芯片是按工业测控环境要求设计的,故抗干扰的能力优于PC机。系统软件(如:程序指令,常数,表格)固化在ROM中,不易受病毒破坏。许多信号的通道均在一个芯片内,故运作时系统稳定可靠。(2)便于扩展:片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,很容易组成一定规模的计算机应用系统。(3)控制功能强:具有丰富的控制指令:如:条件分支转移指令,I/O口的逻辑操作指令,位处理指令。(4)实用性好:体积小,功耗低,价格便宜,易于产品化。2.3设计方案从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16x16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。本设计采并行方式,单片机没有能力驱动LED显示,所以必须外加驱动电路74LS573同时考虑到系统扩展的需要,采用了一个4-16线译码器,只占用了P1口的四个脚。显示电路的设计如图1-13图1-1单片机显示系统硬件电路框图3硬件电路的实现硬件电路大致上可以分成单片机系统外围电路、列驱动电路和行驱动电路三部分,还有LED屏的组合。3.1单片机最小系统外围电路单片机的复位及外部震荡电路,43.2列驱动电路列驱动使用单片机的P0口和P2口直接输出字模的高8位和低8位,送入2个74HC573使用锁存功能且高电平有效,由于P0口作输出,所以上拉4.7K电阻。当数据有P0口,P2口送入74HC573时,使用锁存功能并提供驱动LED的电压,使一列LED处于高或低电平。3.3行驱动器单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过2个74HC573锁存驱动,灌电流方面则是用达林顿阵列来驱动的。成本低,而且使用方便。具体实现是采用74HC573锁存器接5成直通电路作为行驱动,而不是采用其锁存功能。最大可提供25mA拉电流驱动,足以驱动LED了。3.4LED屏的组合因单元模块只有8×8点阵,需用8×8点阵构建16×16点阵,并构建一块16×16LED点阵,用于本例的显示任务。屏幕的组合可用Proteus仿真一块16×16LED点阵来示意,其过程如下:从Proteus元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其右转90°,使其水平放置,那么此时它的右面8个引脚是其行线,左边8个引脚是其列线(当然,如果你是将左转,则左边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。连接好的16×16点阵如下图所示:6连接成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如下图所示:我们可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如下图所示:可以看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。需要注意,做成的LED点阵的列线为左侧的16个引脚,下侧的16个引脚为其行线,而且其列线为高电平有效,行线为低电平有效。74系统程序的设计显示屏软件的主要功能是向显示屏提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显示屏程序适宜采用C语言编写。4.1汉字循环显示程序保证显示屏刷新率的稳定,取画面刷新频率80HZ,然后从显示缓存区内读取下一行的显示数据,并通过并口发送给锁存寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要清零寄存器,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号点亮新一行。图4为四个汉字循环显示流程图。YN图4四个汉字循环显示流程图4.2.其它显示方式本文设计的系统软件能使系统在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。可通过修改程序合理设置定时器通过多次中断实现汉字的“卷席入”“滚动”等显示方式。4.3.部分程序(1)显示屏测试#includereg51.hinti,j,k,z;delay1(){/延时inti;for(i=0;i=10000;i++)}main(){charm,n;P0=0x80;P2=0;delay();for(;;){for(i=0;i=15;j++)/行译码,使用74HC154分别选择第1—16行{P1=j;delay();P0=0x80;delay();开始系统初始化第I字模数据输入延时,I+1,If(I=4)I=18for(m=0;m=7;m++){P0=1;delay();/左块点亮}P2=0x01;delay();for(m=0;m=7;m++)/右块点亮{P2=1;delay();}}}}(2)循环显示#includereg51.hinti,j,k,z;unsignedcodetab0[]={0x00,0x80,0x00,0x80,0xFC,0x80,0x04,0xFC,0x45,0x04,0x46,0x48,0x28,0x40,0x28,0x40,0x10,0x40,0x28,0x40,0x24,0xA0,0x44,0xA0,0x81,0x10,0x01,0x08,0x02,0x0E,0x0C,0x04,0x00,0x00,0x41,0x84,0x26,0x7E,0x14,0x44,0x04,0x44,0x04,0x44,0xF4,0x44,0x14,0xC4,0x15,0x44,0x16,0x54,0x14,0x48,0x10,0x40,0x10,0x40,0x28,0x46,0x47,0xFC,0x00,0x00,0x01,0x00,0x21,0x08,0x11,0x0C,0x09,0x10,0x09,0x20,0x01,0x04,0xFF,0xFE,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x08,0x40,0x08,0x42,0x10,0x42,0x20,
本文标题:基于MCS-51的16x16点阵LED电子显示屏
链接地址:https://www.777doc.com/doc-2570836 .html