完整word版基于单片机的LED点阵显示课程设计_第1页
完整word版基于单片机的LED点阵显示课程设计_第2页
完整word版基于单片机的LED点阵显示课程设计_第3页
完整word版基于单片机的LED点阵显示课程设计_第4页
完整word版基于单片机的LED点阵显示课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 1 LED电子显示屏原理 1.1 L ED电子显示屏概述 LED电子显示屏(Light Emitting Diode Panel)是由几百-几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。 LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。 LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容

2、量的字符信息显示。LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。 LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。 1.2 LED显示屏动态显示原理 LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱

3、动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发1 光单元的信号线数量,因此在LED显示技术中被广泛使用。 以88点阵模块为例,说明一下其使用方法及控制过程。图1中,水平线Y0、Y1Y7叫做行线,接内部发光二极管的阳极,每一行8

4、个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,竖直线X0、X1X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。 在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。 图1: (88)点阵LED显示模块结构原理及引脚图 LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如5x7点阵显示器用于显示西文字母58点阵显示器用于显示中西文

5、,8x8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过PC机或单片机控制驱动。 1.3 Proteus简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的2 教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图

6、、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,它也支持IAR、Keil和MPLAB等多种编译器。 Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: (1)智能原理图设计(ISIS) (2)完善的电路仿真功能(Prospice) (3)独特的单片机协同仿真功能(VSM) (4)实用的PCB设计平台

7、2 硬件设计 2.1 总体设计思路 设计思路如图2: 图2: 总体思路框图 3 2.2 设计论证 图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中1616的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是1616的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。 动态扫描的意思简单地说就是逐行轮流点亮,这

8、样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就1616的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。 采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位

9、一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。 采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列4 数据准备(传输)和列数据显示两部分。对

10、于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。 解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有所存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。 2.3系统硬件选择 由图2可知此次设计的硬件

11、选择如下: AT89C52单片机1个, 锁存器74LS373芯片1片,非门74LS04芯片1片,4线-16线译码器741454芯片2片,移位寄存器74LS595芯片2片,最后需要构成16*32点阵的MATRIX-8X8-RED芯片4片以及电源和地。 5 2.4 电路设计原理图 本设计的电路设计原理图如图3所示: 图3:16*32 LED点阵设计电路原理图 由于proteus里没有现成的16*32的点阵芯片,所以我选择4片MATRIX-8X8-RED芯片拼成一块16*32的点阵芯片。 3 软件设计 显示屏软件模块包括:初始化程序、主程序、多字滚动、显示程序、扫描程序。显示程序的主要功能是向屏体提

12、供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。软件设计中,显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描6 显示工作。显示驱动器程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。 3.1 显示驱动程序设计 显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下: 刷频率(帧频)=1/16T0溢=1/16f/12(65536-t)

13、 其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。 然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。显示驱动程序(显示屏扫描函数)流程图如图4所示: 图4:显示驱动程序流程图 3.2 系统主程序设计 本设计的系统软件能使系统LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。 系统主程序开始以后,首先是对系统环境初始

14、化,包括设置串口、定时器、7 中断和端口;然后以“卷帘出”效果显示图形,停留约几秒;接着向上滚动显示“-”这几个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。 单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。如果想改变些事内容,先用字模产生字代码,将用这段代码覆盖原来的代码,即可显示你想要的内容。 系统主程序流程图如图5所示: 图5:系统主程序流程图

15、 3.3 源程序 ;主程序如下: ORG 0000H SJMP START ;程序开始从START执行 ORG 0030H ;程序从0030H单元开始存放 START : MOV 60H , #0 ;60H单元清0,60H单元用于软件延时时的计数 MOV 61H , #0 ;61H单元清0,61H单元用于软件延时时的计数 D0: MOV R0,#165 ;中文字幕往左滚动一次需要读取数据165次 MOV DPTR,#TABLE1 ;字模表1首址赋指针 8 ACALL DISPLAY ;调用显示子程序 MOV R0 , #256 ;英文部分往左滚动显示完一次需读取数据256次 MOV DPTR,

16、#TABLE2 ;字模表2首址赋指针 ACALL DISPLAY ;调用显示子程序 AJMP D0 ;反复显示 ;显示程序如下: DISPLAY: MOV R2 , #10 ;每屏字幕扫描显示10次 LOOP0: MOV R3 , #32 ;总共扫描32列 CLR P3.2 ;移位寄存器74LS595锁存信号无效(为0) MOV R5,#00H ;列序号送寄存器,从第0列开始显示 SCAN1: MOV R1,#00H ;偏移量初值为0 LOOP1: MOV R4,#2 ;每列显示数据有两字节,每次发送一字节,发两次 LOOP2: MOV A,R1 ;偏移量寄存器内容送A MOVC A,A+DP

