基于-单片机的节日彩灯设计20页_第1页
基于-单片机的节日彩灯设计20页_第2页
基于-单片机的节日彩灯设计20页_第3页
基于-单片机的节日彩灯设计20页_第4页
基于-单片机的节日彩灯设计20页_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机课程设计题 目: 院 (系): 专 业:学 号: 姓 名: 指 导 教 师: 摘 要彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。本次报告中设计的花样彩灯控制器是其中较简单的,但这是进行复杂设计的基础。查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮灭控制过程进行设计。利用键盘上的灯实现灯的各种形式的变换,使彩灯变换的样式更多,克服了节日彩灯变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。关键词:可编程节日彩灯 ;循环 ;控制高低电平 ;实现对彩灯的控制目 录目 录引言 41、设计目的与要求 52、设计总体方案 53、模

2、块电路的设计 74、独立设计部分105、焊接制作与调试结果及其分析 126、设计过程中的问题及其解决方案 137、心得体会 138、改进工作展望 14参考文献 14附录一 15附录二 17附录三 191 设计目的与要求1.1引言在现代生活中,彩灯作为一种景观,安装在建筑物的适当地方。一是作为装饰增添节日气氛,二是有一种广告宣传的作用:用在舞台上增强晚会灯光效果。彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。本次报告中设计的花样彩灯控制器是其中较简单的,但这是进行复杂设计的基础。数码管是一种半导体发光器件,其基本单元是发光二极管。通过对其不同的管脚

3、输入相对的电流,会使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。可编程节日彩灯打破常规彩灯闪烁固定变化的现状,可根据人们不同的意愿进行编程设计出想要的变换的色彩效果。查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮灭控制过程进行设计。利用键盘上的灯实现灯的各种形式的变换,使彩灯变换的样式更多,克服了节日彩灯变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。1.2设计目的通过课程设计使我们更进一步掌握微机原

