节日彩灯控制器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

河南理工大学本科课程设计报告-1-河河南南理理工工大大学学《单片机原理与接口技术》课程设计基于单片机的节日彩灯控制器姓名:杨吉成学号:311208001124专业班级:测仪13-02班指导老师:王莉所在学院:电气工程与自动化学院2016年1月11日摘要河南理工大学本科课程设计报告-2-在现代生活中,彩灯作为一种景观,安装在建筑物的适当地方。一是作为装饰增添节日气氛,二是有一种广告宣传的作用:用在舞台上增强晚会灯光效果。彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。本次报告中设计的花样彩灯控制器是其中较简单的,但这是进行复杂设计的基础。可编程节日彩灯打破常规彩灯闪烁固定变化的现状,可根据人们不同的意愿进行编程设计出想要的变换的色彩效果。查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮灭控制过程进行设计。利用键盘上的灯实现灯的各种形式的变换,使彩灯变换的样式更多,克服了节日彩灯变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。用单片机最小系统控制彩灯电路用流水灯的方式实现彩灯自动闪烁,彩灯电路总共有32的LED共隐接法组成,彩灯电路有三个部分,八个LED组成“二”,十六个LED组成字母“G”,八个LED组成字母“O”。用P0口的P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,用P1和P2控制字母“G”的点亮或熄灭,用P3控制字母“O”的点亮熄灭。采用C语言编写控制程序,程序设计思路用流水灯先点亮“二”,然后再点亮字母“G”,最后点亮“O”。用while死循环反复循环点亮“一”、“二”、“GO”。河南理工大学本科课程设计报告-3-目录1概述……………………………………………………………………………42系统总体方案及硬件设计2.1设计目的…………………………………………………………………52.2实验要求…………………………………………………………………52.3硬件设计…………………………………………………………………72.4原理框图…………………………………………………………………52.5彩灯的电路工作原理图……………………………………………………52.6单片机控制电路……………………………………………………………72.7彩灯显示电路………………………………………………………………83软件设计3.1软件设计的思路、原理、设计细节………………………………………93.2设计电路的工作原理………………………………………………………93.3彩灯控制电路程序…………………………………………………………94Proteus软件仿真……………………………………………………………115设计过程中的问题及其解决方案……………………………………………126课程设计体会…………………………………………………………………13参考文献…………………………………………………………………………14附1:源程序代码………………………………………………………………15附2:系统原理图………………………………………………………………17河南理工大学本科课程设计报告-4-1概述本设计是根据我们所学习的单片机课程,按照要求对我们进行的一次课程检验,是进行单片机课程训练的必要任务,也对我们掌握单片机应用有很大的帮助。掌握单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。设计主要用单片机最小系统控制彩灯电路用流水灯的方式实现彩灯自动闪烁,彩灯电路总共有32的LED共隐接法组成,彩灯电路有三个部分,八个LED组成“二”,十六个LED组成字母“G”,八个LED组成字母“O”。用P0口的P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,用P1和P2控制字母“G”的点亮或熄灭,用P3控制字母“O”的点亮熄灭。采用C语言编写控制程序,程序设计思路用流水灯先点亮“二”,然后再点亮字母“G”,最后点亮“O”。用while死循环反复循环点亮“一”、“二”、“GO”。河南理工大学本科课程设计报告-5-2系统总体方案及硬件设计2.1设计目的通过课程设计使我们更进一步掌握微机原理与应用课程的有关知识,通过查阅资料,阅读程序,提高设计程序的能力及动手能力,使编程水平有一定的提高,同时也会提高我们通过动手进行硬件设计及程序设计从而提高解决实际问题的能力。2.2试验要求1.用16盏以上的LED小灯,实现至少4种彩灯灯光效果(不含全部点亮,全部熄灭;2.手动模式与自动模式切换:设置一个按钮可以在自动模式和手动模式间切换;3.手动模式可以用输入按钮在几种灯光效果间切换;4.自动模式下自动在几种效果间切换的功能;5.可以通过按钮暂停彩灯效果,使小灯全亮并闪烁,再次按下相同按钮后继续之前的效果。2.3硬件设计用单片机最小系统控制彩灯电路用流水灯的方式实现彩灯自动闪烁,彩灯电路总共有32的LED共隐接法组成,彩灯电路有三个部分,八个LED组成“二”,十六个LED组成字母“G”,八个LED组成字母“O”。用P0口的P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,用P1和P2控制字母“G”的点亮或熄灭,用P3控制字母“O”的点亮熄灭。2.4原理框图河南理工大学本科课程设计报告-6-2.5彩灯的电路工作原理图如下图所示单片机最小系统彩灯电路(“一”、“二”)彩灯电路(“G”、“O”)河南理工大学本科课程设计报告-7-彩灯电路总共有32的LED共隐接法组成,彩灯电路有三个部分,八个LED组成“二”,十六个LED组成字母“G”,八个LED组成字母“O”。用P0口的P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,P1.0、P1.1、P1.2、P1.3控制四个LED点亮或熄灭,用P1和P2控制字母“G”的点亮或熄灭,用P3控制字母“O”的点亮熄灭。2.6单片机控制电路河南理工大学本科课程设计报告-8-2.7彩灯显示电路河南理工大学本科课程设计报告-9-河南理工大学本科课程设计报告-10-3、软件设计3.1软件设计的思路、原理、设计细节采用C语言编写控制程序,程序设计思路用流水灯先点亮“二”,然后再点亮字母“G”,最后点亮“O”。用while死循环反复循环点亮“一”、“二”、“GO”。3.2设计电路的工作原理用C语言程序控制单片机最小系统,使IO口输出高低电平控制彩灯电路的闪烁。.4彩灯控制电路程序#includereg51.h//包含单片机寄存器的头文件#includeintrins.h/*****************************函数功能:延时一段时间*****************************/unsignedcharL[8]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};unsignedcharL1[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};voiddelay1s(unsignedinti){unsignedintj;while(i--){for(j=0;j=151;j++){;}}}/*****************************函数功能:主函数*****************************/voidmain(void){unsignedchari,j;P0=0x00;P1=0x00;P2=0x00;P3=0x00;while(1){for(j=0;j8;j++){P0=L[j];delay1s(100);};for(j=0;j8;j++)河南理工大学本科课程设计报告-11-{P1=L[j];delay1s(100);};for(j=0;j8;j++){P2=L[j];delay1s(100);};for(i=0;i8;i++){P3=L[i];delay1s(100);};for(j=0;j8;j++){P0=L1[j];delay1s(100);};for(j=0;j8;j++){P1=L1[j];delay1s(100);};for(j=0;j8;j++){P2=L1[j];delay1s(100);};for(i=0;i8;i++){P3=L1[i];delay1s(100);};}}河南理工大学本科课程设计报告-12-4、Proteus软件仿真河南理工大学本科课程设计报告-13-5设计过程中的问题及其解决方案在设计过程中遇到如何设计自动与手动开关切换的问题,我们的解决方案是在四个IO口处加上开关从而达到手动和程序相互转换控制每一个LED。其实还有比这个还要好的方案,那就是用程序来控制和按键来对LED进行控制,这样可以节约很多成本。在上电调式电路时发现显示“一、二”彩灯电路发光很暗,经过分析发现加在显示“一、二”彩灯电路上的电阻对LED起限流作用,当去掉电阻后其发光变得多亮。把控制程序下载到单片机中,发现单片机的P0口无法输出控制信号而别的IO口也可以正常输出信号。在检查程序时并没有发现有错。再次检查电路图时发现P0口没有加上拉电阻,因而导致电流太小。加上上拉电阻后,P0口能正常控制彩灯电路。河南理工大学本科课程设计报告-14-6课程设计体会通过这次课程设计,使我对硬件电路的工作原理有了进一步的学习,进一步的认识;在软件方面,在程序的设计,程序的调试方面都学到了很多东西,很有成就感。本次课程设计既要求我们对知识掌握的牢固,又要求我们对知识能够灵活运用。从所涉及的知识面来说,它不仅要求我们运用所学过的知识还要求我们去查找,学习,借鉴其他科目或门类的知识。从时间上来说,这次设计的时间是最长的,因此我们有足够的时间去重新温习学过的知识,更有充足的时间去搜集学习一些我们没有涉猎过的知识。这样不仅锻炼了我们学习新知识的能力,同时也拓宽了我们的知识面。并且我们还有足够时间去修改我们的设计中的缺陷,这也是对我们将来走入社会独立完成一项课题的考验。21世纪是计算机全面发展应用的时代,很多人不是在制造计算机而是在使用计算机,在使用计算机的人群中只有从事嵌入式系统应用的人才真正地进入到计算机系统内部软硬件体系中,才能真正领会计算机的智能化本质并掌握智能化设计的知识。通过这次难得的实践机会给了我很大的收获,不仅巩固了原有的知识,并增强了动手能力,培养了面对问题的分析能力以及遇到困难如何面对。河南理工大学本科课程设计报告-15-参考文献[1]《C51单片机技术教程》田希晖、薛亮儒著,人民邮电出版社[2]《手把手教你学单片机C程序设计》周兴华著.北京航空航天大学出版社河南理工大学本科课程设计报告-16-附1源程序代码#includereg51.h//包含单片机寄存器的头文件#includeintrins.h/*****************************函数功能:延时一段时间*****************************/unsignedcharL[8]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};unsignedcharL1[8]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};voiddelay1s(unsignedinti){unsignedintj;while(i--){for(j=0;j=151;j++){;}}}/*****************************函数功能:主函数*****************************/voidmain(void){unsignedchari,j;P0=0x00;P1=0x00;P2=0x00;P3=0x00;while(1){for(j=

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功