交通灯.docx
- 文档编号:3465505
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:12
- 大小:214.88KB
交通灯.docx
《交通灯.docx》由会员分享,可在线阅读,更多相关《交通灯.docx(12页珍藏版)》请在冰豆网上搜索。
交通灯
单片机课程设计
交通灯的设计
一、引言
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
交通灯是交管部分管理城市交通的重要工具。
现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。
目前绝大部分交通灯其时间都是设定好的,采用的是单段式定时控制或多段式定时控制,其最大的缺点是绿灯时间和绿信比是固定的或是分时段固定的,且最佳绿灯时间和最佳绿信比的整定较为困难,需要大量的实测统计数据,且很多情况下整定所得值并不是最优的,甚至是不合理的。
控制起来都不是很灵活,这使得城市车流的调节不能达到最优。
这次设计正是针对这一弊端进行了改进,较好地解决了这一问题。
根据实时车流量对各路口的绿灯时间进行动态调节,大大加强了其灵活性和实时性,本系统能自动检测当前的车流量并计算出当前的最佳绿灯时间和最佳绿信比,当车流量变化时,其最佳绿灯时间和最佳绿信比也随之变化,实现了真正的动态控制。
本着“先到先服务”的原则,在保证交通安全性不降低的条件下提高了交通效率。
与传统的交通控制系统相比,该控制系统有一定的智能水平和很强的控制能力。
二、设计目的
1、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过交通信号灯控制系统的设计,掌握定时/计数哭的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
3、学习电子设计的一般方法,掌握AT89C52芯片以及简单电子设计过程和运行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体设计能力。
4、通过计算和绘制原理图、布线图和流程图,学会运用标准、规范、手册、图册和查阅有关技术资料等,培养电子设计的基本技能。
5、通过完成一个包括电路设计和程序开发的完整过程,了解开发单片机应用系统全过程,为今后从事的工作打基础。
三、设计原理
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
主要功能特性:
•兼容MCS51指令系统
•8k可反复擦写(>1000次)FlashROM
•32个双向I/O口
•256x8bit内部RAM
•3个16位可编程定时/计数器中断
•时钟频率0-24MHz
•2个串行中断
•可编程UART串行通道
•2个外部中断源
•共6个中断源
•2个读写中断口线
•3级加密位
•低功耗空闲和掉电模式
•软件设置睡眠和唤醒功能
四、程序运行与调试
在设计中利用软件程序延时的方法来控制红(绿)的亮的时间。
考虑延时时间较长所以先用T0产生终端然后通过计数的方法来实现延时。
利用P1口的P1.1、P1.2、P1.3作为红绿灯控制端口。
南北向的绿灯连在一块,东西向的红灯连在一块,他们一块与P1.1相连。
同样南北向的红灯连在一块,东西向的绿灯连在一块,他们一块与P1.2相连,四个黄灯连在一块与P1.3相连。
焊接时注意各个器件的引脚处,注意区分各个电阻与电容的数值要仔细看清楚,每一个器件都要尽量贴近印制板,最后,要用万用表测试一下,检查有没有短路的的地方。
在设计电路时为节省引线数目利用P1.3作为电源驱动led但是这样驱动的led亮度有限尤其是绿灯几乎不亮,所以测了一下高电平下的P1.3得知为2V左右所以改为5V电源。
在编写延时程序时尤其当延时常数太大时仿真时程序易死,所以使用定时器定时中断的方法,然后对定时计数以次延时。
源程序代码
;
ORG000H
AJMPMAIN
ORG0030H
;************CHECKKEY********
MAIN:
MOVP3,#0ffh
mova,P3
XRLa,#0ffh
JZMAIN;NOKEYPUTDOWN
MOVA,P3
XRLA,#0FEH
JZLOOP1;KEY1PUTDOWN
MOVA,P3
XRLA,#0E7H
JZLOOP2;KEY2PUTDOWN
MOVA,P3
XRLA,#0EFH
JZLOOP3;KEY3PUTDOWN
MOVA,P3
XRLA,#07EH
JZLOOP4;KEY4PUTDOWN
AJMPMAIN
;*******************
LOOP1:
MOVR0,#08H
MOVA,#07FH
LOOP11:
MOVP1,A
MOVP2,A
RRCA
CALLDELAY
DJNZR0,LOOP11
RET
;********************
LOOP2:
MOVR0,#0AH
MOVA,#0FFH
LOOP21:
MOVP1,A
MOVP2,A
RLCA
CALLDELAY
XRLA,#07FH
DJNZR0,LOOP21
RET
LOOP3:
MOVR0,#0AH
LOOP31:
MOVA,#0AAH
MOVP1,A
MOVP2,A
CALLDELAY
RRCA
DJNZR0,LOOP31
RET
;************************
LOOP4:
MOVR0,#0AH
MOVA,#0FFH
CLRC
LOOP41:
MOVA,#055H
MOVP1,A
MOVP2,A
CALLDELAY
RLCA
DJNZR0,LOOP41
RET
;**************************
DELAY:
MOVR5,#10h
DELAY1:
MOVR6,#50h
DELAY2:
MOVR7,#050h
DJNZR7,$
DJNZR6,DELAY2
DJNZR5,DELAY1
RET
END
C语言源程序代码;
#include
unsignedcharcount,scan,i;
voidkey1(void);
voidkey2(void);
voidkey3(void);
voidkey4(void);
//定义全局变量
voiddelay10ms(unsignedchartime)
{
unsignedinti;
while(time--)
{
for(i=0;i<125;i++)
{;}
}
}
voidmain(void)
{
while
(1)
{
scan=P0;
switch(scan)
{
case0xfe:
key1();break;
case0xf7:
key2();break;
case0x7f:
key3();break;
case0xdf:
key4();break;
}
}
}
voidkey1(void)
{unsignedchartemp=0xfe;
for(i=0;i<8;i++)
{
P1=temp;
P2=temp;
temp=(temp>>(8-1))|(temp<<1);
delay10ms(100);
}
}
voidkey2(void)
{
unsignedchartemp=0x7f;
for(i=0;i<8;i++)
{
P1=temp;
P2=temp;
temp=(temp<<(8-1))|(temp>>1);
delay10ms(100);
}
}
voidkey3(void)
{
unsignedchartemp=0xfe;
for(i=0;i<8;i++)
{
P1=temp;
P2=temp;
delay10ms(100);
temp=(temp>>(8-2))|(temp<<2);
}
}
voidkey4(void)
{
unsignedchartemp=0x7f;
for(i=0;i<8;i++)
{
P1=temp;
P2=temp;
delay10ms(100);
temp=(temp<<(8-2))|(temp>>2);
}
}
PROTEUS仿真:
五、体会
单片机课程设计是通信专业的必修课。
经过查资料、选方案、设计电路、撰写设计报告、使我得到一次较全面的工程实践训练。
理论联系实际,提高和培养创新能力,为后续课程的学习,毕业设计,毕业后的工作打下基础。
同时,结合EDA技术,进行仿真设计,可以体现现代化的设计方法和理念,使电子课程设计在培养学生能力方面,得到比较大的提高
在此次的交通灯的设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法.在连接24进制,60进制的进位及十二进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了.在设计电路中,往往是先仿真后连接实物图,但有时候仿真和电路连接并不是完全一致的,例如仿真的连接示意图中,往往没有接高电平以及接低电平,因此在实际的电路连接中往往容易遗漏.
我认为,积极地参与电子课程设计设计,不仅可以充分的体会到自己动手实践的乐趣,获得哪怕是前进一小步时候的那种成功的喜悦,还有以下的几点收获:
(1)有利于我们学习能力的提高。
这里所说的学习能力包括获取资料的能力、理解前人思路的能力、系统设计能力、动手能力、分析排除故障能力、表达能力等很多方面,电子设计设计的赛制决定了上述能力缺一不可。
(2)有利于我们团队精神的培养。
在课堂之外实际的工作中,我们一般都要与人合作共同完成某一项目,这就非常需要团队精神,而这一点在课堂常规教学中得到的锻炼是很有限的。
电子设计设计要求三人组队参赛,集体计算成绩,这就要求三个人必须互相信任、互相配合、分工合作。
在顺境时小组成员要相互提醒保持冷静,逆境时要相互鼓励共度难关,出现问题时不能相互埋怨。
这些与课堂教学强调独立性是有明显区别的。
(3)有利于我们心理素质的锻炼。
电子课程设计时间决定了设计结果的产生会有很大的不确定性,一个极其偶然的失误都会导致最终的不理想结果,因此需要参赛者具备良好的心理素质,全心全意投入紧张激烈的比赛,并且以一颗平常心面对最终的结果。
那么,如何来准备电子设计设计呢?
我认为,电子设计设计不是一个孤立的设计,它是同我们电子科学相关专业的课程密切结合的,是专业课体系化的过程,与培养自身全面素质是紧密相关的。
因此准备设计并不是一个短期行为,而是一个长期的过程。
第一,兴趣培养。
在这段时间,我在业余时间经常看些普及型的杂志图书,在书中遇到一些小方案也经常自己动手实践一下。
比如我喜欢看办了几十年的《无线电》杂志、还有《电子世界》、《电子制作》等等,毫不夸张地说,这些杂志很经典。
看这些杂志的目的很简单,那就是培养兴趣。
美国教育心理学家华尔特·科勒斯涅克说过:
“兴趣可以看成既是学习的原因,又是学习的结果。
正像兴趣是过去学习的产物一样,兴趣也是今后学习的手段。
”心理学研究也表明:
一个人做他感兴趣的事,可以发挥智力潜能的80%以上;而做不感兴趣的事情,则只能发挥智力潜能的20%左右。
我国古代著名的思想家、教育家孔子早在两千多年前就认识到了兴趣在学习中的作用。
他在《论语》中提出:
“知之者不如好之者,好之者不如乐之者。
”孔子把学习划分为三个层次:
第一个层次是知学,即知道学习的重要性和必要性;第二个层次是好学,即爱好学习,对学习有兴趣;第三个层次是乐于学习,能从学习中获得无穷无尽的乐趣。
在这三个层次中,知学不如好学,好学不如乐学,只有激发和培养对学习的浓厚兴趣,乐在其中,才能获得最好的学习效果。
因此,我建议,求学之初的同学,要注意激发和培养学习兴趣,这样可以使自己注意力高度集中,观察力敏锐,思维活跃,想象丰富,并且可以激发灵感,增强自信心,取得理想的学习效果。
第二、“基础知识储备、实践锻炼”。
在大一到大二这个时候,我对自己就有了更高的要求。
在学好专业基础课的同时,我重点学习了一些应用技能。
比如,我学习了一些常用EDA软件的使用,熟悉了实验室制版的流程,强化了自己的软件编程能力,熟练掌握了硬件描述语言。
在学习掌握这些实践应用基本技能的同时,我经常会找一些方案来实践一下。
我们学校从学校、学院到电子创新基地都给大家提供了大量资金和技术的支持,学校、学院为大家提供了各种创新基金,以及创新基地的项目训练,再加上指导老师的帮助等等,我们的机会还是很多的,关键看自己是否努力了。
第三、“设计后的继续学习”。
设计完成以后,也就是我现在所处的时期。
于是,现在的我对设计和以前的学习有了新的认识,其实比起各位研究生师兄师姐们所做的科研项目来说,我参加电子设计设计的经历简直是小巫见大巫,根本不值一提的,参加设计仅仅是使我们了解一些目前比较先进的技术、掌握一些实用的技能,为今后从事科研工作打下一定的基础,缩短“入门”的时间,但就具体的专业水平,技术水准来说,只是刚刚入门,后面还有更长的路要走。
六、参考文献
[1]洪伟,牟轩沁.交叉路网交通灯的协调模糊控制方法.系统仿真学报,2008.013(005):
551
[2]杨显富,基于EDA技术的交通灯自适应控制系统.成都大学学报(自然科学版),2007.022(003):
19-24
[3]张涛,杜树新,吴铁军.一种面向多相位的交叉口信号灯描述模型.公路交通科技,2004.021(008):
87
[4]迟晓君,林彬.青岛市智能交通系统分析与展望.中共青岛市委党校青岛行政学院学报,2004.000(001):
64-66
[5]张仁正,乐宁.智能交通系统核心技术浅析之一.现代信息技术,2003.000(009):
25-27
[6]周辉,何红波,彭银桥.城市交通智能红绿灯控制系统(论文),长沙,中南大学铁道校区信息工程学院
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