单片机控制LED点阵显示屏施工组织设计及对策.doc

上传人:小飞机 文档编号:4844874 上传时间:2023-05-19 格式:DOC 页数:20 大小:274KB
返回 下载 相关 举报
单片机控制LED点阵显示屏施工组织设计及对策.doc_第1页
第1页 / 共20页
单片机控制LED点阵显示屏施工组织设计及对策.doc_第2页
第2页 / 共20页
单片机控制LED点阵显示屏施工组织设计及对策.doc_第3页
第3页 / 共20页
单片机控制LED点阵显示屏施工组织设计及对策.doc_第4页
第4页 / 共20页
单片机控制LED点阵显示屏施工组织设计及对策.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《单片机控制LED点阵显示屏施工组织设计及对策.doc》由会员分享,可在线阅读,更多相关《单片机控制LED点阵显示屏施工组织设计及对策.doc(20页珍藏版)》请在三一办公上搜索。

1、目 录引言2第1章 背景介绍31.1 LED及LED显示屏31.1.1 点矩阵显示器的种类31.1.2点矩阵显示器的结构.31.2 MCS-51系列单片机简介41.2.1 MCS-51系列单片机及其特点41.2.2 单片机的发展历史简介5第2章 功能要求6 2.1 设计目的.6 2.2 主要器件.6 2.3 任务要求.6 2.4 LED动态显示原理.6第3章 方案实现83.1 系统硬件电路的设计83.1.1单片机系统及外围电路83.1.2列驱动电路93.1.3行驱动器103.2系统程序的设计103.2.1显示驱动程序113.2.2系统主程序11第4章 性能分析与总结124.1 性能分析124.

2、2 总结14致14参考文献14附录A 点阵LED图文显示屏的截图.15附录B程序如下.16引言 LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。文章给出了一种基于MCS-51单片机的57 点阵LED显示屏的设计方案。包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。在负载围, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市

3、场、拍卖行、工业企业管理和其它公共场所。在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。本文设计的是一个室用57的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。第1章 背景介绍1.1 LED及LED显示屏LED 就是Light Emitting Diode而发光。该能量相当于半导体材料的带隙能量Eg(Ev ,其与发光波长(nm 的关系为= 1239. 6PEg。LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。

4、图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。1.1.1 点矩阵显示器的种类点矩阵显示器的种类可以分为5*7 5*8 6*8 8*8 4种,若按LED发光变化颜色来分,又可

5、分为单色 双色 三色3种,按LED的极性排列又可分为共阳极和共阴极两种。1.1.2 点矩阵显示器的结构以5*7点矩阵为例,一般市售注明CA-P共阳极)和CC-P固化在ROM中,不易受病毒破坏。许多信号的通道均在一个芯片,故运作时系统稳定可靠。便于扩展: 片具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出管脚,很容易组成一定规模的计算机应用系统。控制功能强: 具有丰富的控制指令:如:条件分支转移指令,I/O口的逻辑操作指令,位处理指令。实用性好: 体积小,功耗低,价格便宜,易于产品化。1.2.2 单片机的发展历史简介第1阶段(1971年1978年,以MCS-48

6、系列为代表,称4位单片机。在片:CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有并行接口,无串行接口;只有1个8位的定时/计时器;中断源只有2个。在片外:寻址围只有4KB;芯片引脚有40个。第2阶段(1978年1983年,以MCS-51系列为代表,称8位单片机。在片:CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串/并行接口;有2个或3个16位的定时/计时器;中断源有5至7个。在片外:寻址围有64KB;芯片引脚有40个。第3阶段(1983年以后,以MCS-96系列为代表,称16位单片机。在片:CPU有16位;ROM有8KB;RAM有232B;有串

7、/并行接口;有4个16位的定时/计时器;中断源有8个;增加了D/A和A/D转换电路。在片外:寻址围有64KB;芯片引脚有48个或68个。以上MCS-51系列以其优良的性价比,在我国得到了广泛的应用。第2章 功能要求2.1 设计目的掌握单片机控制原理与光显示器件的应用熟悉汇编语言编程。2.2 主要器件 AT89C51,RP1(100K*8, 16*16LED点阵green共阴极),74H154,振,按钮开关。2.3 任务要求 通过AT89C51的P1.0P1.3连接416线译码器74LS154对16*16LED点阵的每一竖列进行逐列扫描,并将P0与P2端口作为数据输出端点亮数码管发光显示,实现“

8、XX学院机电工程学院*单片机课程设计;”字样,并依次左移循环显示。2.4 LED 动态显示原理LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相

9、对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。以88点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1Y7叫做行线,接部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1X7叫做列线,接部每列8个LED的阴极,相邻两列线间绝缘。在这种形式的LED点阵模块中,若在某行线上施加高电平用“1”表示),在某列线上施加低电平用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角

10、的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。 Proteus中只有57和88等LED点阵,并没有1616LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要1616点阵。下面我们就首先介绍使用88点阵构建1616点阵的方法,并构建一块1616LED点阵,用于本次设计。首先,从Proteus7.5的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置没有转动方向),我们要首先将其左转90,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线当然,如果

11、你是将右转,则右边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。连接好的1616点阵如图3.2所示。成如上图的1616点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块88点阵,然后拖动并使其与左侧的两块相并拢,如图3.3所示。图3.2 点阵模块组合第3章 方案实现 从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结

12、果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。57的点阵共有35个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,57的点阵需要35/8=5个锁存器。这个数字比较大,因为我们仅仅是57的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行比如7行)的同名列共用一套驱动器。具体就57的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一

13、起共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第7行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。

14、显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以

15、采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有所存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图1为显示屏电路实现的结构框图。列驱动器 单片机电源 行驱动器LED显示点阵图1,显示屏电路框图3.1 系统硬件电路的设计硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。3.1.1单片机系统及外围电

16、路单片机采用MSC-51或其兼容系列芯片,采用24MHZ或更高频率晶振,以获得较高的刷新频率,时期显示更稳定。单片机的串口与列驱动器相连,用来显示数据。P1口低4位与行驱动器相连,送出行选信号;P1.5P1.7口则用来发送控制信号。P0口和P2口空着,在有必要的时候可以扩展系统的ROM和RAM。57的点阵显示屏的硬件原理图如图2所示在附录A)。3.1.2列驱动电路列驱动电路有集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行列数据的同时,传送下一行的列数据,既达到重叠处理的目的。74HC59

