太阳能红绿灯课程设计Word文件下载.docx
- 文档编号:20688884
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:15
- 大小:465.01KB
太阳能红绿灯课程设计Word文件下载.docx
《太阳能红绿灯课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《太阳能红绿灯课程设计Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
3.2电路设计和设计说明………………………………………
3.2.189C52单片机……………………………………………………
3.2.2红绿灯………………………………………………
3.2.3(显示部分)数码管与按键…………………………
3.2.4太阳能电池板供电电路………………………………
3.2.4原理图……………………………………………
4测试数据与分析………………………………………………
5结论与体会……………………………………………
6附件…………………………………………………
6.1实物电路图……………………………………………………
6.2源程序………………………………………………
交通灯控制电路
摘要:
交通信号灯常用于城市、街道主、支路口,用来控制车辆的流量,提高交叉路口车辆的通行能力,缓冲交通压力。
本交通灯设计主要由51单片机,太阳能电池板供电电路和模拟交通灯,数码管和键盘等组成。
51单片机由ATC89c52芯片控制模拟交通灯电路、数码管电路实现,供电主要采用采用太阳能电池板电路和储能电路,从而显示红黄绿灯的转换。
关键字:
交通灯数码管倒计时太阳能电池板供电
1、设计目的
(1)熟悉MCU等集成电路的引脚安排。
(2)了解太阳能电池板结构及其使用。
(3)了解交通灯控制电路的组成及工作原理。
(4)学会用仿真软件对设计的原理图进行仿真。
(5)熟悉数字交通灯控制电路的设计与制作。
2、设计思路
(1)利用MCU芯片控制模拟交通灯的转换
(2)利用数码管电路充当交通灯定时电路(显示倒计时)
(3)设计交通灯控制电路
(4)利用太阳能电池板为MCU电路供电
(5)其他功能的实现
3设计过程
3.1方案论证与比较
方案一用单片机技术来实现交通灯控制
用单片机技术来来实现交通灯控制,容易实现,而且该电路可靠性也很高。
由于本组队员单片机刚刚进入学习,一方面更快地学习单片机,另一方面也更快地进入设计,所以选用了MCU来实现交通灯控制。
交通灯控制系统的原理框图如下图所示。
交通灯控制状态分析:
Stste1东西亮红灯,南北亮绿灯;
Stste2东西亮红灯,南北亮黄灯;
Stste3东西亮绿灯,南北亮红灯;
Stste1东西亮黄灯,南北亮红灯;
在紧急状况下,实现四个方向的亮红灯;
方案二用数电电子技术来实现交通灯控制
它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。
电路设计相对复杂,所以我们并没有采取这个方案。
3.2.单元电路的设计
(1)太阳能供电电路
(2)红绿灯电路设计
4系统调试与结果
(1)程序的编写及调试,均有结果和现象。
(2)交通灯、太阳能电池板电路设计部分等
(3)调试交通灯按键控制以及数码管倒计时显示部分。
5结论
1、能实现的功能
交通灯的状态转换和计时时间的显示,基本能实现甲、乙道路直行和转弯灯的显示功能,太阳能可以为交通模拟灯充分供电。
并且在紧急状况下实现四个方向全亮红灯,数码管倒计时停止。
2、不足之处
交通灯设计中没有形成模块化。
6、设计心得体会
通过这次的参与,发现了许多欠缺的知识,在答辩时,也认识到了差距。
不过在不断的学习和设计中,还是有些意外的收获的,团队的合作,也让我们充分体会到了过程的艰辛和愉快的。
希望通过不断地学习,不断地努力,做到更好!
附件
总电路图
1.太阳能电板或蓄电池
2.电脑pc供电
源代码
//自动控制交通灯的闪烁
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
uchart0,s1,g1,temp,state=1;
intt=-1;
ucharcodetable[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
//----依次为南北红黄绿灯亮
sbitd1=P1^0;
sbitd2=P1^1;
sbitd3=P1^2;
//----依次为东西黄绿红灯亮
sbitd6=P1^5;
sbitd7=P1^6;
sbitd8=P1^7;
voiddisplay(uchars1,ucharg1);
voidinit();
voidjudg();
voidstate_led();
voidkeyscan();
voiddelay(uintz)
{
uintx,y;
for(x=z;
x>
0;
x--)
for(y=115;
y>
y--);
}
//------------主函数------
voidmain()
init();
keyscan();
voidtimer()interrupt1//一个定时器中断
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;
voidjudg()//计时函数
{
if(t!
=-1)
{
s1=t/10;
g1=t%10;
}
display(s1,g1);
//数码管上显示倒计时
if(t0==20)//1s20*50000=1s
t0=0;
//清零
if(t==-1)
{
state_led();
//进入状态选择
if(state==4)//状态循环
{
state=0;
}
state++;
//状态切换
}
t--;
//一秒减一次,倒计时实现
//-----------状态函数--------
voidstate_led()
if(state==1)
{d3=1;
d8=1;
d1=0;
d7=0;
//----南北红灯亮东西绿灯亮
t=15;
elseif(state==2)
{d1=1;
d7=1;
d6=0;
//----南北红灯亮东西黄灯亮
t=3;
elseif(state==3)
{
d1=1;
d6=1;
d2=0;
d8=0;
//----南北绿灯亮东西红灯亮
elseif(state==4)
d2=1;
d3=0;
//----南北黄灯亮东西红灯亮
voidinit()//初始化子程序
//*******定时器******
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
voiddisplay(uchars1,ucharg1)//显示子函数
P0=table[s1];
//倒计时的显示位
P2=0xfb;
delay
(1);
P0=table[g1];
P2=0xf7;
voidkeyscan()
while
(1)
{judg();
P3=0xfe;
//*************赋初值***************
temp=P3;
temp=temp&
0xf0;
//**************检测***************
if(temp!
=0xf0)//*********用while语句要小心,产生死锁************
delay(100);
//********延迟一会*********
temp=P3;
//**************再检测,键盘是否真的按下**************
if(temp!
=0xf0)
{
if(temp==0xde)
d2=1;
d3=1;
d6=1;
d7=1;
=0xf0)//**************松手检测**************
{
delay(100);
temp=P3;
temp=temp&
}
//程序功能:
用按键模拟控制交通灯的闪烁
/*#include<
uchart,s1,g1,k1,state;
uintk;
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
voiddelay(uintz)//延时函数
//主函数
{state=1;
t=-1;
{
judg();
if(t==-1)
state_led();
if(state==4)//状态循环
state=0;
state++;
}
voidjudg()//状态循环
=-1)//实现倒计时时灯的即时变化
//显示倒计时
//-------------状态子函数
voidstate_led()
d3=1;
voiddisplay(uchars1,ucharg1)
//倒计时(十位)的显示位
P2=0xfe;
//倒计时(个位)的显示位
P2=0xfd;
//----------键盘扫描
k1=0xfe;
P3=k1;
k=P3;
if(k!
=k1)
delay(100);
t--;
//一秒减一次
}
while(!
k1);
*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 太阳能 红绿灯 课程设计