4、理与应用课程的有关知识,通过查阅资料,阅读程序,提高设计程序的能力及动手能力,使编程水平有一定的提高,同时也会提高我们通过动手进行硬件设计及程序设计从而提高解决实际问题的能力。1.3实验要求1. 用16盏以上的LED小灯,实现至少4种彩灯灯光效果(不含全部点亮,全部熄灭;2. 手动模式与自动模式切换:设置一个按钮可以在自动模式和手动模式间切换;3. 手动模式可以用输入按钮在几种灯光效果间切换;4. 自动模式下自动在几种效果间切换的功能;5. 可以通过按钮暂停彩灯效果,使小灯全亮并闪烁,再次按下相同按钮后继续之前的效果。2 设计总体方案2.1硬件设计的思路、原理、设计细节用单片机最小系统控制彩灯

5、电路用流水灯的方式实现彩灯自动闪烁,彩灯电路总共有32的共隐接法组成,彩灯电路有三个部分,八个组成“二”,十六个LED组成字母“G”,八个组成字母“”。用P0口的P1.0、P1.1、P1.2、P1.3控制四个点亮或熄灭,P1.0、P1.1、P1.2、P1.3控制四个点亮或熄灭,用和控制字母“G”的点亮或熄灭,用P3控制字母“O”的点亮熄灭。2.2、软件设计的思路、原理、设计细节采用C语言编写控制程序,程序设计思路用流水灯先点亮“二”,然后再点亮字母“G”,最后点亮“O”。用while死循环反复循环点亮“一”、“二”、“GO”。2.3原理框图如图1.1所示彩灯电路(“一”、“二”)单片机最小系统

6、彩灯电路(“G”、“O”)2.4设计电路的工作原理用C语言程序控制单片机最小系统,使IO口输出高低电平控制彩灯电路的闪烁。2.5彩灯的电路工作原理图如下图所示稍微解释一下原理图彩灯电路总共有32的共隐接法组成,彩灯电路有三个部分,八个组成“二”,十六个LED组成字母“G”,八个组成字母“”。用P0口的P1.0、P1.1、P1.2、P1.3控制四个点亮或熄灭,P1.0、P1.1、P1.2、P1.3控制四个点亮或熄灭,用和控制字母“G”的点亮或熄灭,用P3控制字母“O”的点亮熄灭。3、模块电路的设计3.1 单片机控制电路3.2 彩灯显示电路 1. 原件的采购2. 通过以上的的“G”原理图,仿真并利

7、用Protel软件来画PCB3. 腐蚀电路板,并焊接“G”电路4. 焊接完成后配合小组进行调试PCB图如下:4.2由以上分工可知:4.2.1控制电路的工作原理彩灯电路总共有32的共隐接法组成,彩灯电路有三个部分,八个组成“二”,十六个LED组成字母“G”,八个组成字母“”。用P0口的P1.0、P1.1、P1.2、P1.3控制四个点亮或熄灭,P1.0、P1.1、P1.2、P1.3控制四个点亮或熄灭,用和控制字母“G”的点亮或熄灭,用P3控制字母“O”的点亮熄灭4.2.2彩灯控制电路的电路图4.2.3彩灯控制电路的程序#include /包含单片机寄存器的头文件#include /*函数功能:延时

8、一段时间*/unsigned char L8=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;unsigned char L18=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;void delay1s(unsigned int i) unsigned int j; while(i-) for(j=0;j=151;j+); /*函数功能:主函数*/void main(void) unsigned char i,j;P0 = 0x00;P1 = 0x00;P2 = 0x00;P3 = 0x00;while(1)for(j=0;j8;

9、j+) P0=Lj; delay1s(100);for(j=0;j8;j+) P1=Lj; delay1s(100);for(j=0;j8;j+) P2=Lj; delay1s(100); for(i=0;i8;i+) P3=Li; delay1s(100);for(j=0;j8;j+) P0=L1j; delay1s(100);for(j=0;j8;j+) P1=L1j; delay1s(100);for(j=0;j8;j+) P2=L1j; delay1s(100); for(i=0;i8;i+) P3=L1i; delay1s(100);5、焊接制作与调试结果及其分析5.1焊接过程通过大

10、二下学期对单片机所学知识、查找图书馆和网络资料以及实训期间老师的答疑。我制出了正确的抢答器原理图,但是这次不用对板子进行转印腐蚀,用的是万能板,画好原理图,然后根据原理图进行插装元器件以及用导线和焊锡接线,这看似简单的过程,其实还是需要工艺的,这一过程需要足够的耐心与细心,不能出错,最终做好了板子。5.2调试过程在制作调试过程中首先写完程序,后利用proteus 7 professional 仿真软件进行程序和硬件的仿真。我把我的程序写完后就烧到我的芯片上连接好线路后开始运行,因为之前已经用仿真软件进行过测试,所以应该不会有什么大问题,基本能像仿真一样的效果。进行烧录程序后果然板子还是一切正常

11、,最终实训成功。5.3 Proteus 仿真图6、设计过程中的问题及其解决方案在设计过程中遇到如何设计自动与手动开关切换的问题,我们的解决方案是在四个IO口处加上开关从而达到手动和程序相互转换控制每一个LED。其实还有比这个还要好的方案,那就是用程序来控制和按键来对LED进行控制,这样可以节约很多成本。在上电调式电路时发现显示“一、二”彩灯电路发光很暗,经过分析发现加在显示“一、二”彩灯电路上的电阻对LED起限流作用,当去掉电阻后其发光变得多亮。 把控制程序下载到单片机中,发现单片机的P0口无法输出控制信号而别的IO口也可以正常输出信号。在检查程序时并没有发现有错。再次检查电路图时发现P0口没

12、有加上拉电阻,因而导致电流太小。加上上拉电阻后,P0口能正常控制彩灯电路。7、心得体会通过这次课程设计,使我对硬件电路的工作原理有了进一步的学习,进一步的认识;在软件方面,在程序的设计,程序的调试方面都学到了很多东西,很有成就感。在这次课程设计中我遇到了一些困难,但在老师的指导和同学的帮助,再加上自己查阅了些许资料的情况下都解决了。虽然课程设计进行的不够顺利,但还是完成了任务,使自己的专业知识又得到了提升。21世纪是计算机全面发展应用的时代,很多人不是在制造计算机而是在使用计算机,在使用计算机的人群中只有从事嵌入式系统应用的人才真正地进入到计算机系统内部软硬件体系中,才能真正领会计算机的智能化

13、本质并掌握智能化设计的知识。通过这次难得的实践机会给了我很大的收获,不仅巩固了原有的知识,并增强了动手能力,培养了面对问题的分析能力以及遇到困难如何面对。附录一1、 电路原理图2、 实物图3、 PCB图4、仿真图附录二程序代码:#include /包含单片机寄存器的头文件#include /*函数功能:延时一段时间*/unsigned char L8=0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff;unsigned char L18=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00;void delay1s(unsigned int i) unsigned int j; while(i-) for(j=0;j=151;j+); /*函数功能:主函数*/void main(void) unsigned char i,j;P0 = 0x00;P1 = 0x00;P2 = 0x00;P3 = 0x00;while(1)for(j=0;j8;j+) P0=Lj; delay1s(100);for(j=0;j8;j+) P1=Lj; delay1s(100);

温馨提示

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

评论

0/150

提交评论