17、5的外形及部结构如图3所示。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片

18、的输出端为QAQH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因为QH受输出锁存器的打入控制,所以还从输出锁存器前引出QH,作为与移位寄存器完全同步的级联输出。74HC595QB 1 16 VccQC 2 15 QAQD 3 14 SIQE 4 13 GQF 512 RCKQG 611 SCKQH 710 SCLRGND 8 9 QH图3. 74HC595外形及引脚3.1.3行驱动器单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。一条行线上要带动16列的LED进行显示,按每一LED器件20MA电流计

19、算,16个LED同时发光时,需要320MA电流,选通三极管8550作为驱动管可满足要求。3.2.系统程序的设计显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可以把显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动器程序由定时器T0中断程序实现。系统应用程序完成系统环境设置初始化)、显示效果处理等工作,由主程序来实现。从有利于实现较复杂的算法显示效果处理)和有利于程序结构化考虑,显示屏程

20、序适宜采用C语言编写。3.2.1显示驱动程序显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率帧频)计算公式如下:刷频率帧频)=1/16T0溢出率 =1/16f/1265536-t) 其中f位晶振频率,t为定时器T0初值工作在16位定时器模式)。然后显示驱动程序查询当前燃亮的行号,从显示缓存区读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图4为显示驱动程序显示屏扫)进入中断定时器赋初值读取行号并增

21、加1送新行显示数据消 隐切换显示数据发送新行号,打开显示退出中断图 4 显示驱动程序流程图3.2.2系统主程序本文设计的系统软件能使系统在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约3s;接着向上滚动显示“0-B”这11个字符,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。单元显示屏可以接收来自控制器主控制电路板)或上一级显示单元模块传

22、输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示容。图5是系统主程序流程图。开始系统初始化“卷帘出”显示效果“上滚屏”显示效果“左跑马”显示效果“卷帘入”显示效果图 5 系统主程序流程图第4章 性能分析与总结4.1 性能分析LED显示屏硬件电路只要硬件质量可靠,引脚焊接正确,一般无需调试即可 正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,表5.1给出了实验调试时采用的频率及其对应的定时器T0初值。表5.1 显示平刷新

