可编程彩灯控制器Word文档下载推荐.docx
- 文档编号:21630476
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:20
- 大小:715.21KB
可编程彩灯控制器Word文档下载推荐.docx
《可编程彩灯控制器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《可编程彩灯控制器Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
所谓三基色是指红,绿,蓝三色,人眼对红,绿,蓝最为敏感,大多数可以通过红,绿,蓝3种颜色按照不同的比例合成产生。
同时,绝大多数单色光也可以分解成红绿蓝三种光。
这是色度学的最基本原理,即三基色原理。
根据三基色原理得到:
红色+绿色=黄色绿色+蓝色=青色红色+蓝色=紫色
对于彩灯的实现可以通过控制每次亮灯的数目,并调用延时程序,使其给人一种绚丽多彩的感觉。
由于单片机是通过内部编程实现控制每个引脚,因此本设计就是通过编写程序来达到控制引脚的目的,让其引脚输出低电平则该灯亮,输出高电平则该灯灭。
全部输出为高电平则全灭,全部输出低电平则全亮。
在每步执行完都调用内部延时循环程序达到外部引脚亮灭延时的目的。
最终实现设计要求所需循环彩灯控制电路。
3电路设计
3.1硬件电路原理图
图3-1彩灯硬件原理图
整个硬件原理电路主要以AT-89C51单片机作为主控核心与发光二极管、晶振、复位、电源等组成。
各个模块电路的工作原理:
3.11主控模块电路
采用AT89C51单片机作为控制器的主模块,由单片机的引脚连接LED发光二极管,利用P口输出控制信号实现彩灯的控制,即将不同颜色的LED发光二极管接至P口。
循环彩灯端口定义:
P1.0~P1.7定义为蓝色发光二极管
P2.0~P2.7定义为红色发光二极管
P3.0~P3.7定义为绿色发光二极管
运用系统编程对P2.0~P2.7脚红色发光二极管让其逐个引脚输出为低电平,可使相应的发红光二极管点亮,绿、黄色发光二极管一样。
对P2.0~P2.7脚通过编程全设为低电平使其点亮发红光,再以同样的方式设置黄、绿色发光二极管实现循环。
由于本设计驱动LED发光二极管的时候是共阳接法所以在AT89C51输出为高电平时为灯灭状态,低电平时为灯亮状态。
即:
输出为1时灭为0时亮
AT89C51引脚分布图3-2:
图3-2AT89C51
3.1.2供电电路
随着半导体工艺的发展,稳压电路也采用集成电路器件来制成。
可采用独立的稳压电源。
这种供电方式的优点是稳压可靠,且有各种成熟电路可供选择。
由于集成稳压器具有体积小,外界线路简单,使用方便,工作可靠等优点。
因此,在各种电子设备中应用十分普遍,为了跟上时代的发展,可采用W7800系列三端稳压器,主要利用它的输出电压是固定的在使用中不能进行调整等优点。
本次设计为了电源的简洁,采用了USB接口为循环彩灯系统电路提供稳定5V的工作电压这样能使整体电路更简洁,更节约成本,也在一定的程度上减少了硬件设计的复杂性。
3.1.3复位电路
单片机在开机或工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。
复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。
AT89C51单片机的复位是靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位。
复位方式一般有上电复位、手动复位和自动复位电路三种,在本设计中采用的是手动复位。
电路如下图3—3所示。
因AT89c51单片机需高电平(3.7~5.5V)复位,且复位时流入单片机的电流不能超过10mA。
具体参数:
根据所需要的复位参数可得当按下SW键时出现两个机器周期的高电平在单片机REST端产生的压降等于:
=
图3-3复位电路
3.1.4晶振电路
本设计采用的是内部时钟振荡方式。
AT89C51中有一个用于构成内部震荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激震荡器,震荡电路参见下图3—5。
外接石英晶体(或陶瓷谐震器)及电容C1、C2接在放大器的反馈回路中构成并联震荡电路。
对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡频率的高低、震荡器工作的稳定性、起振的难易程度及灯的稳定性。
本设计采用的是石英晶体电容C1、C2用
。
图3-5时钟振荡方式
此设计也可以采用外部时钟电路如图3—5外部时钟方式所示。
这种情况下外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。
为AT89C51提供基准频率、产生振荡电流、发出时钟信号。
3.2硬件电路设计
按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。
因此,本彩灯控制系统实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电源等电路和必要的软件组成的单个单片机。
其具体硬件电路如下图所示:
图3-5硬件电路设计图
总电路工作过程:
按下电源开关系统开始工作,单片机把程序计数器(PC)中地址送到程序存储器,并从中取出需要执行指令的操作码和操作数。
指令执行阶段可以对指令操作码进行译码,以产生一系列控制信号,从而完成指令的执行。
通过控制对核心芯片AT89c51内部系统编程,设想哪个引脚外发光二极管亮(除接晶振,电源,地的引脚外)则对其系统内部编程设为低电平,哪个引脚外发光二极管灭则相应的设为高电平。
设想引脚外全部发光二极管亮对应的所有引脚则全设为低电平,设想引脚外相应的发光二极管全灭则引脚全设为高电平。
晶振采用12MHZ,可知输出延迟时间为100ms,再对内部编写循环程序以达到设计要求就可控制彩灯点亮时间。
先红、绿、黄三组灯中的每个灯逐渐点亮,实现发光二极管由弱到强。
然后控制红绿蓝灯点亮的数目,依次点亮红,绿,蓝,黄,紫,青颜色的彩灯,按下复位按钮系统恢复到初始状态并开始工作。
在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“彩灯”效果了。
4软件程序设计
4.1主程序设计
图4-1主程序流程图
4.2系统流程图
图4-2红(绿,蓝)灯由弱到强流程图
图4-3色光控制图
图4-4花样彩灯流程图
可编程彩灯控制系统程序主要分为以下几个模块:
初始化程序、主程序、红(绿,蓝)灯渐亮程序,色光控制程序,花样彩灯程序等。
1、初始化程序
初始化程序主要完成对端口引脚控制信号的初始化。
2、主程序
主程序主要负责总体程序管理控制功能,实现彩灯的循环控制。
3、红、红(绿,蓝)灯渐亮程序
红、红(绿,蓝)灯渐亮程序主要实现红,绿,蓝光由弱到强,先亮一个,再亮两个,再亮三个,慢慢的直到最后全亮,使其出现由弱到强的现象。
4、色光控制程序
色光控制程序主要通过每次点亮红色发光二极管,绿色发光二极管,蓝色发光二极管的数目,实现实现黄色,紫色,青色灯得点亮。
5、花样彩灯程序
花样彩灯程序主要通过控制不同颜色发光二极管的数目,来实现实现花样彩灯。
5系统仿真
5.1系统仿真过程
(1)红灯由弱到强逐渐点亮
(2)绿灯由弱到强逐渐点亮
(3)蓝灯由弱到强逐渐点亮
(4)点亮黄灯
(5)点亮青灯
(6)点亮紫灯
(7)实现花样彩灯
5.2仿真结果分析
通过仿真运行及其结果可知,此次设计基本上实现了红色发光二极管由弱到强—>
蓝色发光二极管由弱到强,黄色,紫色,青色灯以及
花样彩灯。
上图5.1.
(1)
(2)(3)为彩灯控制系统红(绿,蓝)灯逐渐点亮的仿真结果图。
利用三基色原理,控制每次点亮红色发光二极管,绿色发光二极管,蓝色发光二极管的数目,实现黄色,紫色,青色灯得点亮即仿真图5.1.(4)(5)(6)而彩灯的实现即仿真图5.1.(7)。
按下复位键后彩灯控制系统自动循环点亮。
6课程设计总结
本次设计通过单片机系统内部编程和结合外围电路的设计完成了循环彩灯控制。
本设计主要有六个部分:
AT89C51内部系统编程设计;
晶振电路设计;
供电电路设计;
复位电路设计;
普通I\O口限流设计。
在整个设计中实现开始红、绿、黄三组发光二极管逐渐点亮,然后实现黄,紫,青灯得点亮,最后实现花样彩灯,并依此循环所设计的循环彩灯控制。
结合上述几个部分来最终完成电路的设计画出总原理图。
在调试的过程中遇到打开电源开关的瞬间一个红灯亮100ms然后所有灯全亮,通过运用检修方法查出是系统内部的问题,改正后恢复正常。
所有灯有时正常有时又不工作,经仔细检查发现在电源处接触不良,改正后恢复正常。
只有部分I\O口工作,查相应I\O口外围电路正常,再通过系统内部编程让其一直亮,测相应I\O口电压正常,判断AT89C51芯片坏,换正常。
通过这次设计自己对单片机编程及AT89C51芯片有了更进一步的掌握,对KeilC51uVision2软件编程调试和Proteus仿真软件运用更熟练,对循环彩灯的设计有了系统的了解。
但在设计的过程中由于参考书籍和时间的原因还存在不足:
对循环彩灯的外观设计,灯的分布,线路的布局,电源的处理等等。
但我仍然会在以后的工作中认真学习,对循环彩灯进行改进让其更加完美与人性化。
在此感谢我们的xxx老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;
老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;
这次课程设计的顺利完成,离不开老师您的细心指导。
老师,您辛苦了!
同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。
总的来说,这次课程设计让我获益匪浅,对数据结构也有了进一步的理解和认识。
参考文献
[1]江世明,黄同成等单片机原理及应用实验教程[M]中国铁道出版社,2010
[2]江世明等单片机原理及应用[M]中国铁道出版社,2010
[3]杨光友.单片机微型计算机原理及接口技术[M].北京:
中国水利水电出版社,2002.
[4]肖洪兵.跟我学用单片机.北京:
北京航空航天大学出版社,2002.8
附录(源程序清单)
ORG0000H
LJMPSTART
ORG0030H
START:
MOVP2,#0FFH;
P口初始化
MOVP3,#0FFH
MOVP1,#0FFH
LCALLRSHOW;
调用红色渐亮的子程序
LCALLDELAY
LCALLGSHOW;
调用绿色渐亮的子程序
LCALLBSHOW;
调用蓝色渐亮的子程序
LCALLSHOWALL;
调用组合显示子程序
LCALLSHOWKIND;
调用花样彩灯显示子程序
LJMPSTART
RSHOW:
MOVP2,#0FEH;
红色渐亮
MOVP2,#0FCH
MOVP2,#0F8H
MOVP2,#0F0H
MOVP2,#0E0H
MOVP2,#0C0H
MOVP2,#80H
MOVP2,#0
LCALLRT;
全部关闭
RET
GSHOW:
MOVP3,#0FEH;
绿色渐亮
MOVP3,#0FCH
MOVP3,#0F8H
MOVP3,#0F0H
MOVP3,#0E0H
MOVP3,#0C0H
MOVP3,#80H
MOVP3,#0
BSHOW:
MOVP1,#0FEH;
蓝色渐亮
MOVP1,#0FCH
MOVP1,#0F8H
MOVP1,#0F0H
MOVP1,#0E0H
MOVP1,#0C0H
MOVP1,#80H
MOVP1,#0
SHOWALL:
MOVP2,#0;
红色全亮
MOVP2,#0FFH
MOVP3,#0;
绿色全亮
MOVP1,#0;
蓝色全亮
MOVP2,#0;
黄色(红+绿全亮)
MOVP3,#0
LCALLRT
青色(蓝+绿全亮)
紫色(蓝+绿全亮)
SHOWKIND:
MOVP2,#0FEH;
红灯第一个亮
LCALLMT
MOVP2,#0F2H;
红灯第三四个亮
LCALLMT
MOVP2,#12H;
红灯第六七八个亮
绿灯第一二三个亮
MOVP2,12H;
绿灯第五六七八个亮
MOVP3,#8H
蓝灯第一二,五六七八个亮
MOVP1,#0CH
RT:
MOVP1,#0FFH;
关闭所有灯
MT:
MOVP1,#0FFH;
关闭蓝,绿灯
DELAY:
MOVR5,#200;
延时100ms
D3:
MOVR6,#0AH
D2:
MOVR7,#31H
D1:
DJNZR7,D1
DJNZR6,D2
DJNZR5,D3
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 彩灯 控制器