单片机应用技术课程设计报告-流水灯.doc_第1页
单片机应用技术课程设计报告-流水灯.doc_第2页
单片机应用技术课程设计报告-流水灯.doc_第3页
单片机应用技术课程设计报告-流水灯.doc_第4页
单片机应用技术课程设计报告-流水灯.doc_第5页
免费预览已结束,剩余19页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计题 目流水灯院 系机电工程系专业班级机电0911姓 名学 号指导教师成 绩2011年 12 月20 日引言 随着人们对房屋的装饰需要彩灯,在许多城市可以看到彩色霓虹灯。led彩灯由于其丰富的灯光色彩,便宜的造价以及控制简单等特点而得到了广泛的应用,用彩灯来装饰街道和城市建筑 物已经成为一种时尚。但目前市场上各式样的led彩灯控制器大多数用全硬件电路实现,电路结构复杂、电路复杂、功率损小等缺点。此外从功能效果上看,亮灯模式少而且样式单调,缺乏用户可操作性。 本方案提出了一种基于8051单片机的彩灯控制方案,实现对led彩灯的控制。本方案以8051单片机作为主控核心,在主控模块上设有1个按键和8个码led显示灯,根据需要可以编写若干种亮灯模式,利用其内部定时器t1实现一个基本单位时间为1 ms的定时中断,根据各种亮灯时间的不同需要,在不同时刻输出灯亮或灯灭的控制信号,然后驱动各种颜色的灯亮或灭。与普通led彩灯相比,具有体积小、价格低、低能耗等优点。目录一、总体设计 1 1、本课程设计的目的及意义 2 2、已知情况 3、控制要求 4、设计要求 二、硬件设计 1、主控模块设计三、软件设计 1、keil软件简介 2、 keil的使用及编程四、仿真设计 、1、proteu软件简介2、仿真原理图五、固化程序 六、独立运行 七、尚存在的问题及方案建议八、课程设计总结九、致谢十、参考文献一 总体设计l 本课程设计的目的及意义 (1)在学习了单片机应用技术(c语言版)课程后,为了加深对理论知识的理解,学习理论知识在实际中的运用,培养动手能力和解决实际问题的经验让学生接触最基本的单片机最小应用系统。熟悉keil软件编程和proteu软件仿真。 (2)通过实验提高对单片机的认识; (3)通过实验提高焊接、布局、电路检查能力; (4)通过实验提高软件调试能力; (5)进一步熟悉和掌握单片机的结构及工作原理。 (6)通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。 (7)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 (8)通过完成一个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。l 已知情况 (1)p1口接8个led灯,单片机为最小应用系统。(2)p2口接一个开关和一个蜂鸣器。l 控制要求(1)通电后从上到下8个led灯以0.5秒的间隔依次点亮。(2)按下开关蜂鸣器响,同时8个led灯从中间以0.5秒的时间间隔向两边点亮。l 设计要求根据实际应用的需要,本次设计要达到如下设计要求:(1)要求本次设计的控制装置采用单片机技术实现;(2)要能完全满足控制要求;(3)可采用软件延时也可采用定时器延时,要求写出0.5秒时间计算过程;(4)画出本次设计最小应用系统电气原理示意图。(5)画出程序流程图并写出相应程序。二 硬件设计l led彩灯系统led彩灯控制器(8051主控模块)led彩灯管在8051外部接一个震荡时钟频率。用8051的控制模块,具有按键、音乐等功能,并利用8051的p2口输出控制信号,利用p1口的8个输出端上面焊有8个led彩灯,使得彩灯在软件的控制下工作。 l 主控模块电路设计 主控模块主要设计器件有80c51,8个 led显示器,1个开关按键,1个蜂鸣器,一个三极管,1个稳压器(5 v电压),1个外部晶振震荡器信号输出驱动,8个电阻。通过软件设计,使单片机p2口作为开关控制信号,8051的p1口为led的输出口。 三 软件设计led彩灯控制器最大特点在于所有亮灯模式均由软件控制完成。系统中软件可以分为主程序和中断服务子程序。以按键为中断服务子程序。以及确定在各种亮灯内点亮和熄灭各种状态led灯等。程序是通过按按键的的方式实现彩灯的变换情况。通电后8个led灯从上到下一次点亮,按下按键后,蜂鸣器响,彩灯黄忠方式点亮,即8个led灯从中间以0.5秒的时间间隔向两边点亮。l keil软件简介keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部分组合在一起。运行keil软件需要win98、nt、win2000、winxp等操作系统。如果你使用c语言编程,那么keil几乎就是你的不二之选,即使不使用c语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。l keil的使用及编程(1)首先启动keil c51软件的集成开发环境。从桌面上双击vision图标以启动该软件。(2)建立工程软件。通常单片机应用系统软件包含多个源程序,keil c51使用工程这一概念,将这些参数设置和所需的所有文件都加在一个工程中。因此需要建立一个工程文件,并为这个工程选择cpu,确编译、汇编、链接的参数,指定调试 的方式。(3)建立并添加源文件。(源文件名后面必须加扩展名“.c”)。(4)配置工程属性。打开target1,设定参数。(5)程序调试。单机“debug”后再单击“startstop debug session”即进入程序调试状态。l 8个彩灯控制系统的源程序如下四 仿真设计l proteu软件简介 roteus软件是英国labcenter electronics公司出版的eda工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即将增加cortex和dsp系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持iar、keil和mplab等多种编译器。 proteus软件具有其它eda工具软件(例:multisim)的功能。这些功能是: 1原理布图 2pcb自动或人工布线 3spice电路仿真 革命性的特点 1互动的电路仿真 用户甚至可以实时采用诸如ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。 2仿真处理器及其外围电路 可以仿真51系列、avr、pic、arm、等常用主流单片机。还可以直接在基于原理图的虚拟原型 上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,proteus建立了完备的电子设计开发环境。2系统功能 led彩灯用软件控制硬件的方式来是彩灯闪烁,即彩灯控制器和管内led板模块)。彩灯采用8051提供+5v电压工作,经过开关电源变换,输出直流工作电压,一方面为管内led模块提供+5v工作电源,另一方面为主控模块单片机系统彩灯控制器提供5 v工作电源。整个系统工作由软件程序控制运行,根据需要,用户可以在led彩灯工作时通过主控模块上的按键来设定亮灯时间和灯光闪动频率。 上电后系统经过初始化,查询是否有功能切换键按下:有,则进入设定模式状态;无,则进入默认工作状态。在设定模式状态下,可以根据个人爱好及不同场合的需要来指定调用哪些模式,并且可以改变每种模式的时间t1、频率f1参数,在工作状态下,led彩灯控制器按照程序设定好的若干亮灯花样模式程序顺序调用往下走,开始工作,依次8个等亮完为一个亮灯周期,然后再回主循环继续工作,同样如果想进入其它设定模式状态,只需按下功能切换键即可。整个3种亮灯模式时间可以看作一个大周期t,对于每一个模式编写一个独立工作子程序,其中设定了从左到右点亮led,在从右到左点亮led,还有自己定义的led点亮方式。 因此在led彩灯上电工作后,可以方便地通过控模块上的显示器知道led彩灯当前工作模式,工作时间ti,频率fi等实时参数。若实际应用需要根据不同场合和时间来改变彩灯闪亮效果,可以通过主控模块上的按键来设定led不同的闪烁频率fi和亮灯时间ti,以便符合实际需要。此外如果对某一种模式感兴趣需要仔细观看该种亮灯模式,可以让程序循环 硬件设计 led彩灯系统包括,即led彩灯控制器(8051主控模块)led彩灯管在8051外部接一个震荡时钟频率。用8051的控制模块,具有按键、显示等功能,并利用8051的p0口输出控制信号,利用p0口的8个输出端上面焊有8个led彩灯,使得彩灯在软件的控制下工作。 主控模块电路设计 主控模块电路如图1所示。主控模块主要设计器件有80c51,8个 led显示器,3个开关按键,1个稳压器(5 v电压),1个外部晶振震荡器信号输出驱动,4个电阻。通过软件设计,使单片机p0口作为三色led驱动信号输出口及移位时钟clock信号,8051的p0口为led的输出口。 软件设计 目录摘要摘要:介绍了一种简单的led彩灯控制系统的设计方法,以8051单片机作为控制核心,电源开关等较少的辅助硬件电路相结合,利用软件实现对led彩灯进行控制。本系统具有体积小、硬件少、电路结构简单及容易操作易阅读等优点。 关键词:led彩灯;8051单片机;彩灯控制器;proteu仿真软件;keil编译软件系统#include sbit speaker=p23;unsigned char byteth0,bytet0l,duration; / 小星星句子,三个一组,第一个表示音符,第二个表示音阶,第三个表示延时长度(单位约等于0.1s)code unsigned char music=1,2,2,1,2,2,5,2,2,5,2,2,6,2,2,6,2,2,5,2,4,4,2,2,4,2,2,3,2,2,3,2,2,2,2,2,2,2,2,1,2,4,5,2,2,5,2,2,4,2,2,4,2,2,3,2,2,3,2,2,2,2,4,5,2,2,5,2,2,4,2,2,4,2,2,3,2,2,3,2,2,2,2,4,1,2,2,1,2,2,5,2,2,5,2,2,6,2,2, 6,2,2,5,2,4,4,2,2,4,2,2,3,2,2,3,2,2,2,2,2,2,2,2,1,2,4 ;/定时器计时初值,高八位,代表不同音符的频率code unsigned char freqh=0xf2,0xf3,0xf5,0xf5,0xf6,0xf7,0xf8,0xf9,0xf9,0xfa,0xfa,0xfb,0xfb,0xfc,0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff, ;/定时器计时初值,低八位,代表不同音符的频率code unsigned char freql=0x42,0xc1,0x17,0xb6,0xd0,0xd1,0xb6,0x21,0xe1,0x8c,0xd8,0x68,0xe9,0x5b,0x8f,0xee,0x44, 0x6b,0xb4,0xf4,0x2d,0x47,0x77,0xa2,0xb6,0xda,0xfa,0x16,;void song();void delay(unsigned char t);void main(void)unsigned char index, step;tmod=1;ea=1;et0=1;while(1) step=0; while(step126)index = musicstep + 7 * musicstep+1 - 1; byteth0 = freqhindex; bytet0l = freqlindex; duration = musicstep+2; step += 3; song(); delay(10); void timer0() interrupt 1tr0=0;speaker=!speaker;th0 = byteth0;tl0 = bytet0l;tr0=1;void delay(unsigned char t)unsigned int i;unsigned char j=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论