实物交通灯控制正文.docx
- 文档编号:30301638
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:12
- 大小:40.35KB
实物交通灯控制正文.docx
《实物交通灯控制正文.docx》由会员分享,可在线阅读,更多相关《实物交通灯控制正文.docx(12页珍藏版)》请在冰豆网上搜索。
实物交通灯控制正文
交通灯控制系统
1设计任务
1.1功能及技术指标要求
设计交通灯的基本要求:
设计一个交通灯,要求按启动,绿灯亮,10秒后,黄灯亮,3秒后,红灯亮,5秒后,黄灯亮,3秒后,绿灯亮,循环,按复位键回到初始状态,led数码管实时显示时间,利用80c51单片机进行软硬件设计。
1.2设计内容
按设计技术指标进行交通灯的硬件和软件设计。
1.3设计思路及关键技术
一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯复位电路、单片机、7段LED数码显示电路等构成。
单片机是集成的IC芯片,只需根据实际设计要求选型。
其他部分都需要根据应用要求和性能指标自行设计。
因为本实验是交通灯控制实验,所以要先设计交通灯的变化规律。
按启动,绿灯亮,10秒后,黄灯亮,3秒后,红灯亮,5秒后,黄灯亮,3秒后,绿灯亮,循环,按复位键回到初始状态。
有80c51单片机来控制那盏灯亮,通过延时程序来控制灯亮的时间。
时间由七段LED数码显示器来显示。
2系统设计
2.1系统框图
主程序设计框图如图1所示:
开始
↓
绿灯亮,延时
↓
黄灯亮,延时
↓
红灯亮,延时
↓
黄灯亮,延时
图1系统框图
2.2简要说明
交通灯的设计主要由交通灯显示电路,数码管时钟电路,复位电路组成,经过51单片机及其7447译码器对电路进行控制和译码。
其中交通灯的每个灯的显示时间是由单片机p1口来控制的。
译码器是由p2口输入数据的,经过译码器的译码作用,然后在数码管显示灯亮的时间。
而复位电路时由RST引脚控制的,当输入为低电平时,数码管显示时间为零。
3protues中的仿真原理图
图2交通灯仿真图
4系统硬件电路的设计
4.1单片机电路设计
4.1.1主要特性
与MCS-51兼容4K字节可编程闪烁存储器,寿命:
1000写/擦循环数据,保留时间:
10年全静态工作:
0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
4.1.2电源
89c51单片机的电源要求是一个电压为+5V的稳压电源。
单片机的VCC引脚接+5V电源正端,VSS接+5V电源地端。
4.1.3复位电路
单片机的复位时由RST引脚控制的,当RST引脚是低电平有效时复位。
所以在单片机外部接一个电路(如图2所示),由开关控制输入到RST引脚的是高电平还是低电平。
当开关闭合时,RST引脚为低电平,单片机复位,数码管显示时间为零;当开关断开时,单片机正常工作。
4.1.4时钟电路
89C51单片机的内部时钟电路是由XLAT1和XLAT2两个引脚控制的。
他们分别是放大器的输入与输出端。
在XLAT1和XLAT2两端跨接晶体就构成了稳定的自激振荡器,其发出的脉冲直接送入内部的时钟电路。
4.2显示电路设计
4.2.1时间显示电路
由图2可知数码管的7个引脚与7447译码器相连,还有一个引脚接一个+5V的电源。
交通灯的每个灯亮时间长短是由数码管显示出来的。
先经过P1口控制交通灯哪个灯亮。
在由P2口输出起始时间,经过7447译码器译码后输入到数码管的引脚上。
通过延时程序来控制每个灯在的灯亮时间,从而控制数码管的显示时间。
当复位引脚有效时,数码管显示时间为零。
4.2.2交通灯显示电路
在PROTEUS中,交通灯只有三个引脚,分别对应着红、黄、绿灯。
p1.0口控制红灯;p1.1控制绿灯;p1.2控制黄灯。
当启动单片机开始工作时,由软件控制首先p1.1口为高电平,从而绿灯开始亮,通过延时程序控制绿灯亮10秒后,置p1.2口为高电平,从而黄灯接着亮,同样通过延时程序控制黄灯亮3秒后,置p1.0口为高电平,红灯亮,5秒后,黄灯亮,3秒后,绿灯亮,在通过一个循环程序在上述过程接着亮,当按下开关时,开始复位回到初始状态。
5交通灯程序的主程序
#include
#defineucharunsignedchar
#defineuintunsignedint
uchar
codetable[]={0xed,0x88,0xb5,0xb9,0xd8,0x79,0x7d,0xa8,0xfd,0xf9,0};
uintt=0,time=0;
ucharflag=0;
charnum,key;
sbitled_y=P0^2;
sbitled_r=P0^1;
sbitled_g=P0^0;
sbitext_0=P3^2;
sbitext_1=P3^3;
sbitbell=P3^7;
voiddelay(uintz)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
voidinit()
{
TMOD=0x11;
TH0=0x3c;
TL0=0xb0;
ET0=1;
ET1=1;
TR0=1;
TR1=1;
EA=1;
num=0;
led_y=1;
led_r=1;
led_g=1;
}
voiddisp()
{
P0=0x00;
P2=0x04;
P0=table[num/10];
delay
(1);
P0=0x00;
P2=0x02;
P0=table[num%10];
delay
(1);
}
ucharkeyscan()//键盘扫描
{
uchartemp,num=10;
P1=0xbf;//1
temp=P1;
temp=temp&0x1f;
if(temp!
=0x1f)
{
//delay
(2);
temp=P1;
temp=temp&0x1f;
if(temp!
=0x1f)
{
temp=P1;
switch(temp)
{
case0xbe:
num=0;
break;
case0xbd:
num=1;
break;
}
/*while(temp!
=0x1f)
{
temp=P1;
temp=temp&0x1f;
}*/
}
}
returnnum;
}
voidmain()
{
init();
while
(1)
{
if(flag)
{
while
(1)
{
init();
time=0;
num=10;
while(num>=0)
{
disp();
P0=0XFF;
P2=0x0b;
led_g=0;
delay
(1);
if(!
flag)break;
}
if(!
flag)break;
led_g=1;
time=0;
num=3;
while(num>=0)
{
disp();
P0=0XFF;
P2=0x0b;
led_y=0;
delay
(1);
if(!
flag)break;
}
if(!
flag)break;
led_y=1;
time=0;
num=5;
while(num>=0)
{
disp();
P0=0XFF;
P2=0x0b;
led_r=0;
delay
(1);
if(!
flag)break;
}
if(!
flag)break;
led_r=1;
time=0;
num=3;
while(num>=0)
{
disp();
P0=0XFF;
P2=0x0b;
led_y=0;
delay
(1);
if(!
flag)break;
}
if(!
flag)break;
led_y=1;
}
}
else
{
init();
disp();
}
}
}
voidtimer1()interrupt1
{
TH0=0x3c;
TL0=0xb0;
time++;
if(time==20)
{
time=0;
if(num>=0)
num--;
}
}
voidtimer2()interrupt3
{
key=keyscan();
if(key==0)
flag=1;
elseif(key==1)
flag=0;
}
6检测与调试
6.1硬件调试
硬件调试是利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。
硬件调试可分为静态调试与动态调试两步进行。
静态调试是在用户系统未工作时的一种硬件检测。
第一步:
目测。
检查外部的各种元件或者是电路是否有断点。
第二步用万用表测试。
先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。
第三步加电检测。
给板加电,检测所有插座或是器件的电源端是否符合要求的值
第四步是联机检查。
因为只有用单片机开发系统才能完成对用户系统的调试。
动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。
动态调试的一般方法是由近及远、由分到合。
由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。
当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。
由分到合的调试既告完成。
由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。
调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。
6.2软件调试
软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。
7总结与体会
本系统是以单片机AT89C51芯片为核心部件,实现了能根据实际车流量通过AT89C51芯片设置红、绿灯燃亮时间的功能。
此次在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于交通灯这方面的知识。
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步。
参考文献
[1]李鸿.《单片机原理及应用》[M].湖南:
湖南大学出版社.2004年8月
[2]唐颖.《单片机原理与应用及C51程序设计》[M].北京:
北京大学出版社.2008年8月
[3]陈大钦.《电子技术基础实验》[M].北京:
高等教育出版社.2007年12月
[4]周荷琴,吴秀清.《微型计算机原理与接口技术》[M].合肥:
中国科学技术大学出版社.2008年6月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实物 交通灯 控制 正文