《LED流水灯单片机的设计》由会员分享,可在线阅读,更多相关《LED流水灯单片机的设计(15页珍藏版)》请在金锄头文库上搜索。
1、江苏城市职业学院题目:LED 流水灯单片机的设计学生姓名: 许剑 学号 : 0724010156 班 级 : 07 机电 指导老师 :卞忠英 职称 讲师 学 校:江苏城市职业学院张家港办学点第一章 绪论.4 1.11.1 课题简介课题简介.4 1.2 设计目的.4 1.3 设计方法.4 第二章 设计概述.5 2.1 设计任务.5 2.2 设备器材.5 第三章 方案论证与比较.6 3.1 循环移位法.6LEDLED 流水灯单片机的设计流水灯单片机的设计许剑内容摘要内容摘要:发光二极管(LED),是一种把电能变成光能的特种器件,主要由 PN 结芯片、电极和光学系统构成。当系统受到外界激发后,会从稳
2、定的低能态跃迁到不稳定的高能态,当系统由不稳定的高能态重新回到稳定的低能态时,能量差以光的形式辐射出来,就会产生发光现象。当在 PN 结上加以正向电压之后,P 区的空穴注入至 N 区,N 区的电子注入至 P 区,相互注入的电子与空穴相遇后即产生复合,这些多数载流子在结的注入和复合中产生辐射而发光。它是自发辐射发光,不需要较高的注入电流产生粒子数反转分布,也不需要光学谐振腔,发射的是非相干光。LED 大约是在 80 年代中期开始在电子显示屏中使用的。进入 90 年代以后,由于半导体工业的迅猛发展,带动了 LED 制造材料和工艺的改进,在颜色与亮度方面都有了质的飞跃。早期的 LED 显示屏,由于受
3、材料和工艺的限制,视角仅有 200 一 300 左右,从而制约了 LED 显示屏的发展。在分辨率方而,由于受当时数字技术、集成电路技术和控制技术等技术的限制,很难作出高密度的 LED 显示屏。今后随着半导体工业的不断发展,无论是材料,还是加工工艺,都会不断地提高,LED 显示屏在颜色、视角、亮度、密度、寿命等方面也会逐步完善,价格也会进一步降低。关键词关键词; ; 发光二极管,电子显示屏,集成电路第一章第一章 绪论绪论1.11.1 课题课题简介简介当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑
4、所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。在工业生产中。单片微型计算机是微型计算机称单片机,特别适用于控制领域,故又称为微控制器。本系统就是充分利用了 8051 芯片的 I/O 引脚。系统以采用 MCS-51 系列单片机 Intel8051 为中心器件来设计 LED 流水灯系统,实现 8 个 LED 霓虹灯的左、右循环显示,并实现循环的速度
5、可调。1.2 设计目的通过本次课题设计,应用单片机原理及应用等所学相关知识及查阅资料,完成简易 LED 流水灯系统设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能力的目的。通过本次设计的训练,可以使我在基本思路和基本方法上对基于 MCS-51 单片机的嵌入式系统设计有一个比较感性的认识,并具备一定程度的设计能力。1.3 设计方法本课题使用 AT89C51 单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。如果要让接在 P1.0 口的 LED1 亮起来,那么只要把
6、 P1.0 口的电平变为低电平就可以了;相反,如果要接在 P1.0 口的 LED1 熄灭,就要把 P1.0 口的电平变为高电平;同理,接在 P1.1P1.7 口的其他 7 个 LED 的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管 LED1LED8 依次点亮、熄灭,8 只 LED 灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。在此基础上,增加外扩设备,利用 74LS373 和 8255 扩展成 24 个 LED 灯循环显示。 第二章
7、第二章 设计概述设计概述2.1 设计任务设计内容:利用汇编语言(或 C 语言) ,实现 8 个单色 LED 灯的左、右循环 显示,并实现循环的速度可调。 选用芯片: 8255 等 注注:由于实验室的没有提供 8255 芯片,所以改用单片机完成此实验,并且添加 了调节灯明暗的功能,以实现明暗可调。2.2 设备器材在本设计中,所用到的设备器材如下所示:(1)计算机一台;(2)唐都仪器实验箱一台;(3) AT89C52 单片机一片;(4)导线若干。第三章第三章 方案论证与比较方案论证与比较3.1 循环移位法在上个程序中我们是逐个控制 P1 端口的每个位来实现的,因此程序显得有点复杂,下面我们利用循环
8、移位指令,采用循环程序结构进行编程。我们在程序一开始就给 P1 口送一个数,这个数本身就让 P1.0 先低,其他位为高,然后延时一段时间,再让这个数据向高位移动,然后再输出至 P1 口,这样就实现“流水”效果啦。由于 8051 系列单片机的指令中只有对累加器 ACC 中数据左移或右移的指令,因此实际编程中我们应把需移动的数据先放到 ACC 中,让其移动,然后将 ACC 移动后的数据再转送到 P1 口,这样同样可以实现“流水”效果。具体编程如下所示,程序结构确实简单了很多。3.2 查表法上面的两个程序都是比较简单的流水灯程序, “流水”花样只能实现单一的“从左到右”流方式。运用查表法所编写的流水
9、灯程序,能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水灯效果。我们首先把要显示流水花样的数据建在一个以 TAB 为标号的数据表中,然后通过查表指令“MOVC A,A+DPTR”把数据取到累加器 A 中,然后再送到 P1 口进行显示。具体源程序如下,TAB 标号处的数据表可以根据实现效果的要求任意修改。2.3 位控法这是一种比较笨但又最易理解的方法,采用顺序程序结构,用位指令控制 P1 口的每一个位输出高低电平,从而来控制相应 LED 灯的亮灭。本次实验我们采用的是查表法和循环移位法,这两个方法要比位控法要复杂些,但是
10、程序要简略的多。第四章 硬件设计方案4.1 设计思路本课题需要用按钮开关实现流水灯的左右循环显示、调速、控制亮度的功能。可以选用五个开关来实现这些操作。单片机正在软件运行下通过不断扫描开关状态,来将相关操作对应量送入单片机的输入端口,然后判断属于哪一类操作。五个开关分别为 K1,K2,K3,K4,K5,分别控制流水灯的调向、加速、减速、变亮、变暗。在设计过程中,接开关的端口要全部保持高电平,当按下一个开关时,输入一个低电平,即为状态改变信号。不能同时有两个端口同为高电平。在设计中我主要负责了用云脉冲宽度调制(PWM)波控制 LED 灯的亮度环节,开始对 PWM 并不是很了解,通过请教同学和查阅
11、相关资料,渐渐明白了其中的原理。在主程序运行时通过中断方式调整其输出电压的占空比,从而改变灯泡的亮度。原理是这样的,主程序的始终频率和中断的始终频率并不相同,大约是中断的一千倍,LED 灯在移动时如果响应了中断,则在执行中断程序时,LED 灯近似看做没有移动,此时在中断程序中设计一个初值和一个上限,当计数到初值时置灯泡灭掉,在计数到上限之前小灯泡都是熄灭的,到达上限后回 0,并置灯泡为亮,继续计数,在到设定的初值时置小灯泡为灭掉。这样在主程序的一个周期内,中断程序将小灯泡置明置暗了近一千次,通过改变设定的初值可以改变小灯泡的亮度。4.2 硬件选择本实验选用 AT89C52 单片机、五个按键开关
12、和 8 个发光二极管。其中AT89C52 为控制核心,当 5 个开关的状态改变时,单片机检测到开关信号后就通过软件输出控制发光二极管。4.3 AT89C52 单片机介绍AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,功能强大的 AT89C52 单片机可为您提供许多较复杂系统控制应用场合。AT89C52 有 40 个引脚,32 个外部双向输入 /输出(I/O)端口,同时内含 2 个外中断口, 3 个 16 位可编程定时计数器 ,2 个全双工串行通信口, 2个读写口线。AT89C52 的内部结构图如下:引脚图如下:引脚功能说明:P0 口:P0