基于单片机的led显示屏的课程设计

上传人:第*** 文档编号:32750177 上传时间:2018-02-12 格式:DOC 页数:22 大小:731.50KB
返回 下载 相关 举报
基于单片机的led显示屏的课程设计_第1页
第1页 / 共22页
基于单片机的led显示屏的课程设计_第2页
第2页 / 共22页
基于单片机的led显示屏的课程设计_第3页
第3页 / 共22页
基于单片机的led显示屏的课程设计_第4页
第4页 / 共22页
基于单片机的led显示屏的课程设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《基于单片机的led显示屏的课程设计》由会员分享,可在线阅读,更多相关《基于单片机的led显示屏的课程设计(22页珍藏版)》请在金锄头文库上搜索。

1、摘 要LED 点阵显示屏作为一种新兴的显示器件,是由多个独立的 LED 发光二极管封装而成. LED 点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。本设计是 88 点阵 LED 电子显示屏的设计。整机以美国 ATMEL 公司生产的 40 脚单片机 AT89C51 为核心,介绍了以它为控制系统的 LED 点阵电子显示屏的动态设计和开发过程。该电子显示屏可以显示各种文字或单色图像,全屏能显示 1 个汉字,采用 1 块 88 点阵 LED 显示模块来组成 1 个88 点阵显示模式。显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。文中详细介绍了 LED 点阵

2、显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。关键词:AT89C51;LED;点阵显示;动态显示燕山大学里仁学院课程设计论文1目 录摘要第一章设计描述第二章 设计分析2.1 设计要求2.2 设计任务2.3 运行环境2.4 开发工具第三章硬件设计3.1 总体设计3.2 电源、单片机系统及其管脚3.3 点阵及其驱动部分3.4 硬件电路连线3.5 显示部分第四章软件设计4.1 显示驱动程序4.2 系统主程序第五章调试及性能分析总 结参考文献附录 c 语言程序代码燕山大学里仁学院课程设计论文2第一章 设计描述本设计主要是设计一个实用的 88 点阵屏的图文显示,要

3、求在目测条件下 LED 显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字稳定、清晰无串扰。图形或文字显示有静止和移入移出等显示方式。本文还重点介绍了单片机对 LED 点阵屏的控制电路,驱动电路的设计方法,并根据 LED 点阵屏的硬件特点, 对其软件实现的算法给出了具体的分析。从而实现了显示的字体能够进行自下向上移动。此次课设中显示的是“乐里仁” 。第二章 需求分析2.1 设计要求(1)设计一个能显示 88 点阵图文 LED 显示屏;(2)要求能显示图形或文字;2.2 设计任务(1)首先设计单片机系统及外围电路、列驱动电路和行驱动电路;(2)画出主模块的流程图;(3)编写代码;(4)程

4、序分析与调试。2.3 运行环境(1)WINDOWS 7 系统(2)wave 6000 编译环境(3)Proteus 7.5 仿真软件2.4 开发工具c 语言第三章 硬件设计3.1 总体设计从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的 LED 器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。在实燕山大学里仁学院课程设计论文3际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如 16 行)的同名列共用一套列驱动器。

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

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

7、情况下,留给行显示的时间就太少了,以至影响到 LED 的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述燕山大学里仁学院课程设计论文4分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图 3.1 为显示屏电路实现的结构框图。图 3.1 总体框架3.2 电

8、源、单片机系统及其管脚图 3.2 为电源部分。若电源为家用电源,则需经过降压,整流滤波,稳压等步骤得到一个稳定的 5V 电压,此电压可作为主电路的电压源。单 片 机列驱动器行驱动器8 X 8 LED 显示点阵电 源燕山大学里仁学院课程设计论文5图 3.2 电源部分常用的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式。本实验采用内部时钟方式,将 XTAL1 与 XTAL2 之间跨接一个石英晶振和电容,从而构成一个稳定的自激震荡器。电容值取 30pF 左右,其大小将影响震荡频率的高低、振荡器的稳定性和起振的快速性。为减少线间的寄生电容,晶振和电容应尽能安装得与单片机靠近,保证晶振稳

9、定可靠的工作。另一部分是复位部分。上电自动复位电路是最简单的复位电路,只需要一个 1K 左右电阻、一个 22pF 左右的电容及 12MHZ 的晶振。有时还需要按键手动复位,此时只要在电容上并联一个按键即可。燕山大学里仁学院课程设计论文6图 3.3 单片机管脚图3.3 点阵及其驱动部分点阵显示用的是动态扫描来实现的。在采用扫描方式显示时,由于每行要带动十六个二极管,每行电流较大。若每个二极管安 5mA 计算,十六个二极管就得 80mA 电流,超出单片机管脚的承受范围,因此每行都加有一个驱动器,本设计的行驱动用的是十六个 pnp 型三极管。三极管的发射极燕山大学里仁学院课程设计论文7接 5V 电压

