16×16 LED点阵设计-毕业设计.
- 格式:doc
- 大小:984.50 KB
- 文档页数:33
16x16LED点阵显示屏【摘要】本设计使用AT89C51系列高速单片机作为主控制模块,利用简单的外围电路来驱动16×16的点阵LED显示屏。
利用AT89C51系列高速单片机本身强大的功能,可以很方便的实现单片机与PC机间的数据传输及存储,并能利用软件方便的进行显示内容的多样变化,另一方面点阵显示屏广泛的应用于医院、机场、银行等公共场所,所以本设计具有很强的现实应用性。
本设计在绪论里主要介绍LED显示的发展背景,设计的目标及采取的方案,本设计的章节结构安排及使用的技术。
把显示原理及控制方式分析作为第二部分,在这部分里介绍了LED点阵模块结构、LED动态显示原理和LED常见的控制方式;第三部分是硬件电路的设计;主要对AT89C51芯片的具体介绍,驱动电路,74HC573、74LS377芯片,点阵式汉字LED 显示屏电路设计等一些硬件进行分析。
这一部分是本设计的重点。
第四部分是介绍字模生成。
第五部分是系统软件设计,主要是用汇编语言对图形汉字编程设计。
第六部分是系统功能测试。
第七部分是总结、致谢、参考文献。
【关键词】动态显示;单片机;点阵字库目录1LED概述 (5)1.1LED电子显示屏概述 (5)1.2LED电子显示屏分类 (5)2显示原理及控制方式分析 (5)2.1LE点阵模块结构 (5)2.2LED动态显示原理 (5)2.3LED常见的控制方式 (7)3硬件电路设计 (8)3.1系统硬件结构 (8)3.216x16LED点阵的显示制作 (10)3.2.116x16LED的内部结构及工作原理 (10)3.2.2用8x8LED构成16x16LED点阵 (11)3.3主控单片机的接口说明 (12)3.4LED显示驱动电路 (13)4字模生成 (14)4.1字模简介 (14)4.1.1LED显示屏领域字模实现技术 (14)4.1.2软件控制系统字模提取的分析与设计 (14)4.2字模存储技术 (14)4.3字库生成 (15)5软件设计 (15)5.1程序设计总体思路和结构 (15)5.1.1程序设计总体思路 (15)5.1.2程序流程图 (15)5.2各模块程序设计 (16)5.2.1系统初始化 (16)5.2.2LED动态显示 (16)5.2.3汉字显示的原理 (17)6系统功能测试 (18)6.1单元模块电路测试 (18)6.2系统整体功能测试 (18)总结 (19)致谢 (20)参考文献 (21)附录 (22)引言LED(Light Emitting Diode),发光二极管,简称LED,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。
一.课程设计意义二.课程设计任务书三、课程设计进度计划及检查情况记录表四、成绩评定与评语目录一.课程设计意义 (1)二.课程设计任务书 (2)三、课程设计进度计划及检查情况记录表 (3)四、成绩评定与评语 (3)一、总体设计方案 (5)1.1 总体设计 (5)1.2 硬件设计 (6)1.3 软件设计 (13)二、设计内容 (15)2.1 系统硬件原理图与仿真 (15)2.2 程序清单 (17)三.结论、建议及课程设计体会 (21)四.参考文献 (21)一、总体设计方案1.1 总体设计1.1.1 工作原根据功能要求,应采用动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式。
(1)熟悉AT89S51单片机系统的使用方法。
(2)掌握动态显示原理及实现方法。
(3)初步掌握AT89S51单片机编程方法。
(4)掌握串行数据传输方式的应用。
(5)实现利用AT89S51单片机控制的LED图文屏正常工作。
1.1.2 硬件部分总体设计根据功能要求,采用AT89C51单片机,动态显示的设计方法,同时为简化设计,减少硬件数量,显示数据的传输采用串行传输方式,列扫描地址用P1口控制,总体结构框图如下:图1-1 系统总体结构框图1.2 硬件设计系统的组成,硬件的选用,芯片的特点1.2.1 8051系列的单片机AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图片见下图:图 1-2 89C51管脚图(1).管脚说明VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
引言LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x 16的点阵LED图文显示屏,图形或文字显示有逐字显示、向上滚动、向左滚动等显示方式。
它的优点:亮度咼、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
第一章设计要求与方案论证1.1 设计要求设计一个16X 16点阵LED字符显示器,要求如下:显示器采用AT89S52单片机作控制器,12MHz晶振,16X16点阵共阳LED显示器。
16X 16点阵LED字符显示器能显示“电气自动化”五个文字。
显示方式可由S1、S2和S3选择,S1为逐字显示,S2为向上滚动显示,和S3为向左滚动显示。
1.2 系统基本方案的选择和论证1.2.1 核心电路的选择方案一:采用89C51单片机采用89C51作为硬件核心,内部具有4KB Flash ROM存储空间,能运用于3V 的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具有ISP 在线编程技术,当在对电路进行调试时,由于程序的过错修正或对程序的新增功能需要烧入程序时,对芯片的多次插拔会对芯片造成必定的损坏。
方案二:采用8051单片机:8051单片机最早由Intel公司推出,内部具有4KBROM存储空间。
其后多家公司购买了8051的内核,使得以8051为内核的MCI系列单片机在世界上产量最大,应用也最广泛。
单片机课程设计-- 16x16点阵LED电子显示屏的设计第一章系统总体方案设计LED驱动显示采用动态扫描方法, 动态扫描方式是逐行轮流点亮, 这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16×16点阵为例, 把所有同一行的发光管的阳极连在一起, 把所有同一列的发光管的阴极连在一起(共阳的接法), 先送出对应第1行发光管亮灭的数据并锁存, 然后选通第1行使其燃亮一定的时间, 然后熄灭;再送出第2行的数据并锁存, 然后选通第2行使其燃亮相同的时间, 然后熄灭;…第16行之后, 又重新燃亮第1行, 反复轮回。
当这样轮回的速度足够快(每秒24次以上), 由于人眼的视觉暂留现象, 就能看到显示屏上稳定的图形。
该方法能驱动较多的LED, 控制方式较灵活, 而且节省单片机的资源。
显示数据传输采用串行传输的方法, 控制电路可以只用一根信号线, 将列数据一位一位传往列驱动器, 在硬件方面无疑是十分经济的。
但串行传输过程较长, 数据按顺序一位一位地输出给列驱动器, 只有当一行的各列数据都已传输到位之后, 这一行的各列才能并行地进行显示。
对于串行传输方式来说, 列数据准备时间可能相当长, 在行扫描周期确定的情况下, 留给行显示的时间就太少了, 以致影响到LED的亮度。
采用串行传输中列数据准备和列数据显示的时间矛盾, 可以采用重叠处理的方法。
即在显示本行各列数据的同时, 传送下一行的列数据。
为了达到重叠处理的目的, 列数据的显示就需要有锁存功能。
对于列数据准备来说, 它应能实现串入并出的移位功能。
这样, 本行已准备好的数据打入并行锁存器进行显示时, 串行移位寄存器就可以准备下一行的列数据, 而不会影响本行的显示。
系统框图如图一图一点阵显示器硬件系统框图第二章系统硬件电路的设计硬件电路大致上可以分为单片机系统及外围电路、列驱动电路和行驱动电路三部分。
一. 单片机系统及外围电路单片机采用89C51或更高频率的晶振, 以获得较高的刷新频率, 使得显示更稳定。
16×16点阵LED电子显示屏的设计摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
本设计是1616××16点阵LED电子显示屏的设计。
整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个行驱动器74LS154和两个列驱动器74L373来驱动显示屏显示。
该电子显示屏可以显示各种文字或单色图像,采用4块8 x 8点阵LED显示模块来组成一个16x16点阵显示模式。
显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
关键词:AT89C51单片机 LED 点阵显示动态显示AbstractAs a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode).The LED dot-matrix display board can display the number or sign,and it is usually used to show time, speed, the state of system etc.This design is 1 16 ×16 lattice LED electron display monitor design.The whole equipment is with the 40-pin AT89C51 MCU (Micro Controller Unit) produced by the American ATMEL company at thecore, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. Controls good driver 74LS154 an two row driver 74L373 through thischip actuates the display monitor demonstration. The electronic screen can show all kinds of written or monochrome images, one full screen display Chinese characters, four pieces of 8 x 8 dot-matrix LEDdisplay modules to form the 16x16 dot matrix display mode. Show dynamic show that makes static graphic or text can be achieved, shifted out of various formats. This paper describes the of the LEDdot matrix display, and the principle function of the various parts ofthe circuit, the corresponding software program design and the use of some such. Key words: AT89C51 Micro Controller U nitUnit; LED; LatticeDisplay;Dynamic Display目录第1章绪论1.1 选题背景LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万……几十万个半导体发光二极管像素点均匀排列组成。
安阳师范学院本科学生毕业论文4个16X16点阵LED电子显示屏作者谭倩系(院)物理与电气工程学院专业电气工程及其自动化日期 2015.6.1学生诚信承诺书本人郑重承诺:所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
签名:谭倩日期: 2011-6-4论文使用授权说明本人完全了解安阳师范学院有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。
签名:谭倩导师签名:日期:2011-6-44个16X16点阵LED电子显示屏摘要:为设计4个16X16的LED显示屏,本文在详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等的基础上,研究了以40引脚单片机AT89C51为核心,设计控制一个行驱动器 74LS154和八个列驱动器74LS595来驱动16块8×8点阵LED显示模块来组成4个16×16点阵显示模式。
这里设计的电子显示屏可实现动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
关键词:AT89C51; LED;点阵显示;动态显示1 LED显示屏简介1.1 LED显示屏的发展及应用LED电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体。
LED显示屏的发展可分为以下几个阶段:第一阶段为1990年到1995年,主要是单色和16级双色图文屏。
用于显示文字和简单图片,主要用在车站、金融证券、银行、邮局等公共场所,作为公共信息显示工具。
西安航空职业技术学院毕业设计(论文)论文题目:16×16点阵LED电子显示屏的设计所属系部:指导老师:职称:学生姓名:班级、学号:专业:西安航空职业技术学院制2012年 12月 15日西安航空职业技术学院毕业设计(论文)任务书题目:16×16点阵LED电子显示屏的设计任务与要求:利用AT89C51单片机控制整个电路,设计16×16点阵LED电子显示屏,在目测条件下16×16点阵LED显示屏各点亮度均匀、充足,可以显示文字。
文字应稳定,清晰无串扰。
时间 2012 年 10 月 15 日至 2012 年 12 月 15 日共 8 周所属系部:电子工程系学生姓名:学号:专业:指导单位或教研室:指导教师:职称:西安航空职业技术学院制2012年 12 月 15日毕业设计(论文)进度计划表本表作评定学生平时成绩的依据之一。
16×16点阵LED电子显示屏【摘要】本设计是一16×16点阵LED电子显示屏的设计。
单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。
经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。
关键词:AT89C51单片机; LED;点阵显示;动态显示;汇编语言。
【Abstract】This design is a 16 ×16 lattice LED electron display monitor design. SCM process control system used for editing MCU assembly language, Programming control points indicated by the corresponding LED anode and overcast extreme level. We can effectively control the defense showed bright spots. LED display with fabric means flexibility, stability, low power consumption, long life, mature technology, low-cost features at the station, securities, sports venues, transportation corridors and various indoor / dissemination of information on foreign shows occasions, good publicity, real-time environmental parameters, etc. countdown major activities are widely used.As the practice proves, the system possesses advantages in low shows errors, stable, rational structure and strong extensible abilities.Key words: AT89C51 Micro Controller Unit;LED;Lattice display;Dynamic display; Assembly language.目录1引言 (7)1.1研究背景 (7)2系统整体设计方案 (9)2.1 需要实现的功能 (9)2.2 LED显示特点 (9)2.3 设计方案论证 (10)2.3.1显示模式方案 (10)2.3.2数据传输方案 (11)3系统硬件部分设计 (13)3.1单片机系统及外围电路 (13)3.1.1单片机的选择 (13)3.1.2 AT89C51单片机的主要特性 (14)3.1.3 引脚功能及管脚电压 (14)3.2列驱动电路 (16)3.3 行驱动电路 (18)3.3.1行驱动芯片74HC154 介绍 (18)3.3.2 行驱动电路 (20)3.4 LED显示屏电路 (21)4系统软件部分设计 (23)4.1 系统主程序 (23)4.2 显示驱动程序 (24)5调试及性能分析 (26)5.1软件调试 (26)5.2 性能分析 (26)结束语 (28)参考文献 (29)附录一 (30)附录二 (31)1引言单片机自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快。
16乘16点阵LED电子显示屏的设计概述本文将讨论16乘16点阵LED电子显示屏的设计。
这是一个可以显示图形和文字的电子屏幕,使用16列和16行LED灯来组成一个点阵,可以显示256个像素。
这样的屏幕可以广泛应用于科技展示、娱乐游戏和家庭电子设备等领域。
设计硬件LED灯基本的LED操作和驱动电路在这里不再赘述。
需要注意的是,对于16行LED 灯和16列LED灯,需要使用合适的电流控制电路并且保证它们可以受到足够的电流。
此外,将需要16个NPN晶体管来控制16列LED灯,和16个PNP晶体管来控制16行LED灯。
控制器在控制器的选择上推荐使用ATmega328p微控制器。
这个控制器也是Arduino Uno的基础。
软件代码结构代码文件应当按照以下结构进行组织:Libraries/SevSeg/SevSeg.hLedControl/LedControl.hLedControl.cppMAX7219.hMAX7219.cppSPI.hSPI.cpp16x16LEDMatrix/16x16LEDMatrix.inoREADME.md这里我们使用SevSeg和LedControl库。
打包由于ATmega328p微控制器的内存限制,将需要对代码进行压缩,以减小程序的尺寸,使它适合在所预算的存储设备中运行。
可以通过使用压缩工具完成这个任务。
推荐使用zip或tar。
结论在这篇文档中,我们讨论了16乘16点阵LED电子显示屏的设计。
我们详细介绍了硬件和软件方面的设计需求以及代码结构的组织。
通过对这些内容的了解,你可以开始创建你自己的16乘16点阵LED电子显示屏!。
毕业设计(论文)开题报告设计(论文)题基于FPGA的LED 16×16点阵汉字显示设计目一、选题的背景和意义:LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。
它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。
受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国 LED显示屏应用逐步增多。
目前,LED已经广泛应用在银行、火车站、广告、体育场馆之中。
而随着奥运会、世博会的临近,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。
因此,本设计是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。
并且采用编写灵活的VHDL语言编写主程序。
本设计可以方便的应用到各类广告宣传中。
二、课题研究的主要内容:1. 实现16×16点阵的汉字显示;2. 实现有限汉字显示;4. 实现汉字的滚动显示;5. 完成方案论证。
三、主要研究(设计)方法论述:通过去图书馆查阅书籍收集资料,同时在搜索引擎上检索资料,分析借鉴已有类似产品、设计方案与成功经验,选择几种可行方案比对,最后确定最切实可行的方案展开设计。
通过Multisim或Quartus软件对系统进行模拟仿真,对电路功能进行改进与完善。
在EDA试验箱上进行调试。
四、设计(论文)进度安排:时间(迄止日期)工作内容2010.5.17-5.23理解并确认毕业设计任务书,撰写完成毕业设计开题报告(第1周)2010.5.24-5.30完成调研与资料收集、整理(第2周)2010.5.31-6.6设计方案及原理框图确定(第3周)2010.6.7-7.4电路资料收集,单元电路设计(第4、5、6、7周)2010.7.5-7.18电路仿真与改进、完善(第8、9周)2010.19-8.1资料整理(第10、11周)2010..8.2-8.8书写毕业设计报告(第12周)2010.8.9-8.16(第13周)修改毕业设计报告并整理装订五、指导教师意见:指导教师签名:年月日六、系部意见:系主任签名:年月日目录摘要ABSTRACT第一章前言 (1)1.1本设计的研究背景和研究目的 (1)1.2LED点阵显示特点 (2)1.3FPGA设计的特点 (2)第二章系统设计 (4)2.1设计任务与要求 (4)2.1.1设计任务 (4)2.1.2设计要求 (4)2.2设计原理 (4)2.2.1总体设计方案 (4)2.2.2方案的比较 (5)2.3扫描控制模块 (6)2.3.1 LED的显示原理 (6)2.3.2汉字的存储 (7)2.4汉字显示 (7)2.4.1列循环扫描 (8)2.4.2字符样式设计 (10)2.4.3字母循环扫描及期间的延时环节 (14)2.5整个完整的程序 (15)第三章系统调试与仿真 (22)3.1开发环境介绍 (22)3.2调试与仿真 (22)3.2.1 创建工程 (22)3.2.2 编译前设置 (23)3.2.3 全程编译 (25)3.2.4时序仿真 (26)第四章结束语 (29)答谢辞 (29)参考文献 (29)摘要主要研究基于VHDL的 Led点阵汉字滚动显示。
16*16点阵设计摘要单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。
单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。
在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。
所以研究LED显示有实用的意义。
LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。
LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。
这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。
LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
现代LED的发展很快,很多研究领域非常已经深刻,所以想利用自己学的单片机知识简单的研究一下用单片机驱动的LED显示汉字,以达到学以致用和实践相结合的目的,同时巩固加深自己的单片机知识。
用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。
因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。
点阵大小可以有16×16、24×24、32×32、48×48等不同规格,也有单色、双色、和多色几种,最常用的是单色图文屏。
单色屏多使用红色或橘红色或橙色LED点阵单元。
双色图文屏和多色图文屏,在LED点阵的每一个“点”上布置有两个或多个不同颜色的LED发光器件。
换句话说,对应于每种颜色都有自己的显示矩阵。
显示的时候,各颜色的显示点阵是分开控制的。
事先设计好各种颜色的显示数据,显示时分别送到各自的显示点阵,即可实现预期效果。
邢台职业技术学校Xingtai Polytechnic Institute 毕业设计(论文)题目16×16点阵LED电子显示屏的设计班级应电081姓名杨艳德指导教师唐俊英16×16点阵LED电子显示屏的设计目录摘要 (3)关键词 (3)前言 (4)1.背景介绍 (5)1.1 LED及LED显示屏 (5)1.2 MCS-51系列单片机简介 (6)1.2.1 MCS-51系列单片机及其特点 (6)1.2.2 单片机的发展历史简介 (6)3.功能要求 (7)4.方案实现 (7)4.1 系统硬件电路的设计 (8)4.1.1单片机系统及外围电路 (9)4.1.2列驱动电路 (9)4.2.系统程序的设计 (11)4.2.1显示驱动程序 (11)4.2.2系统主程序 (12)5性能分析 (19)5.1 性能分析 (19)总结 (20)摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
关键词:MCS-51;LED;单片机前言LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x16的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。
LED显示屏分为数码显示屏、图文显示屏和视频显示屏,均由LED矩阵块组成。
LED数码显示屏的显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。
基于单片机16*16的点阵显示院系:机电工程学院专业(班级):电子信息工程2班姓名:林帅帅学号:015指导教师:叶圣职称:讲师完成日期:2013年12月18日目录1 引言 (1)2 设计的任务与要求 (3)3硬件电路设计 (4)整体设计方案 (4)元器件描述 (5)STC89c52单片机 (5)74hc595寄放器的概述 (7)16*16点阵显示屏幕 (8)点阵显示模块 (9)89c52应用系统部份电路 (10)晶体振电路原理和概述 (10)上电复位电路 (11)I/O口和扩展锁存器操纵点阵显示 (12)4系统软件设计 (12)软件设计描述 (13)16*16点阵显示程序 (13)5调试和性能分析 (14)总结 (14)参考文献 (14)附录A 总电路图 (15)附录B 实物图 (16)基于单片机的16*16点阵显示1 引言现代信息产业的高速进展,在咱们周围LED显示屏作为现代信息化社会的一个闪亮标志。
其普遍的应用在室内外需要进行效劳的地址,世人皆知在咱们生活的领域如电信,邮政大厅,营业部,车站,机场,口岸,运动场所等信息的发布,政府政策的发布,各类市场行情信息的发布和宣传等。
信息广告在蓬勃进展的市场经济中起着愈来愈重要的作用。
随着技术的不断进步,新产品层出不穷,市场竞争越来猛烈,广告的重要性也就加倍引发企业的关注。
一个成功的企业隔离不开成功的广告,而成功的广告离不开成功的广告技术和发布手腕。
因此,广告的新颖性,广告的创意引发高层人士的高度重视。
在以前电子技术还不发达的时候,咱们通常见到的是通过写大字报基挂横幅等来打广告,但那样很不方便,比如要改换内容那么要整个都要换掉,而且到了晚上就看不清,超级麻烦。
因此在现代信息技术发达的社会,仅仅如此确信是没有竞争力的,而汉字显示屏的显现,不仅能够随时更改内容,而且到了晚上也专门的夺目,操作也超级的简便,本钱低,从而很全有有效性,给人们带来了许多的用途与方便,基于PC 机操纵的LED点阵式显示屏的进展技术也超级的快,不仅点阵数高,同时能够显示铁汉字或图形,而且清楚度超级高。
毕业设计姓名:专业:班级:电子信息工程系印制二○○九年十一月宝鸡职业技术学院毕业设计任务书姓名:专业:班级:设计课题:LED点阵广告屏设计电子信息工程系印制二○一一年九月毕业设计题目: LED点阵广告屏设计毕业设计目的:本课题是一个典型的单片机应用系统,设计内容包括硬件和软件两部分。
选择并完成该课题,可以使同学们从总体上进一步理解和掌握单片机应用技术,为工作后进行产品开发和维修打下应有的基础。
毕业设计任务:本课题要求完成以下功能:1、基于THKSCM-2型单片机综合开发实验实训装置上的硬件资源,自行设计软件并调试完成该课题。
要求滚动显示“系别、班级、姓名”等汉字信息。
2、依据THKSCM-2型单片机综合开发实验实训装置上的硬件资源,设计并画出系统硬件电路图。
3、自行设计程序,要求作详细注释,并调试通过。
4、要求学会从PC机上提取汉字字库的方法。
*5、查找实用LED点阵广告屏设计方案的相关资料。
毕业设计主要技术数据:1、单片机选用AT89C51,LED选用16×16点阵模块。
2、点阵扫描频率建议选为f≥100HZ。
毕业设计工作量要求:论文正文至少应包括方案论证、硬件电路图、源程序、结论及建议等部分。
字数不少于5000字。
毕业设计进度计划:第一周:下达设计任务,认真分析选题要完成的任务及其技术指标,然后向指导教师汇报自己的理解,指导教师指出学生理解中存在的问题。
教师应鼓励学生提出新的想法,对合理意见给予肯定,并重新修改功能和技术指标。
第二周:查阅、收集资料,根据修改后的功能和技术指标,选择并确定总体方案,写出方案论证报告。
及时和指导教师交流,征求指导教师意见并加以修改。
第三周:根据方案论证报告,设计硬件系统。
完成硬件电路设计,画出硬件电路图。
征求指导教师意见并加以修改。
第四周:根据方案论证报告,在硬件系统的基础上设计软件系统。
画出软件流程图,完成关键部分的软件设计。
征求指导教师意见并加以修改。
嵌入式系统原理课程设计目录一、课程设计的目的: ............................................ 错误!未定义书签。
二、课程设计的任务 (1)三:课程设计实验原理及步骤 (1)3.1系统硬件总体设计 (2)3.2系统的软件设计 (5)四、调试 (6)五、课程设计代码 (7)六、总结 (11)七、人员分配 (11)一、课程设计的目的:通过本次课程设计实践,熟悉和掌握嵌入式系统的软件、硬件设计方法,设计步骤,提高综合应用所学知识及动手和分析问题,解决问题的能力;同时还应达到以下目的:1、了解点阵LED显示的基本工作原理和工作过程;2、熟悉cortex-M3的GPIO使用及其相关API函数;3、熟悉混合总线通信编程方法及通信格式;4、学习HD7279键盘、显示接口芯片的工作方式及应用编程;5、学习16*16LED点阵显示汉字的控制方法及应用编程。
二、课程设计的任务:设计一个波形发生器电路,通过键盘的按键,控制产生不同的波形输出;1、采用DA转换器进行数/模转换,产生连续的正弦波和锯齿波输出。
2、通过键盘的按键控制输出的波形;如:按一下一个键,输出正弦波;再按一下另一个键,输出锯齿波,如此循环。
3、使用cortex-M3的SSI模块,通过SPI模式,控制DA转换器完成转换。
提示:1)、用LM3S9B96的SSI模块,通过SPI模式,控制DA转换器完成转换。
2)、由TLV5616DA转换器芯片,实现正弦波和锯齿波输出。
3)、由HD7929键盘、显示接口芯片,进行键盘按键值的输入。
三:课程设计实验原理及步骤3.1系统硬件部分设计系统硬件部分电路大致上可以分成电源电路、单片机最小系统电路及外围电路、列扫描电路、行扫描电路和LED显示屏电路五部分。
3.1.1整体模块设计本设计行、列驱动电路,显示屏电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如下图2.1所示:图2.1 系统结构设计总图总体硬件电路设计在整个电路设计中,用两片8位输出锁存移位寄存器74HC595作为列扫描,用两片74LS164芯片作为行扫描,用单片机AT89S52对74HC595和74HC164进行控制和驱动。
课程设计课程名称嵌入式系统课程设计课题名称16X16的点阵显示设计专业班级学号姓名指导老师2016年12月20日电气信息学院课程设计任务书课题名称16×16的点阵显示设计姓名专业班级学号指导老师课程设计时间2016年12月18日-2016年12月30日〔17、18周〕教研室意见意见:同意审核人:X望军一、任务与要求CPLD为复杂可编程逻辑器件,通过EDA技术对其进行编程,可将一个较复杂的数字系统集成于一个芯片中,制成专用集成电路芯片,并可随时在系统修改其逻辑功能.并最终完成电路的编程调试.具体要求如下:用一个16×16的点阵使用逐列循环扫描的方式不间断的显示你##的全部大写拼音字母.二、进度安排第一周:周一:集中布置课程设计相关事宜.周二~周三:子模块程序设计,顶层电路程序设计.周四~周日:子模块,顶层电路仿真.第二周:周一~周三:编程下载,系统调试.周四~周五:设计报告撰写.周五进行答辩和设计结果检查.三、参考资料1. X 原编著,可编程逻辑器件设计与应用,机械工业.2.荀殿栋,徐志军编著,数字电路设计实用手册,电子工业.3. X洪喜,陆颖编著. VHDL电路设计实用教程清华大学.目录1.总体设计思路与功能设计11.1.基本原理11.2.总体设计框图21.3.顶层文件设计22.单元电路设计32.1列循环扫描模块3.2.2字符样式设计模块32.3循环扫描与延时模块42.4整个程序53.系统调试与仿真93.1 开发环境介绍93.2.1 创建工程93.2.2 编译前设计93.2.3 全程编译113.2.4时序仿真124.下载调试135.心得体会146.参考文献14一、总体设计思路1.1基本原理LED 就是Light Emitting Diode〔发光二极管〕的缩写.在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能.PN结加反向电压,少数载流子难以注入,故不发光.这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED.LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕.16×16扫描LED点阵的工作原理同8位扫描数码管类似.它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯,所以其扫描译码地址需4位信号线〔SEL0-SEL3〕,其汉字扫描码由16位段地址〔0-15〕输入. 通过时钟的每列扫描显示完整汉字.点阵LED一般采用扫描式显示,实际运用分为三种方式:〔1〕点扫描〔2〕行扫描〔3〕列扫描若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可.若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求.此外一次驱动一列或一行〔8颗LED〕时需外加驱动电路提高电流,否则LED亮度会不足.实验箱上为我们提供了16*16的点阵显示模块.通过观察,我们可以看到,此点阵显示屏即为16行、16列的LED显示灯.那么控制这些灯的亮暗分布,就能达到字符显示的目的.首先输出预定义"吕、苏、田、口〞四个汉字,显示屏上的灯的亮暗情况具体应如何.如第一个汉字吕:00000000000000000000000000000000000000000111110000000000010001000000000001111100000000000000000000000000000000000000000000000000如果高电平‘1’时表示灯是亮的,低电平‘0’时灯是暗的,这样上面的灯呈现在我们眼前的就是吕字了.依次类推,我们就可以设计出所有要显示的汉字了.这样这些汉字就好象是被我们当作了固定模型了.但如何点亮这些灯呢,这就要求有一个脉冲循环扫描的电路,我们采用列扫描,当扫描的和我们先设计好的汉字模型的高电平相匹配时,灯就相应的点亮.由于扫描的速度很快,我们人的眼睛并不会感到灯的闪烁,所以每扫描完16列就会显示在我们眼中一个汉字了.但要所有的汉字就可以依次的显示出来并不停的循环显示,就还要再有一个时序控制电路来控制.此时序控制电路象一个计数器,有自动清零的功能,这样就可以实现循环的效果了.1.2设计框图图1.2 总体设计框图1.3顶层文件设计图1.3顶层文件设计 时序控制 扫描控制显示控制 译码输出二、单元电路设计2.1列循环扫描通过对每一列的扫描来完成对字母的现实,只要扫描的频率足够快,就能给人以连续的感觉.因此要控制扫描的频率,不能太低,否则,就会造成视觉上的不连续,输入一个时钟信号,输出为4位二进制〔用sel表示〕列选信号,用来选中列,进行扫描,扫描程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;Entity dz_xs isPort<enable,clk:in std_logic; --端口定义输入信号Sel:out std_logic_vector<3 downto 0>>; --端口定义输出信号End dz_xs;Architecture count of dz_xs isSignal lie:std_logic_vector<3 downto 0>;BeginProcess<clk,enable> --脉冲、使能信号beginIf clk'event and clk='1'thenIf enable='1' thenIf lie>"0000" thenLie<=lie-"0001";ElseLie<="1111";End if;End if;End if;Sel<=lie;End process;2.2字符样式设计本环节是建立一个数据库,使之能在扫描的同时读取所需要的信息,从而完成汉字的显示.本次设计"吕、苏、田、口〞汉字样式设计程序如下:Library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;Entity dz_xs isPort<enable,clk:in std_logic; --端口定义输入信号h0,h8:out std_logic_vector<7 downto 0>>; --端口定义输出信号〔h0-列数据输出,h8-代表行数据输出〕End dz_xs;Architecture count of dz_xs isSignal lie:std_logic_vector<3 downto 0>; --信号标志Signal past1:std_logic_vector<1 downto 0>;BeginProcess<enable,clk> --脉冲、使能信号BeginIf clk'event and clk='1'thenIf enable='1' thenCase lie isWhen "00"=>Case lie is --"吕〞字设计When "0011"=>h0<="00000000";h8<="01111110";When "0101"=>h0<="01000010";h8<="01000010"; When "0110"=>h0<="01000010";h8<="01000010"; When "0111"=>h0<="01000010";h8<="01000010"; When "1000"=>h0<="01000010";h8<="01000010"; When "1001"=>h0<="01000010";h8<="01000010"; When "1010"=>h0<="01000010";h8<="01000010"; When "1011"=>h0<="01000010";h8<="01000010"; When "1100"=>h0<="01111110";h8<="01000010"; When "1101"=>h0<="00000000";h8<="01111110"; When others=>h0<="00000000";h8<="00000000"; End case;When "01"=>Case lie is --"苏〞字设计When "0011"=>h0<="00100000";h8<="00000000"; When "0100"=>h0<="00100000";h8<="00000000"; When "0101"=>h0<="00100000";h8<="10001100"; When "0110"=>h0<="01110000";h8<="10000000"; When "0111"=>h0<="00101000";h8<="10000000"; When "1000"=>h0<="00100011";h8<="11111100"; When "1001"=>h0<="00100000";h8<="10000000"; When "1010"=>h0<="00101000";h8<="10001100"; When "1011"=>h0<="01110000";h8<="10000110"; When "1100"=>h0<="00100000";h8<="11111110"; When "1101"=>h0<="00100000";h8<="00001100";End case;When "10"=>Case lie is --"田〞字设计When"0100"=>h0<="00011111";h8<="11110000"; When"0101"=>h0<="00010001";h8<="00010000"; When"0110"=>h0<="00010001";h8<="00010000"; When"0111"=>h0<="00010001";h8<="00010000"; When"1000"=>h0<="00011111";h8<="11110000"; When"1001"=>h0<="00010001";h8<="00010000"; When"1010"=>h0<="00010001";h8<="00010000"; When"1011"=>h0<="00010001";h8<="00010000"; When"1100"=>h0<="00011111";h8<="11110000"; When others=>h0<="00000000";h8<="00000000"; End case;When "11"=>Case lie is --"口〞字设计When"0101"=>h0<="00011111";h8<="11100000"; When"0110"=>h0<="00010000";h8<="00100000"; When"0111"=>h0<="00010000";h8<="00100000"; When"1000"=>h0<="00010000";h8<="00100000"; When"1001"=>h0<="00010000";h8<="00100000"; When"1010"=>h0<="00010000";h8<="00100000"; When"1011"=>h0<="00011111";h8<="11100000"; When others=>h0<="00000000";h8<="00000000";End case;End if;End if;End process;2.3循环扫描与期间的延时环节为使汉字不断地循环显示,并且使每个汉字之间有停顿,就需要在中间加一定的延时和循环环节.在这一环节中,可以通过修改其数值来控制每个字母的显示时间,其程序如下:process<clk>variable int: integer range 0 to 10000;beginif clk’event and clk=’1’thenif int<10000 thenint:=int+1;elseint:=0;if next1=〞11〞thennext1<=〞00〞;elsenext1<= next1+’1’;end if;end if;end if;end process;2.4总程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity yz_ok isport<enable,clk:in std_logic;sel:out std_logic_vector<3 downto 0>; h0,h8:out std_logic_vector<7 downto 0>>;end yz_ok;architecture count of yz_ok issignal lie:std_logic_vector<3 downto 0>;signal next1: std_logic_vector<1 downto 0>;begina1:process<clk,enable>beginIf clk'event and clk='1'thenIf enable='1' thenIf lie>"0000" thenLie<=lie-"0001";ElseLie<="1111";End if;End if;End if;Sel<=lie;End process;a2:process<enable,clk>beginIf clk'event and clk='1'thenIf enable='1' thenCase next1 isWhen "00"=>Case lie isWhen "0011"=>h0<="00000000";h8<="01111110"; When "0100"=>h0<="01111110";h8<="01000010"; When "0101"=>h0<="01000010";h8<="01000010"; When "0110"=>h0<="01000010";h8<="01000010"; When "0111"=>h0<="01000010";h8<="01000010"; When "1000"=>h0<="01000010";h8<="01000010"; When "1001"=>h0<="01000010";h8<="01000010"; When "1010"=>h0<="01000010";h8<="01000010"; When "1011"=>h0<="01000010";h8<="01000010"; When "1100"=>h0<="01111110";h8<="01000010"; When "1101"=>h0<="00000000";h8<="01111110"; When others=>h0<="00000000";h8<="00000000"; End case;When "01"=>Case lie isWhen "0011"=>h0<="00100000";h8<="00000000"; When "0100"=>h0<="00100000";h8<="00000000"; When "0101"=>h0<="00100000";h8<="10001100";When "0111"=>h0<="00101000";h8<="10000000"; When "1000"=>h0<="00100011";h8<="11111100"; When "1001"=>h0<="00100000";h8<="10000000"; When "1010"=>h0<="00101000";h8<="10001100"; When "1011"=>h0<="01110000";h8<="10000110"; When "1100"=>h0<="00100000";h8<="11111110"; When "1101"=>h0<="00100000";h8<="00001100"; When others=>h0<="00000000";h8<="00000000"; End case;When "10"=>Case lie isWhen"0100"=>h0<="00011111";h8<="11110000"; When"0101"=>h0<="00010001";h8<="00010000"; When"0110"=>h0<="00010001";h8<="00010000"; When"0111"=>h0<="00010001";h8<="00010000"; When"1000"=>h0<="00011111";h8<="11110000"; When"1001"=>h0<="00010001";h8<="00010000"; When"1010"=>h0<="00010001";h8<="00010000"; When"1011"=>h0<="00010001";h8<="00010000"; When"1100"=>h0<="00011111";h8<="11110000"; When others=>h0<="00000000";h8<="00000000";End case;When "11"=>Case lie isWhen"0110"=>h0<="00010000";h8<="00100000"; When"0111"=>h0<="00010000";h8<="00100000"; When"1000"=>h0<="00010000";h8<="00100000"; When"1001"=>h0<="00010000";h8<="00100000"; When"1010"=>h0<="00010000";h8<="00100000"; When"1011"=>h0<="00011111";h8<="11100000"; When others=>h0<="00000000";h8<="00000000";End case;When others=>h0<="00000000";h8<="00000000";End case;End if;End if;End process;a3:process<clk>variable int: integer range 0 to 10000;beginif clk'event and clk='1'thenif int<10000 thenint:=int+1;elseint:=0;if next1="11"thennext1<="00";elsenext1<= next1+'1';end if;end if;end if;end process;end count;第三章系统调试与仿真3.1开发环境介绍Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、Veril-ogHDL 以与AHDL〔Altera Hardware Description Language〕等多种设计输入形式,内嵌自有的综合器以与仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程.Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度.对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA 工具.此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统〔SOPC〕开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台.3.2调试与仿真3.2.1 创建工程在Quartus II 中新建一个VHDL File文件,将VHDL代码输入这个文件,并保存到工作目录,名为yz_ok.vhd.利用new preject wizard 工具创建一个工程,工程名为yz_ok,顶层文件实体名为yz_ok,并将上面创建的yz_ok.vhd文件加入到工程中.3.2.2 编译前设置〔1〕选择目标芯片.用assignmemts- settings命令,弹出settings对话框,选择目标芯片为EP1C3T144C8.图3-1 选择目标器件〔2〕选择工作方式,编程方式,与闲置引脚状态单击上图中的device&pin options按钮,弹出device&pin options窗口. 在General项中选中auto-restart configuration after error,使对FPGA的配置失败后能自动重新配置,并加入JTAG用户编码.图3-2 选择配置器件工作方式在configuration项中,其下方的Generate compressed bitstreams处打勾,这样就能产生用于EPCS的POF压缩配置文件.在Configuration 选项页,选择配置器件为EPCS1,其配置模式选择为active serial.图3-3选择编程方式在Unused pins项,将目标器件闲置引脚状态设置高阻态,即选择As input,tri-stated.图3-4 设置闲置引脚状态3.2.3 全程编译设置好前面的内容之后,就可以进行编译了.选择Processing菜单中start compilation,在窗口的下方processing栏中显示编译信息.图3-5 全程编译成功完成完成后在工程管理窗口左是角显示了工程yz_ok 的层次结构和其中结构模块耗用的逻辑宏单元数.此栏的右边是编译处理流程,包括数据网表建立、逻辑综合、适配、配置文件装配和时序分析等.3.2.4时序仿真〔1〕新建一个矢量波形文件,同时打开波形编辑器.设置仿真时间为50us,保存波形文件为yz_ok.vwf.〔2〕将工程yz_ok的端口信号名选入波形编辑器中,所选的端口有clk,enable 与总线h0和h8.设置clk的时钟周期为2us,占空比为50%.图3-6 选择仿真控制仿真器参数设置.选择菜单Assignment中的Settings,在Settings窗口下选择Simulator,在右侧的simulation mode项下选择timing,即选择时序仿真,并选择仿真激励文件名yz_ok.vwf.选择simulation options栏,确认选定simulation coverage reporting; 毛刺检测Glitch detection 为1ns 宽度;选中Run simulation until all vector stimuli 全程仿真.现在所有设置进行完毕,在菜单processing项下选择start simulation,直到出现simulation was successful,仿真结束 .仿真文件simulation report 通常会自动弹出,否则选择processing simulation report .图3-7 仿真波形输出四、下载调试选择tools菜单中programmer,点击左上角的Hardware Setup,选择USB,点击start即可连接硬件,进行调试 .连接成功后,即可在实验箱中LED屏循环显示字母.如下图汉字的显示:图4-1调试结果图图4-2调试结果图五、心得体会为期两周的嵌入式课程设计完成了.整过设计过程虽然不是很顺利.不过我认真对待老师给我们的课题,中间虽然也有不少挫折,但不经历挫折怎么见风雨,在我四处查看资料,请教同学下终于完成.经过这两周的课程设计,我加深了对PLD的认识,学到了很多以前不知道的东西,也明白也PLD在现实生活中的重要应用和它的发展趋势.以前在书本上学到的东西总是不能够很好地运用到现实当中去,现在终于得到了改善,这让我感到非常的高兴.从这次实习中,我体会到,如果将我们在大学里所学的知识与更多的实践结合在一起,用实践来检验真理,使一个本科生具备较强的处理基本实务的能力与比较系统的专业知识,这才是我们学习与实习的真正目的.让我们不再是一个沉睡的孩子,让我们的无知渐渐远去,把我们所学的知识运用到实际中去,为社会出上我们的一份力.感谢老师给的这次让我们自行设计的机会,通过这次设计通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力.在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固.总的来说,这次设计的16×16点阵显示控制还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心.最后,对给过我帮助的所有同学和指导老师再次表示忠心的感谢.六、参考文献1. X原编著,可编程逻辑器件设计与应用,机械工业.2.荀殿栋,徐志军编著,数字电路设计实用手册,电子工业.3. X洪喜,陆颖编著. VHDL电路设计实用教程,清华大学.电气信息学院课程设计评分标准。
机器人创新设计课程设计报告书题目:16×16点阵LED电子显示屏的设计:津学号:1613010320专业:国际经济与贸易指导老师:于大泳设计时间:2017年3月管理学院目录1. 引言 (3)1.1 设计意义 (3)1.2 系统功能要求 (3)2. 方案设计 (4)3. 硬件设计 (5)4. 软件设计 (8)5. 系统调试 (9)6. 设计总结 (11)7. 附录A.:源程序 (11)8. 附录B.:作品实物照片 (16)9. 参考文献 (17)16×16点阵LED电子显示屏的设计1.引言1.1 设计意义目前广告牌具有显示容丰富、信息量大、信息更换速度快等特点。
因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。
而利用PC 机通信技术控制LED显示屏,则具有显示容丰富,信息更换灵活等优点。
1.2 系统功能要求本设计是一16×16点阵LED电子显示屏的设计。
整机以40脚单片机AT89C51为核心,通过该芯片控制列驱动器74HC595来驱动显示屏显示。
该电子显示屏可以显示各种文字或单色图像,全屏能显示1个汉字。
显示可以采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
开关控制显示“矿大电气五班”、“电子综合设计”的字幕。
同时还要实现的功能:5V的电压输入,时钟电路的设置,复位电路的设置,单片机给74HC154芯片同时给E1和E2低电平,74LS154才能正常的工作。
例如如果想使左上角LED点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X轴或Y,16*16LED点阵如图1.2.1所示。
图1.2.12.方案设计16X16点阵LED 工作原理说明 : 16X16点阵共需要256个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
毕业设计说明书课题名称: 16乘16点阵显示电路的电路原理图及pcb绘制学生姓名徐珊专业光电子技术班级光电1101班时间 2013。
10—2014。
4指导教师黄焰16乘16点阵显示电路的原理图及PCB绘制内容提要本设计是一16×16点阵LED电子显示屏的设计。
整机以单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个行驱动器 74LS168和两个列驱动器74LS164来驱动显示屏显示.采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。
单片机控制系统程序采用单片机以C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭.所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。
论文着重介绍点阵显示的制作过程,即元器件的制作,单个封装,原理图的绘制以及PCB版布线的过程关键词:AT89C51单片机; LED; 点阵显示;原理图;PCB板。
目录摘要……………………………………………………………………I引言 (III)第一章点阵显示屏的概述 (4)1.1 原理图结构的介绍 (4)1.2 各模块论证 (4)1.3硬件电路设计 (5)1.3 所需元器件 (5)第二章Protel99se简介 (6)2。
1 Protel99se的发展与演变 (6)2。
2 Protel99se的特点......................................................6第三章电路原理图的设计与绘制 (7)3.1 电路原理图设计步骤 (7)3.2元器件的封装 (8)3.3填写各器件的封装 (11)3。
4 画出原理图..................................................................113.5 网络表的生成 (12)3。
编号毕业设计(论文)题目基于单片机的16×16LED点阵显示屏设计二级学院电子信息与自动化学院专业测控技术与仪器班级测控一班学生姓名丁徽徽学号 ***********指导教师米曾真职称副教授时间 2015年6月6日目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 单片机的发展阶段 (1)1.2 单片机的发展趋势 (1)1.3 单片机的特点 (3)1.4 LED简介 (4)1.5 LED的特点 (5)第二章功能要求及方案论证 (6)2.1 功能要求 (6)2.2 显示模块方案论证 (6)第三章系统电路的硬件设计 (9)3.1 设计框图 (9)3.2 单片机的选择 (9)3.3 AT89C51芯片简介 (10)3.4 系统硬件电路的设计 (13)第四章系统的程序设计 (22)4.1程序的编写过程 (22)4.2 程序设计流程图 (24)第五章软件调试及硬件制作 (25)5.1 软件调试及仿真 (25)5.2 硬件制作 (28)结束语 (29)致谢 (30)附录 (37)附录A:16*16点阵显示屏设计程序 (37)附录B:proteus ISIS 软件仿真图 (48)附录C:供电以后16*16点阵实物效果图 (49)附录D:元器件清单列表 (50)摘要本设计是基于单片机AT89C51为核心的由4个8×8的点阵显示屏形成的16×16点阵显示屏设计。
系统的介绍了由AT89C51为控制系统的点阵显示屏动态设计过程。
通过该芯片AT89C51控制一个行驱动器4-16线74HC154译码器和两个列驱动器74HC595级联成串行输入并行输出的移位寄存器来驱动显示屏,该显示屏能显示汉子、字符和图形等。
通过按键控制汉字的滚动切换,能实现汉字的移入移出滚动显示。
文中介绍了led点阵显示屏的设计思路,软件程序编写的过程、调试仿真以及硬件电路的各个部分电路的功能原理等。
单片机控制的系统程序采用的是C语言编写,通过行驱动电路和列驱动电路控制相应led阳极和阴极的电平,就可以有效的控led的亮和灭,所显示的点阵数据可以软件PCtolCD2002标准字库中提取代码。
16×16 LED点阵设计学生:指导教师:内容摘要:LED点阵电子显示屏的发展越来越好广泛,它成为一个宣传信息的重要平台,已经得到了社会的普遍认同。
LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。
该设计是一个16×16LED点阵电子显示屏显示数字的设计。
整块电子显示屏的控制核心是40引脚的单片机AT89S51,说明了LED点阵电子显示屏用AT89S51为控制系统的动态的设计和开发的具体过程。
通过该芯片控制两个列驱动器74HC595来驱动显示屏显示,本设计就是使用4块8×8点阵显示模块来组成16×16点阵显示屏,采用动态扫描显示,程序编写的实现是使用简单流通性强的C语言,该设计的结果证明,系统显示清晰,结构合理,误差小,扩展能力强,性能稳定。
关键词:AT89S51 LED点阵数字显示Design of 16*16 LED dot matrixAbstract:LED electronic display found the screen better and better.It has become an important platform of a promotional information,it has been widely accepted by the society,LED dot matrix display is the use of plane composition LED lattice module or pixel unit display screen ,It has the advantages of high light efficiency ,long.The designed is a digital design of a 16*16 LED dot matrix display ,control the core piece of electronic display is the 40 pin of the microcontroller AT89S51.Describes the specific process of the design and development of LED dot matrix display with AT89S51 as the control system dynamic.Through the control two columns drive chip 74HC595 are needed to drive the display shows that this design is to use 4 pieces of 8 x 8 dot matrix display module to form a 16 * 16 dot matrix display screen, a dynamic scans showed that the realization of the programming is simple to use strong liquidity of C language, and the design results show that the system shows clear, reasonable structure, little error and extension ability strong, stable performance.Keywords: AT89C51 dot matrix LED the digital display screen目录前言 (1)1 设计方案的论证与选择 (1)2 硬件电路设计 (3)2.1 系统的结构框图 (3)2.1.1 单片机控制模块 (3)2.1.2 时钟电路 (4)2.1.3 复位电路 (4)2.1.4 显示模块 (5)2.1.5 驱动模块 (7)2.2 单片机的最小系统图 (9)3 单片机系统 (10)3.1 8051引脚为40个的单片机芯片 (11)3.1.1 引脚为Vcc和Vss 的主电源 (11)3.1.2 外接晶体引脚XTAL1和XTAL2 (11)3.2 I/O口线的引脚排列及管脚的说明 (11)3.3 RST键 (13)3.4 PEROM阵列和锁定位 (13)4 系统软件设计 (13)4.1 主程序的设计及流程图 (13)4.2 显示程序的设计 (14)5 硬件的制作与调试 (15)5.1 系统的组装 (15)5.2 程序的调试 (16)6 结束语 (17)附录 (18)附录1:程序清单 (18)附录2:仿真结果图 (22)附录3:Protel原理图 (23)附录4:4个8*8LED组成的显示屏 (24)附录5:PCB图 (25)参考文献 (26)16×16 LED点阵电子显示屏的设计前言LED点阵电子显示屏的制作简单,并且便于安装,被广泛的应用于各个公共场合,但是LED 电子显示屏也只能用于单一的图像数字汉字的显示,如果要改变显示的内容,必须要在上位机上进行实现。
该设计用LED矩阵的排列来实现两位数字的显示功能。
该设计是一个16×16的LED点阵的数字显示屏。
当今社会LED灯随处可见,它使我们的生活变的五彩缤纷。
LED灯有白光、红光、黄光、绿光、蓝光、紫光等多种颜色,所以它是许多广告设计着的必要品。
我们已经学习了单片机及相关的课程,可以利用单片机来控制LED,以达到我们所需要的显示效果。
通过16x16点阵显示屏的设计,我们能更好的掌握单片机工作原理,把理论知识与实践结合起来,达到学以致用的目的。
通过这次的课程设计,能更好的提高我们的动手能力与解决实际问题的能力,我们现在的单片机的学习知识最基本的单片机知识,我们想要更好的掌握它,还需要我们自己主动地更深入了解它,这次的课程设计是一个很好的深入学习的平台,并能帮助我们掌握16X16LED点阵的工作原理。
1 设计方案的论证与选择从理论上来说,不管是显示的是文字还是图像,我们只要控制了各个组成文字或者是图像的对应的LED点的发光器件,我们就能得到想要显示的图像或者文字,这种控制方法就是静态驱动显示方式。
该方式显示的程序相对而言是比较简单的,并且所显示的亮度大。
但是这种方式的缺点是所使用的I/O口的线比较多,并且硬件的成本比较高。
另外,还有一种叫动态扫描显示,它是指采用分时的方法,轮流交替的控制各个显示器的公共端,让各个显示器轮流被点亮,这种方式来扫描驱动电路就可以实现多行的同名列共用的列驱动器。
这个设计是16*16的点阵的设计,如果我们采用静态驱动显示方式,其LED发光二极管灯共有256个,而显然单片机没有那么多的端口,如果我们考虑利用锁存器开扩展端口,按照8位的来计算,那么这个设计需要258/8=32个锁存器。
就光是16*16的点阵就需要32个,那实际的生活中需要的更多,该造价的成本也就相对的要高出许多,这样不利于商业的盈利目的。
而如果我们采用动态扫描显示,我们将所有同一行的二极管的阳极并联起来,把同一列的二极管的阴极并联起来,即共阳极的接法,然后我们先将控制第一行发光二极管发光的数据送出并且利用锁存器锁存起来,再将使第一行的灯点亮的一定时间选通,再熄灭;再将使第二行的发光管点亮的数据输送出来并锁存起来,同样将使第二行的灯点亮的一定时间选通,再熄灭;以此下去,直到第十六行之后,第一行的灯又重新点亮,就这样反复的轮回。
由于人类的视觉存在着短暂的停留的现象,所以只要轮回的速度达到每秒24次以上的高速,人们看到的就会是16行同时进行,就会看到一个完整的图像或者文字。
对于LED灯的接法常见的有两种,一种是共阴极的(左),另一种是共阳极的(右),该设计实验采用的是共阳极的接法,下图给出了这两种接法的内部电路原理及相对应的管脚图。
图1-1 共阴极与共阳极接法的内部电路原理图在采用扫描的方式进行显示时,每一行使用一个行驱动器,每行的同名列之间共用一个列驱动器。
显示所需的数据一般在单片机的存储器里存储,并且是按照8位一个字节的形式顺序排放。
显示图像时需要把一行中的各个列的数据都传送到其相对应的驱动上去,这就存在着数据传输的问题。
利用控制电路到列驱动器传输数据时,可以采用串行方式或者并行方式,但是,使用并行传输方式时,从控制电路到列驱动电路所需的电路线太多,所需的硬件数目也就增多,如果当列数很多是,也不利于实际的设计,也不经济,所以并行传输方式方案是不可取的。
使用串行的传输方式,控制电路就只用一根短路线,就能将列数据依次传输到驱动器里,但是由于只有一根传输导线,所以导致列数据传输的时间可能过长,即数据准备所需时间过长,在确定了行扫描周期的情况下,其在导线中的传输时间过长,行显示的时间就缩短了,这样就会影响到LED的亮度,这种方法虽然在硬件方面更为经济,但是也没能满足我们的需求。
要解决串行传输方式中的数据准备时间过长和显示的时间不足的矛盾问题,我们可以采用重叠处理的方法。
即在显示本行的各个列数据的同时,也将下一行各个列数据传输。
为了达到所需的重叠处理的目的,就需要将列数据的显示数据锁存起来,这样经过上述分析,我们可知对于列数据准备来说,它就能实现串入并出的一位功能,而对于列数据显示来说,应该具有并行锁存的功能。
这样,已准备好的本行的数据传入并行锁存器进行显示的同时,准下一行的列数据就可以在串并移位寄存器中准备,而本行的显示也不会受到影响,这样就能达到我们所设计的目的。
2硬件电路设计2.1 系统的结构框图该课程设计采用了AT89S51单片机为核心的芯片的电路来实现,它的组成部分为AT89S51芯片、电源、复位电路、时钟电路、行驱动器、列驱动器、4个8*8LED的点阵。
图2.1-1 系统结构图2.1.1 单片机控制模块AT89S51单片机是一种所占字节为4K的FLASH存储器的低电压、高性能CMOS的8位的微型处理器,该器件密度高、非易失性存储,兼容标准MCS-51 指令系统,在片内使用了8位的中央处理器和Flash存储单元,AT89S51单片机的功能强大,可以提供共性价比的应用场合,所以可以灵活的应用于各种控制领域,并且价格比较经济,方便编程,性能稳定。
2.1.2 时钟电路该电路的脉冲信号是采用普通的晶体时钟源提供的,而构成了内部的振荡的方式,该晶体能够使芯片的使用尽可能的减少,节约成本。
单片机的时钟信号通常用内部振荡方式和外部振荡方式这两种电路形式得到。
内部振荡方式的振荡器的构成是在XTAL1和XTAL2这两个引脚外接石英晶体。