23、率与T0初值关系表24MHz晶振)刷新率255062.57585100120T0初值0Xec780Xf63C0Xf8300xF97E0XFA420XFB1E0xFBEE从理论上来说,24Hz以上的刷新频率就能看到稳定的连续的显示,刷新率越高,显示越稳定,同时刷新频率越高,显示驱动程序占用的CPU时间越多。实验证明,在目测条件下刷新频率40Hz一下的画面看起来闪烁较严重,刷新频率50Hz以上的已基本察觉不出画面的闪烁,刷新频率达到85Hz以上时再增加画面闪烁没有明显的改善。显示效果处理程序的容及方法非常广泛,其调试过程在此不作具体讨论,读者可以照源程序自行分析。这个方案设计的57的点阵LED图文

24、显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。4.2 总结本文设计的一个室用57的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。 总结本文的研究工作,主要做了下面几点较突出的工作:1、通过查阅大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏

25、与其它显示屏相比较有那些优点,明确了研究目标。2、本文设计的LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。3、文章给出了系统具体的硬件设计方案,硬件结构电路图,软件流程图和具体汇编语言程序设计与调试等方面。4、在这次毕业设计的过程中学会了 Protel 99se 的基本使用,感到Protel 99se 对电子专业的同学来说是一门很有用的课程。5、通过这次毕业设计,重新复习并进一步学习了MCS-51;熟练掌握了WORD软件的使用。6、存在缺陷:没有考虑抗干扰的问题。致本文是在胡花老师的

26、悉心指导下完成的。从课题的立项、选题到课题的开发与研究,再到本论文的撰写到定稿的每一步工作都倾注着黄老师的心血和汗水,同时得到同学们相助,并提供了大量的资料. 在此,对于老师和同学们的帮助表示忠心的感。参考文献1 何立民.MCS-51系列单片机应用系统设计与接口技术 .航空航天大学,19902 任涛等.闪速存储器数据及应用简明速查手册.电子工业,19973 何立民.单片机应用技术选编.航空航天大学,20004 毅刚等.MCS-51单片机应用设计.工业电子,19965 邬宽明.单片机外围器件实用手册.航空航天大学,19986 凯.LED介绍完全手册.航空航天大学,20007 友德等.单片微型机原

27、理应用与实验,复旦大学,1996附录A 点阵LED图文显示屏的截图:附录B程序如下:#include #define int8 unsigned char#define int16 unsigned int#define int32 unsigned longint8 flag。int8 n。int8 code table32= 0x40,0x0C,0x7E,0x0C,0x60,0x0C,0x30,0x0C, 0x08,0x0D,0x18,0x2F,0x58,0x2F,0xB8,0x4D, 0xBC,0xCD,0x9E,0xCC,0x5A,0x4C,0x18,0x0C, 0x18,0x0C,0

28、x18,0x0C,0x1C,0x0F,0x08,0x06,/*/ 0x08,0x02,0x38,0x26,0x18,0x7F,0x7C,0x33, 0x8C,0x1D,0x44,0x0C,0x3E,0xF3,0xDA,0x6C, 0x18,0x3F,0x7E,0x0C,0x18,0x3F,0x18,0x0C, 0x58,0x2C,0xB8,0x7F,0x1C,0x0C,0x08,0x0C,/*锋*/。void delay(void。int16 offset。void main(void int8 i。 int8 *p。 flag=0x10。 n=0。 TMOD=0x01。 TH0=0xb1。

29、TL0=0xe0。 ET0=1。 EA=1。 TR0=1。 p=&table00。 while (1 for (i=0。i /显示左半边屏幕 P0 = 0x00。 P2=i|0x08。 /P2.4=0,P2.3=1 选中U2, 输出扫描码给U6 P0=*(p+offset+2*i。 delay(。 P0 = 0x00。 P2=i|0x10。 /P2.4=1,P2.3=0 选中U3, 输出扫描码给U7 P0=*(p+offset+2*i+1。 delay(。 for (i=8。i /显示右半边屏幕 P0 = 0x00。 P2=(i-8|0x20。 /P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 P0=*(p+offset+2*i。 delay(。 P0 = 0x00。 P2=(i-8|0x40。 /P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9 P0=*(p+offset+2*i+1。 delay(。 void delay(void int16 i。 for (i=0。i 。void timer0( interrupt 1 using 3 TF0=0。 TH0=0xb1。 TL0=0xe0。 if (n n+。 else offset+=2。 if (offset32 offset=0。 n=0。

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号