单片机技术课程设计彩灯控制器的设计.doc

上传人:仙人指路1688 文档编号:4147372 上传时间:2023-04-07 格式:DOC 页数:26 大小:301.50KB
返回 下载 相关 举报
单片机技术课程设计彩灯控制器的设计.doc_第1页
第1页 / 共26页
单片机技术课程设计彩灯控制器的设计.doc_第2页
第2页 / 共26页
单片机技术课程设计彩灯控制器的设计.doc_第3页
第3页 / 共26页
单片机技术课程设计彩灯控制器的设计.doc_第4页
第4页 / 共26页
单片机技术课程设计彩灯控制器的设计.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《单片机技术课程设计彩灯控制器的设计.doc》由会员分享,可在线阅读,更多相关《单片机技术课程设计彩灯控制器的设计.doc(26页珍藏版)》请在三一办公上搜索。

1、 电气信息学院单片机技术课程设计报告课题名称 彩灯控制器的设计 专业班级 09电气01班 学 号 0903120222 学生姓名 严 娟 指导教师 易 先 军 评 分 2012年6月12日至6月19日课程设计量化评分标准指标分值评分要素得分方案设计20方案选择合理,分析、设计正确,原理清楚,电路、程序流程图清晰,结构合理,程序简洁、正确。设计报告20报告结构严谨,逻辑严密,论述层次清晰,语言流畅,表达准确,重点突出,报告完全符合规范化要求,用计算机打印成文。调试与结果20过程清晰,调试方案设计合理,测试点选择适当,程序编写正确,调试步骤清楚。电路及程序运行结果正确,达到预期效果。工作态度20工

2、作量饱满程度,题目难度;工作态度,按时完成设计任务,是否独立完成等。答辩成绩20思路清晰;语言表达准确,概念清楚,论点正确;分析归纳合理,结论严谨;回答问题有理论根据,基本概念清楚。总 评 成 绩指导老师评语:答辩记录1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明: 解决方法:(2)问题说明: 解决方法:2、教师现场提的问题记录在此(不少于2个问题)。答:摘 要本文介绍了一种简易LED彩灯控制系统的软硬件设计过程,本方案以AT89C51单片机作为主控核心,按键控制电路、彩灯显示电路以及单片机最小系统等模块组成的核心主控制电路。利用软件编程烧录程序到单片机来实现对LED

3、彩灯进行控制,本系统亮灯模式多,用户根据操作提示可以随意变换想要的闪烁方式和控制彩灯的闪烁频率,还可以全自动运行。系统利用汇编语言开发,并在软硬件设计中分别使用了Proteus 、keilC51开发平台。本系统具有电路结构简单、易操作、硬件少、体积小、成本低、低能耗等优点,具有一定的实用和参考价值。关键词:单片机;LED彩灯;汇编语言;Proteus;keilC51;目录第1章设计任务1第2章 设计方案22.1设计方案22.2方案选择3第3章硬件设计43.1直流稳压电源电路43.2单片机最小系统43.3LED彩灯显示电路53.4按键控制电路6第4章软件设计84.1主程序设计84.2自动模式程序

4、设计94.3延时程序设计104.3中断子程序设计10第5章 仿真与性能分析115.1 系统仿真过程115.2 仿真结果与分析12第6章 设计小结15参考文献16附录1LED彩灯控制系统仿真电路图17附录2LED彩灯彩灯控制程序代码18第1章设计任务当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未见的速度被单片机智能控制系统所取代。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机

