太阳能红绿灯课程设计1_第1页
太阳能红绿灯课程设计1_第2页
太阳能红绿灯课程设计1_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、、任务设计一个使用太阳能供电的红绿交通灯。、要求基本要求1)点亮交通灯。使用太阳能电板供电驱动红绿交通灯(led),点亮即可;2)手动运行。使用按键控制模拟,符合实际交通灯闪烁变化,即四个方向的交通灯的红绿灯变换;3)自动运行。使用MCI等嵌入式控制芯片自动控制led模拟交通灯的闪烁,允许此芯片使用外部供电;4)显示倒计时。使用MCI等嵌入式控制芯片显示红灯倒计时,黄灯倒计时,绿灯倒计时(四个方向其中一个方向即可)。1. 发挥部分1)当基本要求2实现的情况下,手动运行,实现基本要求4的显示倒计时。2)在不使用MCI等嵌入式控制芯片的情况下,实现基本要求3(交通灯闪烁)的自动运行。3)在不使用M

2、CI等嵌入式控制芯片的情况下,实现基本要求4的显示倒计时。4)设计使用太阳能供电的红绿交通灯,即不能使用任何外部供电。仅需实现基本要求3(交通灯闪烁)的自动运行。5)设计使用太阳能供电的红绿交通灯,即不能使用任何外部供电,仅需实现基本要求4的显示倒计时。6)其它功能。目录1设计目的2设计思路3设计过程3.1方案比较与论证3.2电路设计和设计说明32189C52单片机红绿灯(显示部分)数码管与按键太阳能电池板供电电路原理图4测试数据与分析5结论与体会6附件6.1实物电路图6.2源程序交通灯控制电路摘要:交通信号灯常用于城市、街道主、支路口,用来控制车辆的流量,提高交叉路口车辆的通行能力,缓冲交通

3、压力。本交通灯设计主要由51单片机,太阳能电池板供电电路和模拟交通灯,数码管和键盘等组成。51单片机由ATC89C52芯片控制模拟交通灯电路、数码管电路实现,供电主要采用采用太阳能电池板电路和储能电路,从而显示红黄绿灯的转换。关键字:交通灯数码管倒计时太阳能电池板供电1、设计目的(1)熟悉MCI等集成电路的引脚安排。(2)了解太阳能电池板结构及其使用。(3)了解交通灯控制电路的组成及工作原理。(4)学会用仿真软件对设计的原理图进行仿真。(5)熟悉数字交通灯控制电路的设计与制作。2、设计思路(1)利用MCU芯片控制模拟交通灯的转换(2)利用数码管电路充当交通灯定时电路(显示倒计时)(3)设计交通

4、灯控制电路(4)利用太阳能电池板为MCU电路供电(5)其他功能的实现3设计过程3.1方案论证与比较方案一用单片机技术来实现交通灯控制用单片机技术来来实现交通灯控制,容易实现,而且该电路可靠性也很高。由于本组队员单片机刚刚进入学习,一方面更快地学习单片机,另一方面也更快地进入设计,所以选用了MCI来实现交通灯控制。交通灯控制系统的原理框图如下图所示。交通灯控制状态分析:交通灯控制状态分析:Stste1东西亮红灯,南北亮绿灯;Stste2东西亮红灯,南北亮黄灯;Stste3东西亮绿灯,南北亮红灯;Ststel东西亮黄灯,南北亮红灯;在紧急状况下,实现四个方向的亮红灯;方案二用数电电子技术来实现交通

5、灯控制它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。电路设计相对复杂,所以我们并没有采取这个方案。3.2单元电路的设计(1)太阳能供电电路数码管(2)红绿灯电路设计4系统调试与结果(1) 程序的编写及调试,均有结果和现象。(2) 交通灯、太阳能电池板电路设计部分等(3)调试交通灯按键控制以及数码管倒计时显示部分。5结论1能实现的功能交通灯的状态转换和计时时间的显示,基本能实现甲、乙道路直行和转弯灯的显示功能,太阳能

6、可以为交通模拟灯充分供电。并且在紧急状况下实现四个方向全亮红灯,数码管倒计时停止。2、不足之处交通灯设计中没有形成模块化。6、设计心得体会通过这次的参与,发现了许多欠缺的知识,在答辩时,也认识到了差距。不过在不断的学习和设计中,还是有些意外的收获的,团队的合作,也让我们充分体会到了过程的艰辛和愉快的。希望通过不断地学习,不断地努力,做到更好!附件总电路图1.太阳能电板或蓄电池2.电脑pc供电源代码/自动控制交通灯的闪烁#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintuchartO,s1,g1,temp,s