10、,集电极接点阵的行线,而其基级本应接单片机,但该接线方式占用为了 16 个单片机管脚,为了节省单片机管脚,用了一片 74LS159 译码器,这样就只需要 4 个管脚了。各行的同名列共用一个列驱动,数据通常存储在单片机的存储器中,按 8 位一个字节的形式存放。由于列线过多,故多采用串行传输。由于每次要传输 16 位,而且数据要逐位输给驱动器,只有当一行中各列数据都已传输到位后,这一行的各列才能进行并行显示,耗时较长。为了满足以上要求,驱动选择 74HC373 锁存器。74HC373 是硅结构的 CMOS 器件,74HC373 是有 8 位移位锁存器和一个存储器,三态输出功能。 373 的输出端

11、O0O7 可直接与总线相连。当三态允许控制端 OE 为低电平时,O0O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。标准中等规模集成电路 。74159 说明:对 4 个输入信号进行译码,得到 16 个输出状态。 E1,E2 低电平有效,G1 高电平有效。A,B,C,D 为译码信号输出端,015 为译码输出端,

12、低电平有效,如图 3.4 所示。燕山大学里仁学院课程设计论文8图 3.4 74LS159 说明图74HC373 说明:Q0Q7: 八位并行输出端。D0D7:八位并行输入端。OE 为输出允许端:当 OE=“0”时,三态门打开;当 OE=“1”是,三态门关闭,输出呈高阻状态。锁存器 LE 由高变低时,输出端 8 位信息被锁存,直到 LE 端再次有效。当三态门使能信号 OE 为低电平时,三态门导通,允许 0007 输出,OE 为高电平时,此时锁存器 LE 为高电平是,输出 0007 状态与输入端 D007 相同;当 LE 发生负的跳变时,输入端 D0D7 数据锁入 0007。51 单片机的ALE 信

13、号可以直接与 74HC373 的 LE 连接,如图 3.5 所示。燕山大学里仁学院课程设计论文9图 3.5 74HC373 说明图如图 3.6 为点阵显示屏硬件原理图,硬件部分采用了 88 的点阵显示屏来构成 LED 显示屏。图 3.6 点阵及其驱动仿真3.4 硬件电路连线 1. 把“单片机系统”区域中的 P0.0P0.7 端口分别通过八个 100 欧电阻连接到“点阵模块”区域中的“L1L8”端口上;2. 把“单片机系统”区域中的 P2.0P2.7 端口通过 74HC573 和 10K电阻连接到“点阵模块”区域中的“S1S8”端口上。燕山大学里仁学院课程设计论文103.5 显示部分1. 8X8

14、点阵 LED 工作原理说明图 4 为 88 点阵 LED 外观及引脚图,其等效电路如图(2)所示,只要其对应的 X、Y 轴顺向偏压,即可使 LED 发亮。例如如果想使左上角 LED点亮,则 Y0=1,X0=0 即可。应用时限流电阻可以放在 X 轴或 Y 轴。第四章 软件设计本软件要求实现如下要求:汉字要稳定、明亮并且文字要以一定速度上升滚动显示。显示屏软件模块:初始化程序、主程序、多字滚动、显示程序、扫描程序。显示程序的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。软件设计中,显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动

15、程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成 LED 显示屏的扫描显示工作。显示驱动器程序由定时器 T0 中断程序实燕山大学里仁学院课程设计论文11现。系统应用程序完成系统环境设置(初始化) 、显示效果处理等工作,由主程序来实现。4.1 显示驱动程序显示驱动程序在进入中断后首先要对定时器 T0 重新赋初值,以保证显示屏刷新率的稳定,1/16 扫描显示屏的刷新率(帧频)计算公式如下:刷频率(帧频)=1/8T0 溢=1/8f/12(65536-t) 其中 f 位晶振频率,t 为定时器 T0 初值(工作在 16 位定时器模式) 。然后显示驱动程序查询当前燃亮的行号,从显示缓

16、存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图 4.1 显示驱动程序流程图4.2 系统主程序燕山大学里仁学院课程设计论文12本设计的系统软件能使系统 LED 显示屏各点亮度均匀、充足,可显示图形和文字。图形或文字显示有静止、移入移出等显示方式。系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约几秒;接着向上滚动显示“乐里仁”这几个汉字,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号