基于AVR单片机的LED点阵屏设计.doc
《基于AVR单片机的LED点阵屏设计.doc》由会员分享,可在线阅读,更多相关《基于AVR单片机的LED点阵屏设计.doc(42页珍藏版)》请在三一办公上搜索。
1、毕业设计题 目 基于AVR单片机 的LED点阵屏的设计 学 院 专 业 班 级 学 生 学 号 指导教师 二一二年 六 月 八 日摘 要 LED显示屏是一种由很多个发光二极管组成的点阵,通过控制半导体发光二极管的亮灭来显示内容的显示屏。LED显示屏分为数码显示屏、图文显示屏和视频显示屏,都是由LED矩阵块组成。目前由于LED显示屏造价昂贵,主要应用于比较高档的场所,主要集中在城市的繁华场所。本文介绍了一款以AVR单片机为控制器的LED点阵显示屏系统的设计。该系统可实现字母汉字的静态显示和动态滚动效果,并且可以通过外扩接口级连的方式来扩大显示屏幕的尺寸以达到增加显示内容的目的。系统采用PC机作为
2、上位机,上位机向单片机发送控制命令和上位机所存储的字模数据,AVR 单片机接收字模数据并处理PC机的控制命令,由显示驱动模块驱动一个1616分辨率的LED点阵显示屏的扫描显示。PC机与单片机之间的通信采用RS232C通信标准来实现。该系统只占用了单片机少量的I /O口和内存,为系统留下了功能扩展的空间。关键字:LED点阵显示屏,AVR单片机,595驱动,串口通信 ABSTRACT LED matrix display is a kind of display that is composed of a lot of semiconductor light emitting diodes usu
3、ally red light.emitting diodes which show character by the LED on and off. LED display is divided into Digital display, Graphic display and Video display, which is composed by LED matrix. Because of high price of the LED matrix , now it is mainly used in relatively luxury places. This paper introduc
4、es a design of the LED lattice display system base on MCU AVR .The system can display in both Chinese and English characters of the show and from top to bottom and move around the magic show. And can be cascaded to expand the screen size to achieve increased content purposes. The PC sends control co
5、mmands and displays code to microcontroller, AVR receives control commands from PC and shows the code, Driver module drives a 1616.resolution LED lattice LEDs panel display scan showed. Communication between PC and the microcontroller using RS.232C communications standards. In addition, the system w
6、ill take up only a small amount of the MCU I/O and memory,so that the system has functional space for expansion.Key words: LED matrix, AVR, 595 driver, UART 目 录摘 要IABSTRACTI第1章 绪论11.1 课题背景11.1.1 选题背景11.1.2 我国现状11.1.3 LED显示屏的市场前景1第2章 方案论证与选择22.1 系统硬件方案设计22.1.1 通信系统22.1.2 LED点阵显示屏32.1.3 LED点阵屏的驱动方式32.
7、1.4 硬件设计方案42.2 系统软件方案52.2.1 单片机编程语言52.2.2 系统软件编译器介绍62.2.3 上位机控制传输软件62.2.4 下载软件7第3章 系统硬件设计73.1 硬件系统的总体设计83.2 AVR单片机最小系统设计83.2.1 串口通信电路设计83.2.2 复位电路设计93.2.3 单片机的下载口103.2.4 AVR单片机的时钟电路113.2.5 AVR单片机最小系统113.3 LED点阵屏设计及驱动电路设计123.3.1 驱动电路设计133.3.2 行驱动电路设计133.3.3 列驱动电路设计153.4 LED点阵屏设计16第4章 系统软件设计184.1 主程序设
8、计184.2 显示程序设计194.2.1 显示驱动程序的设计194.2.2 点阵数据的获取194.2.3 串口通信程序的设计20第5章 系统制作与调试235.1 系统硬件部分的调试235.1.1 短路与虚焊检测235.1.2 上电测试235.1.3 串口调试245.2 系统软件调试方法245.3 系统软硬件调试及结果26结 论27参考文献28致 谢29附录1:系统PCB30附录2 系统运行样式31附录3:系统程序部分代码32第1章 绪论1.1 课题背景1.1.1 选题背景LED点阵显示屏是八十年代后期迅速风靡全球的新型信息显示媒体,显示屏由几万几十万个半导体发光二极管点阵像素均匀排列组成。利用
9、不同的制作材料可以制造不同发光颜色的LED像素点。目前应用最广泛的是红色、绿色、黄色。而蓝色和绿色LED显示屏的开发已经达到了实用阶段。LED显示屏可以显示变化的字母、数字、文字、图形图像,不仅可以用于室内装饰还可以用于室外环境,具有投影仪、电视墙、液晶显示屏都无法比拟的优点。在短短的十几来年中,LED显示屏就以其功耗小、亮度高、能够承受各种恶劣气候而得到了广泛的应用。LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高的发光密度、更高的发光均匀性、更高耐气候性、可靠性、全色化的方向发展。LED显示屏的应用涉及到社会经济的方方面面,主要应用的场合有:(1)车站的买票公告栏(2)广场的LED
10、电视直播(3)银行的交易信息及利率等信息的显示(4)商店超市的广告牌等等。1.1.2 我国现状 自LED显示屏诞生至今,我国在LED显示屏领域的研究,在国际上还是名列前茅的。目前各种形式的LED屏幕在我国都有生产,其中最流行的彩色LED显示屏做的很突出,这种显示屏主要用在广场跟街头的城市电视中。现在一些电脑的显示器也开始采用了LED显示技术,应该来说在这方面,我也没有落后于别的国家,联想研制的新型笔记本,很多采用了LED显示技术,突破了原来的LCD显示,这种笔记本电脑的显示屏亮度更高,功耗更低,可谓是理想的选择。相信在未来的中国将会有更多的电子产品采用LED显示技术。1.1.3 LED显示屏的
11、市场前景由于LED显示技术也是最新兴起的技术,目前LED显示技术的发展还是比较迅速,其中大多数用于商家的广告牌,晚上在城市的街道,到处可以看见LED显示屏的影子。LED显示技术是跟信息技术紧密相连的,信息技术的发展必定会带动LED显示技术的进步,在不久的将来,也将会出现更多的电子产品采用LED显示。可以将发光二极管做的更小,这样生产出来的LED显示屏的分辨率会更高。第2章 方案论证与选择2.1 系统硬件方案设计大多数的LED显示屏都在户外,所以对屏幕的材质硬件的质量要求非常的高。为方便检修和维护硬件电路设计,常常采用模块化的设计方法。硬件的设计采用模块化设计,既要满足模块本身功能要求又要能够和
12、整个系统兼容。如图2.1所示,根据显示系统的功能特点,从而确定系统硬件由控制部分,显示屏部分,通信系统及上位机四部分组成。上位机通过通信串口部分向主控芯片发送控制指令和显示内容字模数据,主控芯片执行显示指令,将需要显示内容的字模数据转换为二极管的亮灭,从而显示出内容。PC机LED显示屏 通信系统AVR单片机图2.1 系统硬件结构2.1.1 通信系统 通信部分的设计要满足要求就是稳定、快速、简单易实现。因为在通常情况下显示屏和上位机之间的传输距离不会很远,所以对通信距离的要求不是很高,采用RS232标准就可以。计算机通信的方式主要有并行通信和串行通信两种方式。 (1)并行通信 计算机并行通信时,
13、数据是一起发送的。一起发送的数据位数就是并行通信的宽度,这个宽度可以是一个字节也可以是一个字。并行传输的速度较快,因为可以一起传送很多的位数,但是并行传输的成本很高,故在远距离传输时,我们选用串行通信。(2)串行通信串行通信每次只可以发送一位数据,所有的数据信号都是在一条数据线上发送的,所以只需要很少几根线就可以进行,串行通信的速度低,但传送的距离长,因此串行通信适用于长距离而速度要求不是很严格的场合。在串行通信时,数据是一位一位按顺序进行的,而计算机内部的数据是并行进行处理的。因此,当计算机向外发送数据时,必须将计算机内部的并行数据转换为串行数据再发送。反之,当计算机接收数据时,又必须将串行
14、数据转换为并行数据进行处理。这种转换可以由硬件来实现也可以由软件实现。如果仅用软件实现又会增加CPU的负担,降低其利用率,故目前常通常采用硬件实现。通用异步接收/发送器,简称UART(Universal Asynchromous Receeiver/Trabsnitter)是完成这一功能的硬件电路。在AVR单片机芯片中,UART已经集成在单片机内,作为其组成部分,构成一个串口。 综上所述,在本系统中将采用UART来实现单片机与上位机之间的通信,由于串口已经集成在了单片机的内部,故只需设置相关寄存器就可以使用串口了。2.1.2 LED点阵显示屏显示部分有可以显示汉字的显示屏和对显示屏进行驱动的底
15、层硬件电路。由于单片机的I/O口有限且计算机IO口的驱动能力不是很强,故不能直接用单片机的I/O口来驱动LED显示屏,所以需要对单片机IO口进行扩展来增加单片机并行输出和驱动能力。LED显示屏是由一个一个的发光二极管组成的点阵构成的,要构成大尺寸的LED显示屏就需要很多的发光二极管。构成LED屏幕的方法有两种,一是由单个的发光二极管逐点连接起来构成的,如图2.2所示;二是选用一些由单个发光二极管构成的LED点阵单元模块来构成较大的LED点阵模块。目前市场上普遍采用的点阵单元模块有88、1616几种。这两种屏幕构成方法各有自己的优缺点,单个发光二极管构成显示屏优点是当某个发光二极管出现问题时只需
16、更换一个二极管便可以正常工作,检修的成本较低,缺点在于连接线路较为复杂;而点阵模块构成的方法却正好与之相反,采用点阵模块构成显示屏节约了大量的连线,但是一旦某个发光二极管出现问题时,与其同在一个模块的所有LED都必须被更换,这样就加大了维修的成本。两种方法相比较,本系统中采用模块点阵的方法,这样可以避免较为复杂的连线。为了避免点阵模块的缺点,在本系统中选用8x8LED点阵的基础单元模块,这样一段某个发光二极管出现问题,我们只需更换一个8x8的点阵模块,若选用16x16的单元模块,则更换的成本太高了。2.1.3 LED点阵屏的驱动方式 LED点阵的驱动方式有两种:恒流驱动方式和非恒流驱动方式。在
17、非恒流驱动方式中,可以将74HC595输出的数据直接接到点阵屏上,即用74HC595输出的电流来驱动显示屏,但有74HC595输出电流有限,不能驱动很多的发光二极管同时点亮,所以当一排点亮很多二极管时,会出现跟其他排亮度不一的现象。恒流驱动是将74HC164的输出接到三极管基极,三极管的发射极接到电源上,集电极接到LED显示屏幕上。图 2.2 LED点阵图一个1616的LED显示屏行和列各有16支引脚,我们不能直接用单片机来驱动显示屏,因为单片机的IO口驱动能力很弱,而且直接接到单片机上,会占用大量的IO口。在单片机驱动LED显示屏时,常采用IO口扩展的方式,在这里我们采用74HC595、74
18、HC164来进行IO 口扩展,这样只需要占用少量的IO口便可以驱动显示屏了。由于74HC595芯片输出的电流只有30mA,所以不能驱动很多的发光二极管同时发光,这样我们需要在每个芯片的输出端口加上功放电路,这样我们就可以同时点亮很多的发光二极管,这就是LED显示屏的恒流驱动。但是,采用恒流驱动的方式,对于电源的要求也相应的提高了,要求电源必须能够提供足够的电流,来驱动大量的发光二极管同时发光。2.1.4 硬件设计方案最终方案如图2.3所示,在这里,我们让PC机作为上位机,在PC机上运行串口调试助手,通过此软件来实现上位机与单片机之间的通信。在上位机中,存储着字模数据和控制数据显示的方式的控制指
19、令。首先上位机将字模数据发送到单片机内,单片机接受到字模数据,通过译码电路,将字模数据还原出来,利用这些01字符串来控制发光二极管的亮灭,从而在点阵屏幕上显示出内容。题目将以此涉及方案为指导展开具体的硬件电路设计。图2.3 硬件设计方案2.2 系统软件方案软件的设计除了满足系统的功能外,还必须满足容易读写,方便下载和编译的特点。在系统设计目标和硬件总体结构确定的情况下,系统程序可以由主程序,显示驱动程序和各种特效显示程序,串口通信程序三个主要部分组成。具体结构如图2.4所示。图2.4 软件功能结构框图程序的编写需要借助编辑编辑器和编译软件,本系统中采用ICCAVR这个集成开发环境来编写编译程序
20、,编译完成后还需要下载软件将编译生成的HEX文件下载到单片机中执行。编写程序之前首先选择一种合适的程序设计语言以及配套的编辑器和编译软件。最后还需要选择与所选单片机相适应的下载器和下载软件,来把程序执行生成的hex文件下载到单片机中。2.2.1 单片机编程语言在单片机开发领域所用的主流编程语言为汇编语言和C语言。两种语言相比较各有优点。汇编语言(Assembly Language)是面向特定机器的程序设计语言,是一种功能很强的程序设计语言,汇编语言是直接控制计算机的硬件来执行的,所以它对编程人员的要求好高,程序员要充分的了解所使用的单片机的硬件架构及组成特性。汇编语言具有执行速度快,占内存空间
21、少等优点,所以它一般用在对于时间空间要求比较严格的场合,在平时我们开发单片机程序时,一般都用不到。汇编语言对于机器的依赖性较强,在一种型号的单片机上编写的汇编程序不能移植到另一型号的单片机上,这就限制了它的应用。C语言是一种高级程序设计语言,C语言经过若干年的使用,可以证明其强大性,C语言最初是用来开发UNIX操作系统,在C语言在其编译效率、执行速度等方面显示出了强大的优越性,这就扩大了它的使用范围。C语言相比于其他程序设计语言,最大的特点是可以直接控制硬件,这是JAVA、C#等高级语言多没有的特性,它兼顾了高级语言的特点,又具有汇编语言的特点,其执行速率也是很快的。所以C语言成为了嵌入式开发
22、领域的主流语言。另外,C语言还是一种结构化语言,在C语言中最基本的单元就是函数,我们可以把功能接近的代码,放在一个函数中,这样我们的程序就成为了由一个个函数组成的整体,在主函数中我们可以调用相应的函数来实现某种功能,C语言的这种特点使其很容易调试、修改。在C语言中,有很多的库函数,如果在我们的程序中要实现某种功能,而这种功能在函数库中已经得以实现,那么我们就可以将这个函数库直接包含在我们的程序中,可以减少我们自己多要编写的代码量。综合比较了两种语言,在本系统设计中,我们采用C语言作为程序设计语言。2.2.2 系统软件编译器介绍用C语言编写好的程序不能直接被单片机所执行,要想让C语言控制单片机运
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AVR 单片机 LED 点阵 设计
链接地址:https://www.31ppt.com/p-4148104.html