交通灯课程设计.docx
《交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计.docx(18页珍藏版)》请在冰豆网上搜索。
交通灯课程设计
课程设计任务书
学生姓名:
----专业班级:
__________________
指导教师:
工作单位:
信息工程学院
题目:
交通信号灯控制器的设计
初始条件:
本设计既可以使用集成集成译码器、计数器、定时器、脉冲发生器和必要的门电路等。
本设计也可以使用单片机系统构建交通信号灯控制器。
用数码管显示时间计数值,用红、黄、绿LED作信号灯。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、课程设计工作量:
1周。
2、技术要求:
要求甲车道和乙车道两条交叉道路上的车辆交替运行(以红绿灯指示),每次通行时间设为0—30秒(可预置);变更车道以前,黄灯先亮5秒钟,黄灯亮时,要求每秒钟闪亮一次;两个车道均以减计数方式显示时间。
其余部分可根据情况自行发挥。
确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述基本原理。
绘制总体电路原理图。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:
1、2008年7月5日集中,作课设具体实施计划与课程设计报告格式的要求说明。
2、2008年7月5日,查阅相关资料,学习电路的工作原理。
2、2008年7月6日至2007年7月7日,方案选择和电路设计。
2、2008年7月8日至2007年7月10日,电路调试和设计说明书撰写。
3、2008年7月11日上交课程设计成果及报告,同时进行答辩。
课设答疑地点:
鉴主14楼电子科学与技术实验室。
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
目录
摘要…………………………………………………………………………………Ⅰ
1绪论………………………………………………………………………………1
2设计内容及要求……………………………………………………………………2
2.1设计的目的及主要任务…………………………………………………………2
2.1.1设计的目的………………………………………………………………2
2.1.2设计任务及主要技术指标…………………………………………………2
2.2设计思想…………………………………………………………………………2
3设计原理及单元模块设计…………………………………………………………3
3.1设计原理及方法…………………………………………………………………3
3.2单元模块设计……………………………………………………………………3
3.2.1分频/计量控制模块………………………………………………………3
3.2.2译码显示模块………………………………………………………………7
3.3顶层电路的设计………………………………………………………………11
4电路的仿真及分析………………………………………………………………13
4.1单元模块的仿真及分析………………………………………………………13
4.1.1分频/计量控制模块………………………………………………………13
4.1.2译码显示模块……………………………………………………………14
4.2顶层电路的仿真及分析………………………………………………………15
5硬件调试………………………………………………………………………17
6心得体会…………………………………………………………………………18
参考文献…………………………………………………………………………19
摘要
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用单片机74hc573为中心器件来设计交通灯控制器。
关键词单片机;交通灯;应急
Abstract
Inrecentyears,withtherapiddevelopmentofscienceandtechnology,theapplicationofSCMisunceasinglythorough,andpushthetraditionalcontroltesttechnologyisupdated.Inrealtimedetectionandautomaticcontrolofthemicrocomputerapplicationsystem,thesinglechipmicrocomputeroftenasacorecomponenttouse,onlysinglechipmicrocomputeraspectsknowledgeisnotenough,shouldaccordingtothespecifichardwarestructurewithhardwareandsoftware,tobeperfect.
Crossroadstransports,bustlingpedestrian,autolane,ahumanitarian,inanorderlyway.Sowhattodothisbyanorder?
Thetrafficlightsonistheautomaticcommandsystem.Therearemanywaystocontrolthetrafficlights.ThesystemUSESseriesmicrocontroller74hc573asthecenterdevicetodesigningtrafficlightcontroller.
1绪论
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
2设计内容及要求
2.1设计的目的及主要任务
2.1.1设计的目的
①加强对单片机的学习、使用。
②掌握交通灯的主要功能与单片机控制下的工作方法。
2.1.2设计任务及主要技术指标
要求甲车道和乙车道两条交叉道路上的车辆交替运行(以红绿灯指示),每次通行时间设为0—30秒(可预置);变更车道以前,黄灯先亮5秒钟,黄灯亮时,要求每秒钟闪亮一次;两个车道均以减计数方式显示时间。
其余部分可根据情况自行发挥。
确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述基本原理。
绘制总体电路原理图。
2.2设计思想
本次设计首先在c环境中对交通灯工作进行程序设计,生成模块。
而整个设计的核心部分就在用单片机控制交通灯灯的亮与灭及数码管的显示。
随后运用仿真软件对其予以仿真,从仿真的结果中分析程序的正确性。
待所有模块的功能正确之后,再在电路板上连接电路,在单片机上输入程序,最后调试实物。
3设计原理及单元模块设计
3.1设计原理及方法
根据层次化设计理论,该设计问题自顶向下可分为LED模块、数码管显示模块、锁存器驱动模块、单片机控制模块,其系统框图如图所示。
图3-1系统框图
3.2单元模块设计
3.2.1LED链接
由于LED灯有两种链接方法:
1.共阴
2.共阳
由于LED灯的适用电压为2.8-3.2,所以在使用时应该串联一个200-1K的电阻
本设计使用的LED灯的共阳极接法
3.2.2数码管显示模块
单片机应用系统中常用的显示器有发光二极管(LED)液晶显示(LCD)和荧光显示器。
这三种显示器都有一两种显示结构:
段显示(7段.“米”字型)和点阵显示(5*7.5*8.8*8)发光二极管显示又分固定显示和动态显示和可拼装
的的大型显示,此外还有共阴共阳之分。
本系统采用8位的动态数码显示。
控制数码显示的数据由两部分组成,一部分为笔段亮灭控制的信号输入由“A、B、C、D、E、F、G、DP”端口输入,而控制位显示的控制信号由“CS1、CS2、”端口输入,同时该动态数码显示采用共阴型数码管,单片机芯片的P2口和P3口引脚构成了8位LED数码管驱动电路;共阴型数码管的笔段引脚是二极管的正极,所有二极管的负极连在一起,构成了公共端,即片选端,对于这种数码管的驱动,要求在片选端提供低电平在位选端提供高电平,为此,使用了74HC573为数码管驱动,在单片机的P1口为数码管提供低电平这样,当P2和P3中某引脚输出是高电平时,P1口某引脚为低电平时相应位的数码管供电,该位数码管的笔段亮,反之,如果某引脚是低电平时,三极管不导通,所以该位数码管是否点亮,点亮哪些笔段,取决于这些笔段引脚是高或低电平。
数码管是怎样来显示1,2,3,4呢?
数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。
我们分别把他命名为A,B,C,D,E,F,G,DP。
由于接法为共阴接法,那么为1(高电平)是亮,为0(低电平)是灭。
从高到低排列,写成二进制,再转为16进制。
我们可以根据硬件的接线把数码管显示数字编制成一个表格,
数字
0
1
2
3
4
5
6
7
8
9
代码
0X3f
0X06
0X5b
0X4f
0X66
0X6d
0X7d
0X07
0X7F
0X6f
3.3锁存器驱动模块
74HC573为8进制3态费反转透明锁存器,每个存储具有独立的D型输入以及适用于面向总线的应用的三态输出,所有锁存器共用一个锁存使能LE和一个使能输出OE。
当LE为高时数据从Dn输入到锁存器,在此条件下锁存器进入透明模式,也就是说锁存器的输出状态将会随着对应的输入的变化而变化,当LE为低时,锁存器就将输入的数据锁存输出,直到下一个LE的高电平来临。
当OE为低时,8个锁存器的内容可被正常输出,当OE为高电平时输出为高阻态。
本设计中仅利用改芯片的驱动作用,以驱动数码管正常工作。
3.4单片机控制模块
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.
对51系列单片机来说,最小系统一般应该包括:
单片机、晶振电路、复位电路.
下面给出一个51单片机的最小系统电路图.
3.5交通管理方案论证
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为A、B两干道的公共停车时间。
设A比B的车流量大,指示灯燃亮的方案如。
25s5s25s5s……
A道红灯亮红灯亮绿灯亮黄灯亮……
B道绿灯亮黄灯亮红灯亮红灯亮……
说明:
(1)当A方向为红灯,此道车辆禁止通行,B道行人可通过;B道为绿灯,此道车辆通过,时间为25秒。
(2)B黄灯闪烁5秒,警示车辆和行人红灯的状态即将切换。
A红灯禁行,时间为5s
(3)当B方向为红灯,此道车辆禁止通行;A转为绿灯;时间为25秒。
(4)B继续5s红灯,A黄灯闪烁5秒。
(5)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
(6)可根据车流量动态设定红绿灯初始值。
4软件流程
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitd_r=P2^0;
sbitd_g=P2^1;
sbitd_y=P2^2;
sbitn_r=P2^3;
sbitn_g=P2^4;
sbitn_y=P2^5;
sbiten=P3^0;
sbitwei1=P3^1;
sbitwei2=P3^2;
sbitwei3=P3^3;
sbitwei4=P3^4;
sbitbeer=P3^5;
ucharcodetable[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
ucharcounter;
ucharge,shi,bai,qian;
uintsec=60;
staticucharj=0;
staticuchark=0;
voiddelay(ucharz)
{ucharx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);}
voidshijian1()
{en=1;P0=0;en=1;
switch(j++)
{case0:
wei1=0;wei2=1;wei3=1;wei4=1;en=1;P0=table[ge];en=0;P0=0;delay(30);break;
case1:
wei1=1;wei2=0;wei3=1;wei4=1;en=1;P0=table[shi];en=0;P0=0;delay(30);break;
case2:
wei1=1;wei2=1;wei3=1;wei4=1;en=0;P0=table[bai];en=0;P0=0;delay(30);break;
case3:
wei1=1;wei2=1;wei3=1;wei4=1;en=0;P0=table[qian];en=0;P0=0;delay(30);j=0;break;
}}
voidshijian2()
{en=1;P0=0;en=1;
switch(k++)
{case0:
wei1=1;wei2=1;wei3=1;wei4=1;en=0;P0=table[ge];en=0;P0=0;delay(30);break;
case1:
wei1=1;wei2=1;wei3=1;wei4=1;en=0;P0=table[shi];en=0;P0=0;delay(30);break;
case2:
wei1=1;wei2=1;wei3=0;wei4=1;en=1;P0=table[bai];en=0;P0=0;delay(30);break;
case3:
wei1=1;wei2=1;wei3=1;wei4=0;en=1;P0=table[qian];en=0;P0=0;delay(30);k=0;break;}}
voiddisplay1()
{if(sec>=35)//东红、南绿亮25S,
{d_y=1;//关闭东黄闪
n_r=1;
d_r=0;
n_g=0;}
if(30{n_g=1;
d_r=0;}
if(5<=sec&&sec<=30)//东绿、南红亮25s
{n_y=1;//关闭南黄闪
d_r=1;
d_g=0;
n_r=0;}
if(0<=sec&&sec<=5)//南红亮5s,东黄闪5s
{n_r=0;
d_g=1;}
if(sec==0)
{sec=60;}}
voidmain(void)
{TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while
(1)
{display1();
if(sec==60)
{wei1=0;wei2=1;wei3=1;wei4=1;en=1;P0=table[0];en=0;P0=0;delay(30);
wei1=1;wei2=0;wei3=1;wei4=1;en=1;P0=table[3];en=0;P0=0;delay(30);}
if(30{shijian1();}
if(0<=sec&&sec<=30)
{shijian2();}
if(sec==0)
{sec=60;
}}}
voidinterrupt_timer0()interrupt1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
counter++;
if(counter==20)
{sec--;
counter=0;
ge=(sec-30)%10;
shi=(sec-30)/10%10;
bai=sec%10;
qian=sec/10%10;
if(sec<=35&&sec>=30)
{n_y=~n_y;
beer=~beer;}
if(0<=sec&&sec<=5)
{d_y=~d_y;
beer=~beer;
}}}
5电路的仿真及分析
设计的验证是一个重要但费时的环节。
由于验证方法手段不断改进和提高,对于一个系统的设计,提倡用软件、硬件协同验证方法,加速仿真过程。
有经验的设计师认为,一个设计项目的成功与否,关键是仿真,其中涉及工作的90%时间花在仿真验证上。
仿真有功能仿真与时序仿真之分。
在逻辑综合和布线之前对VHDL模型的逻辑功能进行仿真,可以有效提高效率。
以下是对本次设计的各个模块以及顶层电路进行的功能仿真及分析。
如下图为仿真图,在仿真中能够很好地显示、工作。
以此为基础搭建实物电路板。
6硬件制作与调试
仿真成功后,以此为基础制作可以用最小系统控制的的包含数码管、LED灯、锁存器的电路板。
选用器材有74hc573一片,两位共阴数码管2个,1K电阻6个,红、黄、绿交通灯各2个,开关一个、连线若干。
制作成功电路板后,链接最小系统,并输入程序,使数码管与红黄绿灯能按设计的工作流程工作,能够循环指示交通,以此证明电路能够正常工作,课程设计圆满完成。
7心得体会
通过本次交通信号灯控系统的设计,我大有收获,在制作过程中,一定要注意的每个工作步骤的检查,确保制作成功。
比如在合理布线,检查装配无误的情况下,如果还出现电路无输出的情况,那么可以肯定是原理图错误,这时就要回到原理图进行检查。
总体的检查顺序应该是原理图、PCB图、装配情况、焊接工艺。
从整体来说这是一个复杂的过程,要细心谨慎,沉着冷静,反复检查,直到找到原因为止。
通过本次设计,让我更加了解了理论和实践相结合的重要性.让我在实际生活中看到的东西不会再感觉到那么奇怪.由于本次课程设计与我们的生活息息相关,因此格外感到有兴趣.学习让我个人感觉学单片机要先从硬件入手,因为知道了硬件,才知道了我们编程的目的。
这里数电和摸电是要学好的,当然可以用学单片机的机会反过来学习它们。
但是硬件是一定要懂的。
而后是编程了,由于有C语言的基础,基本还是可以想出来的.多注意单片机的外围接口,和他们的实现方法,因为不同的电路,编程是不一样的,即使他们的目的一样。
通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
参考文献
[1]张毅坤.单片微型计算机原理及应用,西安电子科技大学出版社1998
[2]余锡存曹国华.单片机原理及接口技术[M].陕西:
西安电子科技大学出版社2000
[3]雷丽文等.微机原理与接口技术[M].北京:
电子工业出版社1997
[4]高海生等主编.单片机及应用技术大全[M].成都:
西南交通大学出版社.1996:
78-82
[5]王福瑞.单片微机测控技术大全[M].北京:
北京航空航天大学出版社.1999:
94-108
[6]沙占友.新型单片机开关电源的设计与应用[M].北京:
电子工业出版社.2001:
32-48
[7]侯自林.过程控制与自动化仪表[M].北京:
机械工业出版社.2000:
207-232
[8]徐惠民等.单片机微型计算机原理、接口及应用.北京:
北京邮电大学出版社.2000:
198-209
[9]何立民.单片机应用系统设计.北京:
北京航空航天大学出版社.1990:
101-156
本科生课程设计成绩评定表
姓名
性别
男
专业、班级
课程设计题目:
交通信号灯控制器的设计
课程设计答辩或质疑记录:
成绩评定依据:
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日