7、tate=1;intt=-1;ucharcodetable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/-依次为南北红黄绿灯亮sbitd1=P1A0;sbitd2=P1Ai;sbitd3=P1A2;/-依次为东西黄绿红灯亮sbitd6=P1A5;sbitd7=P1A6;sbitd8=P1A7;voiddisplay(uchars1,ucharg1);voidinit();voidjudg();voidstate_led();voidkeyscan();voiddelay(uin

8、tz)uintx,y;for(x=z;x>0;x-)for(y=115;y>0;y-);/主函数voidmain()init();keyscan();voidtimer()interrupt1/一个定时器中断TH0=(65536-50000)/256;TL0=(65536-50000)%256;to+;voidjudg()/计时函数if(t!=-1)s仁t/10;g1=t%10;display(s1,g1);/数码管上显示倒计时if(t0=20)/1s20*50000=1st0=0;/清零if(t=-1)state_led();进入状态选择if(state=4)状态循环state=

9、0;state+;/状态切换t-;/一秒减一次,倒计时实现/状态函数voidstate_led()if(state=1)d3=1;d8=1;d仁0;d7=0;II-t=15;elseif(state=2)d1=1;d7=1;d仁0;d6=0;IIt=3;elseif(state=3)d1=1;d6=1;d2=0;d8=0;IIt=15;elseif(state=4)d2=1;d8=1;d3=0;d8=0;IIt=3;南北红灯亮东西绿灯亮南北红灯亮东西黄灯亮南北绿灯亮东西红灯亮南北黄灯亮东西红灯亮voidinit()IIII*初始化子程序定时器*TMOD=0x01;TH0=(65536-5000

10、0)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;voiddisplay(uchars1,ucharg1)II显示子函数P0=tables1;II倒计时的显示位P2=0xfb;delay(1);P0=tableg1;P2=0xf7;delay(1);voidkeyscan()while(1)judg();P3=0xfe;*temp=P3;temp=temp&0xf0;/*if(temp!=0xfO)*delay(100);*temp=P3;temp=temp&0xf0;/*judg();P3=0xfe;*temp=P3;temp=tem

11、p&0xf0;/*if(temp!=0xfO)*delay(100);*temp=P3;temp=temp&0xf0;/*员赋初*检测H*用while语句要小心,产生死锁*延迟一会*再检测,键盘是否真的按下if(temp!=OxfO)temp=P3;if(temp=0xde)d1=0;d8=0;d2=1;d3=1;d6=1;d7=1;if(temp!=OxfO)*if(temp!=OxfO)*松手检测*delay(100);temp=P3;temp=temp&0xf0;/程序功能:用按键模拟控制交通灯的闪烁/*#include<reg52.h>#define

12、ucharunsignedchar#defineuintunsignedintuchart,s1,g1,k1,state;uintk;ucharcodetable=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;II依次为南北红黄绿灯亮sbitd1=P1A0;sbitd2=P1Ai;sbitd3=P1A2;II-依次为东西黄绿红灯亮sbitd6=P1A5;sbitd7=P1A6;sbitd8=P1A7;voiddisplay(uchars1,ucharg1);voidjudg();v

13、oidstate_led();voidkeyscan();voiddelay(uintz)/延时函数uintx,y;for(x=z;x>0;x-)for(y=115;y>0;y-);/主函数voidmain()state=1;t=-1;while(1)judg();keyscan();if(t=-1)state_led();if(state=4)状态循环state=0;state+;voidjudg()/状态循环if(t!=-1)/实现倒计时时灯的即时变化s仁t/10;g1=t%10;display(s1,g1);/显示倒计时/状态子函数voidstate_led()if(state=1)d3=1;d8=1;d仁0;d7=0;/-t=15;elseif(state=2)d1=1;d7=1;d仁0;d6=0;/t=3;elseif(state=3)d1=1;d6=1;d2=0;d8=0;/t=15;elseif(state=4)d2=1;d6=1;d3=0;d8=0;/t=3;南北

温馨提示

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

评论

0/150

提交评论