节拍速度渐变的彩灯控制器.docx
- 文档编号:10805389
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:13
- 大小:302.16KB
节拍速度渐变的彩灯控制器.docx
《节拍速度渐变的彩灯控制器.docx》由会员分享,可在线阅读,更多相关《节拍速度渐变的彩灯控制器.docx(13页珍藏版)》请在冰豆网上搜索。
节拍速度渐变的彩灯控制器
目录
摘要I
第1章绪论1
1.1课题背景1
1.2课程设计的目标1
第2章硬件电路方案分析2
2.1单片机系统2
2.2LED显示2
第3章硬件设计3
3.1控制电路的设计3
3.2显示电路设计3
第4章程序代码设计分析4
4.1主程序初始化4
4.2彩灯的流水变化4
4.3程序流程图5
第5章仿真电路图与效果图6
5.1仿真电路图6
5.2仿真效果图6
总结9
致谢10
参考文献11
附录一12
附录二15
第1章绪论
1.1课题背景
随着人们生活的逐步提高,越来越多的人涌向城市。
所以,为了人们生活的需要,在城市的夜空上闪现的各种五颜六色的彩灯应运而生,更显城市生活的多姿多彩,而且也在一定程度上促进的城市的美化和繁荣。
渐变的彩灯控制器集中的运用了单片机技术、LED、自动控制等技术,是典型的基于单片机的电子产品。
随着计算机、微电子、信息技术的快速进步,智能化开发速度越来越快,智能度也越来越高,应用范围也越来越广,在日常生活中、洋开发、宇宙探索、工农业生产、娱乐产业等都有广泛的应用。
在国内外,微控制系统的控制器以单片机控制为技术核心。
因此,单片机技术的发展有助于电子产品的开发,其中当然也包括渐变的彩灯控制器。
在本设计中,采用经典的C51芯片,更容易的实现所需的要求,而且功耗相对来说也不高。
单片机发展至今,掌握核心技术的是国外的几大公司。
从经典的芯片到刚研发后不久投入到市场上的芯片,无一不是广泛的用于各种电子产品设计的应用,所以,我们需要通过课程设计来了解他们的工作原理,性能。
只有了解他们的工作原理及其性能,我们才能够去自行色设计和开发。
目前,各种各样的彩灯在我们的生活中无处不在,我们无时无刻不在与它打着交道,我们自行设计一个节拍速度渐变的彩灯控制器是一件令人兴奋的事。
1.2课程设计的目标
本设计采用AT89C51为主控芯片,组合外围电路,通过软件组成节拍速度渐变的彩灯控制器系统,能够实现:
(1)红、黄、绿三组彩灯依次循环闪亮,变化规律是:
红-红绿-绿-黄绿-黄-黄红-全亮-红,如此循环,产生“流水”般的效果;
(2)彩灯白天不亮,晚上自动亮;
(3)流水的速度由快到慢,再由慢到快。
第2章硬件电路方案分析
2.1单片机系统
此次课题采用以AT89C51芯片为核心的单片机控制方案。
利用单片机灵活的编程设计及丰富的IO端口,以及控制的准确性,来进行节拍速度渐变的彩灯控制器。
此次课程设计P2.0接口与红色LED相连,P2.3接口与黄色LED相连,P2.6接口与绿色LED相连,红、黄、绿及其组合颜色一次闪亮。
系统总框图
2.2LED显示
此次LED显示为直接接P2接口输出,P2.0接口接红色LED,P2.3接黄色LED,P2.6接口接绿色LED;由C语言控制灯亮的顺序依次为:
红、黄、绿依次闪亮,以此循环,并且次彩灯白天不亮,晚上自动亮灯。
第3章硬件设计
3.1控制电路的设计
借助AT89C51芯片的丰富的端口及其精确的控制,设计如下所示电路图来实现节拍速度渐变的彩灯控制器。
用AT89C51实现该过程既简单又方便,借助C语言的控制,可以非常容易的实现该过程,调用延时来实现快慢的闪灯过程,依次循环过程。
3.2显示电路设计
用AT89C51的P2.0接口接红色LED,P2.3口接黄色LED,P2.6接绿色LED,然后让它按照要求闪亮。
LED接法(如下图示)
显示电路设计
第4章程序代码设计分析
4.1主程序初始化
主程序主要完成初始化,以及能否调用,程序是否能正确的完成所需实现的目标;以及指示灯是否受程序的控制。
具体模块包括:
(1)程序识别与编码设计
(2)显示程序设计
(3)彩灯依次闪亮
(4)流水由快变慢,再由慢变快
(5)彩灯白天不亮晚上自动亮
4.2彩灯的流水变化
彩灯的的流水变化利用单片机的时延和开中断以及调用程序来实现,由快变慢即是调用时延由短变长,由慢至快即是调用延时由长变短。
彩灯白天不亮晚上自动亮,由于没有传感器,所以只能按照预先设置的定时系统来解决,一天为一个定时周期。
4.3系统流程图
系统流程图
第5章仿真电路图与效果图
5.1仿真电路图
仿真电路图
5.2仿真效果图
红黄绿依次闪亮图
红红黄黄依次亮图
流水渐变图
白天不亮晚上自动亮图
总结
我们本次的课程设计做的彩灯控制器,觉得这个题非常的贴近生活,也令我觉得非常的有意义。
接到题目后我们小组的人科书、去图书馆借了一些书籍、参照网络上的一些资料,再加上刘老师的悉心指导,设计出了一个与生活中密切相关的彩灯,通过了大学几年的学习,现在设计这样的一个节拍速度渐变的彩灯控制器没有当初那么生涩了。
但是第一次做实物,所以觉得还有有不小的压力。
做实物比在PROTEUS里面仿真难度大了不少,小组成员商量了一下准备在仿真完了之后在做实物,但是后来由于没有买到板子于是做实物就搁浅了。
这次设计用到了一些在实验中比较常用的电子器件,从设计总体上来说,与我们来说,只要认真的去做的话,我们能在规定的时间内做出来。
但是还是需要我们组里几位成员互相合作,相互帮助,才能更好的完成任务的,这样极大的培养了我们的团队合作的精神。
通过本次课程设计的锻炼,我学到了很多有关节拍速度渐变的彩灯控制器的设计方法与工作原理。
期间也碰到不少问题,但只要仔细的揣摩也能找到解决的方法。
慢工出细活,过程是很重要的,只有认真努力细心坚持的去做,才能取得满意的结果。
致谢
在这次课程设计的撰写过程中,我得到了许多人的帮助。
首先我要感谢刘老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是刘老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。
在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。
其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计的难题。
最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。
参考文献
[1]张庆双.彩灯控制电路[M].机械工业出版社.2005,
[2]张福祥.C语言程序设计[M].辽宁大学出版社.2010.1
[3]江世明.单片机院落里及其应用[M].中国通道出版社.2010.12
[4]张克农.数字电子技术基础[M].高等教育出版社.2010.7
[5]胡宴如.模拟电子技术基础[M].高等教育出版社.2004.7
附录一:
源程序代码
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitGREEN=P2^6;
sbitRED=P2^0;
sbitYELLOW=P2^3;
//ms级延时函数
voidDelay(uintms)
{
uinti,j;
for(i=0;i for(j=0;j<110;j++); } //LED显示函数 voidDisPlay() { uchari; for(i=0;i<2;i++) { RED=0; Delay(100+i*500); Delay(100+i*500); GREEN=0; Delay(100+i*500); Delay(100+i*500); RED=1; Delay(100+i*500); Delay(100+i*500); YELLOW=0; Delay(100+i*500); Delay(100+i*500); GREEN=1; Delay(100+i*500); Delay(100+i*500); RED=0; Delay(100+i*500); Delay(100+i*500); GREEN=0; YELLOW=0; Delay(100+i*500); Delay(100+i*500); GREEN=1; YELLOW=1; } } // //主函数 voidmain() { while (1) { DisPlay(); } } 附录二: 实物图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 节拍 速度 渐变 彩灯 控制器
![提示](https://static.bdocx.com/images/bang_tan.gif)