17、TR ;取字模数据送A MOV SBUF,A ;A中内容送串行口输出 JNB TI,$ ;检查数据是否已发送完,没发送完,继续等待 CLR TI ;发送完毕,清串行口中断标志 INC R1 ;偏移量加1 DJNZ R4,LOOP2 ;还没发送完两字节,继续发送 NOP SETB P3.2 ;移位寄存器74LS595数据锁存信号有效(为1),锁存单片机送出的数据 CLR P3.3 ;移位寄存器74LS595输出允许信号有效,将锁数 据输出 NOP NOP MOV P1 , R5 ;列编号送P1口,使该列显示数据 9 MOV 60H , #5 ;开始软件延时,60H单元置初值5 DL1: MOV

18、61H , #20 ;61H单元置初值20 DL2: DJNZ 61H , DL2 DJNZ 60H , DL1 ;软件延时,让一列数据的显示维持一点时间 INC R5 ;列编号加1 CLR P3.2 ;移位寄存器74LS595锁存信号无效(为0) SETB P3.3 ;移位寄存器74LS595输出允许信号无效(为1) DJNZ R3,LOOP1 ;32列还没扫完,继续扫描 DJNZ R2,LOOP0 ;每屏字幕没扫完10次,继续 INC DPTR ;指针加1 INC DPTR ;指针加1,使显示字幕往左移动 DJNZ R0,DISPLAY ;R0不为0,继续读取数据扫描显示 RET ;子程序

19、返回 TABLE1: ;黑屏 DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H, DB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H ;天 DB 02H,01H,42H,01H,42H,02H,42H,04H,42H,08H,42H,30H,42H,0C0H,7FH,00H, DB 42H,0C0H,42H,30H,42H,08H,42H,04H,0C2H,02H,46H,03H,02H,02H,00H,00H ;道 DB 02H,00H,42H,02H,22H,04H,33H,0FH,00H,04H,20H,02H,0AH

20、,0FDH,6DH,25H, DB 35H,25H,25H,25H,25H,25H,65H,25H,0AFH,0FDH,24H,03H,00H,02H,00H,00H ;酬 DB 4FH,0FEH,48H,0A4H,7FH,24H,48H,24H,7FH, DB 24H,48H,0A4H,0DFH,0FFH,48H,02H, DB 02H,0CH,0FFH,0F0H,02H,00H,3FH,0FCH, 10 DB 02H,00H,0FFH,0FFH,00H,00H,00H,00H ;勤 DB 40H,02H,47H,0A2H,0F4H,0AAH,54H,0AAH, DB 5FH,0FEH,54

21、H,0AAH,0F4H,0AAH,47H,0A3H, DB 48H,02H,08H,0CH,0FFH,0F0H,08H,02H, DB 08H,01H,1FH,0FEH,08H,00H,00H,00H TABLE2: ;h DB 00H,00H,00H,00H,30H,04H,7FH,0FCH, DB 0FFH,0FCH,03H,04H,03H,00H,03H,00H DB 03H,00H,03H,00H,03H,04H,03H,0FCH,01H, DB 0FCH,00H,04H,00H,00H,00H,00H ;n DB 00H,00H,00H,00H,03H,04H,03H,0FCH, D

22、B 03H,0FCH,03H,04H,03H,00H,03H,00H DB 03H,00H,03H,00H,03H,04H,03H,0FCH, DB 01H,0FCH,00H,04H,00H,00H,00H,00H ;i DB 00H,00H,00H,00H,00H,00H,00H,00H,00H, DB 00H,00H,04H,03H,04H,1BH,0FCH DB 1BH,0FCH,1BH,0FCH,00H,04H,00H,04H,00H, DB 00H,00H,00H,00H,00H,00H,00H ;e DB 00H,00H,00H,00H,01H,0F0H,03H,0F8H, DB 06H,0CCH,0CH,0CCH,0CH,0CCH,0CH,0CCH DB 0CH,0CCH,0CH,0CCH,0CH,0CCH,06H,0CCH, DB 03H,0C8H,01H,0C0H,00H,00H,00H,00H11 4 Proteus仿真 本课程设计仿真利用proteus仿真步骤如下: (1)选择设计图纸的到小 (2)选取仿真所需的元器件 选取元器件的方式是,单击元器件放置按钮“P”。 (3)把元器件放到图纸的合适位置,进行布线。 (4)编辑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论