5、。LED彩灯由于其丰富的灯光色彩,低廉的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑物已经成为一种时尚。但目前市场上各式样的LED彩灯控制器大多数用全硬件电路实现,电路结构复杂、功能单一,这样一旦制作成品只能按照固定的模式闪亮,不能根据不同场合、不同时间段的需要来调节亮灯时间、模式、闪烁频率等动态参数。这种彩灯控制器结构往往有芯片过多、电路复杂、功率损耗大等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性,影响彩灯效果,因此有必要对现有的彩灯控制器进行改进。1. 基本要求(1) 用16盏以上的LED小灯,实现至少4种彩灯灯光效果(不含全部点亮,全部熄灭

6、;(2) 可以用输入按钮在几种灯光效果间切换;(3) 可以通过按钮暂停彩灯效果,使小灯全亮,再次按下相同按钮后继续之前的效果。2. 选做(1) 增加自动在几种效果间切换的功能,并设置一个按钮可以在自动模式和手动模式间切换。(2) 使用定时中断延时(3) 实现其他除15中提到的功能(创新部分)3. 设计提示(1) LED可以采用共阳极或共阴极接法直接接在并行口,也可以用8255扩展更多的小灯。(2) 多种效果可以放在不同的子程序空间中,主程序通过散转来访问不同的子程序段。(3) 暂停效果可用中断,或定时扫描实现。第2章 设计方案2.1设计方案彩灯控制器大致可分为两种方案实现。一种是利用电子电路装

7、置控制,另一种是采用单片机控制。方案一:根据设计任务要求介绍的彩灯控制电路的基本组成,可以确定彩灯控制器应由振荡电路、计数/时序分配电路、移位位寄存器和彩灯显示五部分组成。其框图如图1所示。振荡电路控制电路译码器LED显示电路计数器图1彩灯循环控制器硬件框图方案二:本方案主要是通过对基于单片机的多控制、多闪烁方式的LED彩灯循环系统的设计,来达到本设计的要求。其硬件构成框图如图2所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED发光二极管和5V直流电源电路组成。AT89C51单片机时钟电路复位电路按键控制电路直流5V电源电路供电信号LED彩灯图2单片机

8、彩灯循环控制系统硬件框图此设计方案中单片机的P1口接7路按键控制电路,实现彩灯花型的切换、自动与手动的切换及暂停功能;单片机的P3.7引脚接上一个按钮开关以实现对彩灯闪烁频率的控制,即实现了快慢两种节拍实现花型的变换;单片机上的P0和P2口接16路LED发光二极管组成彩灯电路,显示彩灯循环情况。2.2方案选择结合设计任务书比较以上两种方案可知:利用电子电路装置控制,其电路不很复杂,制作相对较容易点,成本也相对较低,但可调性差,亮灯模式少而且样式单调,达不到设计任务要求或实现困难。采用单片机控制其优点是电路集成度高,工作原理简单,清晰明了,自定义编程,控制的图案花样多,移植性好等。综上,显然方案

9、二各方面优越于方案一,以及为了体现专业优势,本次设计采用第二种方案。第3章硬件设计3.1直流稳压电源电路对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。电子设备除用电池供电外,还采用市电(交流电网)供电。通过变压、整流、滤波和稳压后,得到稳定的直流电。直流稳压电源是电子设备的重要组成部分!本项目直流稳压电源为+5V。如下图所示:直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。下图稳压电源采用的是三端集成稳压器7805构成的正5V直流电源。图3三端固定式集成稳压电源电路图AT89

10、C51单片机的工作电压范围:4.0V5.5V,所以通常给单片机外接5V直流电源。由于时间关系,此处用3节1.5V的干电池供电,在此不在赘述此稳压电源电路图原理。3.2单片机最小系统单片机最小系统是能够让单片机工作的最小硬件电路。除单片机外,一般单片机最小系统包括单片机的供电电路、时钟电路和复位电路等。单片机最小系统如下图4所示。时钟电路:为单片机工作提供基本时钟,因为单片机内部由大量的时序电路构成,没有时钟脉冲即“脉搏”的跳动,各个部分将无法工作。本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的

11、时钟电路。复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。电路如下图所示。图4单片机最小系统3.3LED彩灯显示电路LED彩灯显示电路(如图所示)实际上是由16个发光二极管和16个电阻构成的电路。发光二极管与电阻对应串联,然后接在与之相对应的P0和P2口上。P0口作为通用的I/O接口使用时,需外接10k欧姆的上拉电阻。通过软件编程对P0和P2口输出高低电平来实现不同的闪烁花型。由于发光二极管的导通电压一般为1.7V以上,另外,他的工作电流根据型号不同一般为1mA到30mA,电

12、阻选择范围100欧姆3千欧姆。在此我们这里选用300欧姆的电阻。在此次课程设计中,我设计了四种花型:花型1:D1-D2-D3-D4D14-D15-D16 - D1D5D9D13 - D1D2D5D6D9D10D13D14- D1D2D3D5D6D7D9D10D11D13D14D15-全亮-全灭;花型2:D1-D3-D5D13-D15-D16-D14-D12D4-D2-全亮-全灭-全亮-全灭;花型3:D1D9-D2D10-D3D11D7D15-D8D16-全灭- D1D2D3D4D9D10D11D12- D5D6D7D8D13D14D15D16-全灭;花型4:D1D16 -D2D3D14D15-

13、 D4D5D6D11D12D13-全亮-全灭- D8D9-D6D7D10D11- D3D4D5D12D13D14-全亮-全灭;图5LED彩灯显示电路3.4按键控制电路按键控制电路(如图6所示)是由7个按键开关构成的。K1K5接在P1.0P1.4,K6接到P3.7,K7接到P3.2引脚。K1K4实现一对一的控制LED灯的闪烁方式,K5实现自动到手动的切换,K6控制LED灯的闪烁频率,K7实现暂停功能。图6键盘控制电路当按下开关K1时, LED彩灯系统闪烁第1种彩灯花型;当按下开关K2时, LED彩灯系统闪烁第2种闪烁方式;当按下开关K3时, LED彩灯第3种方式闪烁;当按下开关K4时, LED彩

14、灯系统闪烁第4种花型;当按下开关K5时, LED彩灯系统按照方式1-方式2-方式3-方式4循环闪烁,且只要K5是接通的,手动按键K1- K4均不起作用。只有当K5弹起时,才能实现手动控制;当按下开关K6时, LED彩灯将改变闪烁频率;当按下开关K7时, LED彩灯系统将暂停运行,全部的灯都被点亮;K7弹起后,系统继续之前的运行状态。第4章软件设计单片机的应用系统由硬件和软件组成,上述硬件原理图搭建完成上电之后,我们还不能看到多控制、多闪烁方式的LED灯系统循环点亮的现象,我们还需要编写程序控制单片机管脚电平的高低变化,来控制发光二极管的亮灭。软件编程是多控制、多闪烁方式的LED灯系统中的一个重

15、要的组成部分,是本设计的重点和难点。下面,我将阐述多控制、多闪烁方式的LED灯系统是如何实现16个LED灯的循环点亮,来介绍实现流水灯控制的软件编程方法。本设计是以单片机AT89C51为核心控制16个发光二极管4种闪烁方式的变换。硬件电路如图附录1所示,16个发光二极管D1D16分别接在单片机的P0.0P0.7和P2.0P2.7接口上。当给P0.0口输出“0”时,发光二极管点亮,当输出“1”时,发光二极管熄灭。可以运用输出端口指令MOV P0,A或MOV P0,DATA,只要给累加器值或常数值,同理,其他15个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LE

16、D1LED16依次点亮、熄灭,16只LED灯便会一亮一暗的成流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到闪烁效果。4.1主程序设计主程序设计流程如图7所示。判断有无按键按下YN开始当K1-K5有键按下时返回主程序重复查询调用对应的子程序图7主程序流程图在系统的程序设计中,主控模块只负责根据消息调用相应模块的处理函数,具体如何处理这些消息由各功能模块中的对应程序决定。程序启动时跳转到键盘判断模块程序中,此程序里面包含K1K5的按键情况判断,循环检测直到有按键按下的时候,程序转去相对应按键的彩灯

17、显示的花型模块。对应的主程序代码如下:MAIN:SETB IT0 SETB EX0SETB EAMOV P1,#0FFHMOV A,P1AUTO:JB P1.4,S1LCALL K1S1:JB P1.0,S2LCALL K1S2:JB P1.1,S3LCALL K2S3:JB P1.2,S4LCALL K3S4:JB P1.3,MAINLCALL K4LJMP MAIN4.2自动模式程序设计要实现通过一个按钮在自动模式和手动模式间切换的功能,首先想到的便是调用各个按键子程序。但若不对程序进行适当的修改,按键按下后将一直调用第一个彩灯显示子程序,因而只能显示一种花型,无法实现自动循环显示四种花型

18、。因此,我对每个彩灯显示子程序中都作了一定的修改。对应的源代码如下:K1: JNB P1.4,K2 LJMP MAINK2: JNB P1.4,K3 LJMP MAINK3: JNB P1.4,K4 LJMP MAINK4: LJMP MAIN如此,当自动按键按下时,系统跳到子程序K1,显示完第一种花型后,只要按键还是按下的,系统便会跳到子程序K2,显示第二种花型以此类推,这样,便实现了自动模式与手动模式间的切换。4.3延时程序设计由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,在控制二极管亮灭的时候为了看到闪烁效果,应该延时一段时间。延时子程序代码:DELAY: JNB P3.7,D

19、E1 MOV R5,#5 LJMP DE2DE1: MOV R5,#10DE2 MOV R6,#200DE3: MOV R7,#126DE4: DJNZ R7,DE4 DJNZ R6,DE3 DJNZ R5,DE2 RET 本文除了实现基本的延时功能外,还有通过按键来选择不同的闪烁频率的功能。不接通K6时,P3.7为高电平,延时时间为0.5s,当K6按下时,P3.7变为低电平,延时时间为1s,实现了在不同闪烁频率间的切换。4.3中断子程序设计为了实现暂停功能,需利用单片机的外部中断实现。当有中断请求即K7按下时,系统跳入中断服务子程序。在中断服务子程序中,首先关中断,再将ACC和PSW的值压入

20、堆栈,实现现场保护,然后再进行中断处理,即点亮所有的LED彩灯。只要K7是接通的,彩灯就一直点亮,只有当取消中断请求时,系统才能跳转到原来的程序中继续运行。中断服务子程序代码:INT: CLR EA PUSH ACC PUSH PSW MOV A,R5 PUSH ACCLOOP: MOV P0,#00H MOV P2,#00H JB P3.2,LOOP1 SJMP LOOPLOOP1: MOV P0,#0FFH MOV P2,#0FFH POP ACC MOV R5,A POP PSW POP ACC SETB EA RETI第5章 仿真与性能分析5.1 系统仿真过程PROTEUS软件自带编辑

21、器,可以实现对汇编程序的编译,其操作步骤是: 新建源文件:点菜单SourceAdd/Remove source Files在出现的对话框中,选择ASEM51编辑器,新建.asm 源文件。 程序设计:点菜单Source.asm打开源文件编辑器,将将附录程序输入到文本中。 源程序编译:点菜单SourceBuild ALL编译汇编源程序,生成目标代码文件.HEX,若编译失败,可对程序进行修改调试直至编译成功。 目标代码加载:在PROTEUS编辑环境双击AT89C51,弹出如图8所示的对话框,在PROGRAM FILE一栏中单击打开按钮,选中.HEX文件。在CLOCK FREQUENCY栏中设置系统工

22、作频率为12MHZ,单击OK完成目标代码加载。 最后,点击运行按钮,启动系统仿真。图8 程序代码加载5.2 仿真结果与分析系统上电自动复位,彩灯全灭,K1接通后,彩灯首先依次点亮,然后再四种颜色各点亮1盏、2盏其结果如图9所示。K2接通后,序号为奇数的彩灯首先依次点亮,再反向点亮序号为偶数的彩灯,接着全部的彩灯闪烁两次。其仿真结果如图10所示。K3接通后,P0口和P2口分别顺次点亮彩灯,然后蓝色和绿色的彩灯全部点亮,再把红色和黄色的灯也全部点亮。其仿真结果如图11所示。K4接通后,P0口从最低位开始点亮1盏、2盏、3盏彩灯,P2口从最高位开始点亮1盏、2盏、3盏彩灯,然后彩灯全部点亮,再反过来

23、P0口从最高位开始点亮1盏、2盏、3盏彩灯,P,2口从最低位开始点亮1盏、2盏、3盏彩灯,最后全部点亮又全部熄灭。其仿真结果如图12所示。K5为自动与手动的切换按键,K5接通时,系统自动重复显示这四种花型。K6为切换延时时间的按键,K6接通时,彩灯闪烁变慢。K7为暂停按键,K7接通时,不管系统在何种状态运行,彩灯都会全部点亮,再次按下K7,系统跳转到原来的程序继续执行。 图9 K1仿真图 图10 K2仿真图 图11 K3仿真图 图12 K4仿真图 经过仿真分析,该系统能实现预先设置的所有功能,是一个成功的设计。第6章 设计小结本次课程设计以AT89C51单片机作为主控核心,按键控制电路、彩灯显

24、示电路以及单片机最小系统等模块组成的核心主控制电路,利用软件编程烧录程序到单片机来实现对LED节日彩灯的控制。通过软硬件的仿真调试,对彩灯控制器的运行成果感觉比较满意,它实现了要求达到的目标多控制、多闪烁方式的LED彩灯循环,并且用快慢两种节拍实现花型交换。本系统亮灯模式多,可根据操作提示随意变换想要的闪烁方式和控制彩灯的闪烁频率。同时本设计具有电路结构简单、易操作、硬件少、体积小、成本低、低能耗等优点,具有一定的实用和参考价值。然而,在本次课程设计中,我也发现了一些问题。如K1按下后,倘若再按下K2或K3、K4,系统都没有反应,依然执行K1子程序。原因在于主程序中已经设定了优先级,只要K1是

25、接通的,无论怎么改变K2、K3、K4的状态,系统都不会响应。因此要想实现特定的功能,必须保证这四个按键只有相对应的那个按键是接通的,否则有可能会出错。参考文献1 秦实宏,徐春辉.MCS-51单片机原理及应用M.武汉:华中科技大学出版社,2010.2 吴飞青,丁晓,李林功等.单片机原理与应用实践指导M.北京:机械工业出版社,2009.3 江世明.基于Proteus的单片机应用技术M.北京:电子工业出版社,2009.4 李响初,阙爱仁,李喜初等.实用电子控制线路200例M.北京:中国电力出版社,2009.附录1LED彩灯控制系统仿真电路图附录2LED彩灯彩灯控制程序代码 ORG 0000HLJMP

26、 MAINORG 0003HLJMP INTORG 0040HMAIN:SETB IT0 SETB EX0SETB EAMOV P1,#0FFHMOV A,P1AUTO:JB P1.4,S1LCALL K1S1:JB P1.0,S2LCALL K1S2:JB P1.1,S3LCALL K2S3:JB P1.2,S4LCALL K3S4:JB P1.3,MAINLCALL K4LJMP MAINK1:MOV R2,#08HMOV A,#0FEHA1:MOV P0,ALCALL DELAY RL ADJNZ R2,A1MOV P0,#0FFHMOV R2,#08HMOV A,#0FEHB1:MOV

27、 P2,ALCALL DELAYRL ADJNZ R2,B1MOV P2,#0FFHMOV P0,#0EEHMOV P2,#0EEHLCALL DELAYMOV P0,#0CCHMOV P2,#0CCHLCALL DELAY MOV P0,#88H MOV P2,#88HLCALL DELAYMOV P0,#00HMOV P2,#00HLCALL DELAYMOV P0,#0FFHMOV P2,#0FFHLCALL DELAYJNB P1.4,K2LJMP MAINK2: MOV R2,#04HMOV A,#0FEHA2:MOV P0,ALCALL DELAY RL A RL ADJNZ R2

28、,A2MOV P0,#0FFHMOV R2,#04HMOV A,#0FEHB2:MOV P2,ALCALL DELAY RL A RL ADJNZ R2,B2MOV R2,#04HMOV A,#7FHC2:MOV P2,ALCALL DELAY RR A RR ADJNZ R2,C2MOV P2,#0FFHMOV R2,#04HMOV A,#7FHD2:MOV P0,ALCALL DELAY RR A RR ADJNZ R2,D2MOV P0,#00HMOV P2,#00HLCALL DELAYMOV P0,#0FFHMOV P2,#0FFHLCALL DELAYMOV P0,#00HMOV

29、P2,#00HLCALL DELAYMOV P0,#0FFHMOV P2,#0FFHLCALL DELAYJNB P1.4,K3LJMP MAINK3:MOV R2,#08HMOV A,#0FEHA3:MOV P0,AMOV P2,ALCALL DELAY RL ADJNZ R2,A3MOV P0,#0FFHMOV P2,#0FFHLCALL DELAYMOV P0,#0F0HMOV P2,#0F0HLCALL DELAYMOV P0,#0FHMOV P2,#0FHLCALL DELAYMOV P0,#0FFHMOV P2,#0FFHLCALL DELAYJNB P1.4,K4LJMP MAI

30、NK4:MOV P0,#0FEHMOV P2,#7FHLCALL DELAYMOV P0,#0F9HMOV P2,#9FHLCALL DELAY MOV P0,#0C7H MOV P2,#0E3HLCALL DELAYMOV P0,#00HMOV P2,#00HLCALL DELAYMOV P0,#0FFHMOV P2,#0FFHLCALL DELAYMOV P0,#7FHMOV P2,#0FEHLCALL DELAYMOV P0,#9FHMOV P2,#0F9HLCALL DELAY MOV P0,#0E3H MOV P2,#0C7HLCALL DELAYMOV P0,#00HMOV P2,

31、#00HLCALL DELAYMOV P0,#0FFHMOV P2,#0FFHLJMP MAININT: CLR EA PUSH ACC PUSH PSW MOV A,R5 PUSH ACCLOOP: MOV P0,#00H MOV P2,#00H JB P3.2,LOOP1 SJMP LOOPLOOP1: MOV P0,#0FFHMOV P2,#0FFH POP ACC MOV R5,A POP PSW POP ACC SETB EA RETIDELAY: JNB P3.7,DE1 MOV R5,#5 LJMP DE2DE1: MOV R5,#10DE2: MOV R6,#200DE3: MOV R7,#126DE4: DJNZ R7,DE4 DJNZ R6,DE3 DJNZ R5,DE2 RET END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号