课程设计论文基于at89c51单片机的交通信号灯控制系统.docx
- 文档编号:27884065
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:12
- 大小:79.18KB
课程设计论文基于at89c51单片机的交通信号灯控制系统.docx
《课程设计论文基于at89c51单片机的交通信号灯控制系统.docx》由会员分享,可在线阅读,更多相关《课程设计论文基于at89c51单片机的交通信号灯控制系统.docx(12页珍藏版)》请在冰豆网上搜索。
课程设计论文基于at89c51单片机的交通信号灯控制系统
摘要
随着中国城镇化速度的较快,交通事故也日趋发生,所以合理的交通控制方法能有效的缓解交通拥挤、减少尾气排放及能源消耗、缩短出行延时,改善我国独有的交通问题。
而平面交叉口是城市交通的关键,它是整个城市道路的瓶颈地带,对其进行交通信号控制方法的研究具有重大意义。
所以交通信号灯是维护城市交通的主要设施,而我们本次复杂的十字路口交通灯控制系统设计主要是利用AT89C51制作并仿真.并且在单片机的选择上,考虑到电路的简单和成本的削减,我们选择性价比最好的AT89C51,而且能够使程序简单。
对紧急车辆通过的处理,采用中断的方法,由中断处理程序处理。
通过单片机控制交通灯不仅能提高我们理论联系实际的能力,而且能够熟练掌握汇编语言的编程方法,掌握定时/计数器的使用方法和简单程序的编写,最终提高逻辑抽象能力和动手能力。
关键字:
AT89C51中断交通信号控制
1概述
目前在世界范围内,一个以微电子技术、计算机和通信技术为先导的,以信息技术和信息产业为中心的信息革命方兴未艾。
为使我国尽快实现经济信息化,赶上发达国家水平,必须加速发展我国的信息技术和信息产业。
而计算机技术怎样与实际应用更有效的结合并有效的发挥其作用是科学界最热门的话题,也是当今计算机应用中空前活跃的领域。
本文主要从单片机的应用上来实现十字路口交通灯的管理,用以控制过往车辆的正常运作。
本设计从定时控制控制着手,解决交叉口信号控制中存在的问题:
定时控制信号周期固定,不能根据实际的交通流状况随时调整信号控制参数,因此造成很多不必要的时间等待和资源浪费;对左转车辆较少的单交叉口一般采用有固定左转相位的定时控制方法,此信号控制中的左转车辆通行对直行车辆影响很大;行人过街信号与上游交叉口的不协调导致车辆通过上游交叉口后遇到行人过街而再次停车。
基于上述交叉口信号控制存在的问题,本设计进行了如下研究:
①介绍了常用定时信号控制算法和感应信号控制的基本工作原理,分析了传统定时控制的优越性和局限性。
②设计了一种多周期的交叉口定时信号控制方法,这种方法能使交叉口根据实际交通情况选择合理的定时信号配时方案。
③设计了两种行人过街信号控制方法。
当上游交叉口是定时控制时,行人信号采用与上游交叉口协调信号控制方法;当上游交叉口是感应控制时,行人信号采用感应信号控制方法,并与定时控制进行了仿真比较。
本设计将要完成红灯停,绿灯行,黄灯停2S的操作,并且如当一道有车而另一道无车是,交通灯控制系统能立即让有车的车道放行;当有紧急车辆(如110、112、119等急救车)要求通过时,此系统应能禁止普通车辆通行,路口的信号灯全部变红,以便让紧急车辆通过。
假定紧急车辆通过时间为2s,紧急车辆通过后,交通灯恢复先前状态。
2原理及说明
首先了解实际交通灯的变化情况和规律。
假设一个十字路口如下图1所以,为东南西北走向。
初始状态0为东西南北都红灯亮。
然后转状态1东西绿灯通车,南北红灯亮。
过一段时间后,转状态2,东西绿灯灭,黄灯闪几下,南北还是红灯。
再转状态3,南北绿灯通车,东西红灯亮。
过一段时间后转状态4,南北绿灯灭,闪几个黄灯,东西还是为红灯亮,一段时间后,又循环至状态1。
列出交通信号灯的状态表如表1所示(其中,1代表灯亮,0代表灯灭)。
图1红绿灯控制系统流程图
对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。
通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。
每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。
通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。
3硬件电路设计
3.1单片机复位电路
单片机的复位操作有上电自动复位和手动按键复位两种方式。
本次设计采用上电复位电路设计,如下图2所示。
图2上电复位电路
上电瞬间由于电容C上无储能,其端电压近似为零,RES获取高电平,随着电容器C的充电,RES引脚上的高电平将逐渐下降,当RST引脚上的电压小于某一数值后,单片机就脱离复位状态,进入正常工作模式。
只要高电平能保持复位所需要的时间(约两个机器周期),单片机就能实现复位。
3.2交通LED灯外围驱动电路
将A道上的两个同色灯连在一起,B道上的同色灯也彼此相连(此处用发光二极管模拟实际的交通灯,各发光二极管的阳极通过保护电阻接到十5v的电源上,发光二极管的阴极接到单片机的P1口)用89C51单片机的P1.0—P1.5共六根输出线控制各色交通灯的点亮与熄灭;A、B道上有无车辆的信号输入给P1.6、P1.7口,紧急车辆通过时,采用外部触发按键实时中断方式进行处理。
根据该系统的功能要求及所用元器件,设计硬件电路,电路原理图如图3所示。
图3交通LED外围电路
3.3单片机主电路
这次设计用到了AT89C51单片机如图4所示.
图4单片机引脚结构图
采用这款芯片及克服了采用8031需要添加外部外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。
AT89C51单片机芯片具有以下特性:
1)指令集合芯片引脚与Intel公司的8051兼容;
2)4KB片内在系统可编程FLASH程序存储器;
3)时钟频率为0~33MHZ;
4)128字节片内随机读写存储器(RAM);
5)6个中断源,2级优先级;
6)2个16位定时/记数器;
3.4整体电路图设计
本次设计采用AT89C51单片机,其中P1.0—P1.5共六根输出线控制各色交通灯的点亮与熄灭;A、B道上有无车辆的信号输入给P1.6、P1.7口,紧急车辆通过时,采用外部触发按键实时中断方式进行处理。
下图5为整个交通灯控制系统的整体电路图。
图5AT89C21单片机交通灯控制电路
4软件设计
4.1系统程序流程图设计
根据硬件电路原理图,并按系统的功能画出程序流程图。
由于此系统较为简单,故采用自上而下的设计方法,进行程序设计;对紧急车辆通过的处理,采用中断的方法,由中断处理程序处理。
程序流程如下图6所示。
图6交通控制系统程序流程图
其中P1.6=0,表示A道有车通过;Pl.6=1,表示A道无车通过;p1.7=0,表示B道有车通过;P1.7=1,表示B道无车通。
设计中断处理程序时,最主要的地方是如何保护进入中断前的状态(信号灯、P口、单片机寄存器的状态),使得中断程序执行完毕后能问到交通灯中断前的状态。
除了保护累加器ACC、标志寄存器PSW外,还要注意主程序中的延时程序和中断处理程序中的延时程序不能混用。
4.2系统程序设计
如下所示为整个系统控制程序:
ORG0000H;程序代码由地址0开始执行
LJMPSTART
ORG0003H
LJMPTOINT;中断服务程序
ORG1000H
START:
SETBIE.0
SETBIP.0
CLRTCON.0
ENTER:
CLREA
MOVR4,#60;设置A道总延迟时间R4*2s
MOVP1,#11110011B;设置A道亮绿灯,B道亮黄灯
CLRF0
SETBEA
LOOP1:
ACALLDELAY
DJNZR4,PA1
AJMPLL1
PA1:
MOVC,P1.6;判断A道有没有车通过
JNCLOOP1
LL1:
MOVP1,#11110101B;设置A到亮黄灯,B道亮红灯
ACALLDELAY
CLREA
MOVR5,#45;设置B道总延迟时间R5*2s
MOVP1,#11011110B;设置A道亮红灯,B道亮绿灯
SETBF0
SETBEA;允许外部中断
LOOP2:
ACALLDELAY
DJNZR5,PB1
AJMPLL2
PB1:
MOVC,P1.7;判断B道有没有车通过
JNCLOOP2
MOVC,P1.6
JCLOOP2
LL2:
MOVP1,#11101110B;设置A道亮红灯,B道亮黄绿灯
ACALLDELAY
AJMPENTER
DELAY:
MOVR1,#14H;延迟子程序,总延迟时间20*200*250*2μs
MM1:
MOVR2,#0C8H;R2=200
MM2:
MOVR3,,#0FAH;R3=250
MM3:
DJNZR3,MM3
DJNZR2,MM2
DJNZR1,MM1
RET
END
TOINT:
PUSHP1;存储P1口状态
PUSHACC
PUSHPSW
MOVC,F0
JNCPA
SETBP1.5
CLRP1.4
ACALLDELAY
MOVP1,#11110110B;设置A道亮红灯,B道亮红灯
SJMPLOOP
PA:
SETBP1.2
CLRP1.1
ACALLDELAY
MOVP1,#11110110B;设置A道亮红灯,B道亮红灯
LOOP:
MOVC,P3.2
JNCLOOP
MOVC,F0
MOVP1,#11110011B;设置A道亮绿灯,B道亮红灯
LB:
MOVP1,#11011110B;设置A道亮红灯,B道亮绿灯
POPPSW
POPACC
POPP1
RET
总结
通过本次课程设计,我们在收获知识的同时,还收获了阅历,收获了成熟.虽然我们学习单片机已经一个学期了,但从未真正动手操作过实际的单片机,也从未通过实践检验自己平时编写的简易程序是否正确,经过这次的课程设计,真正的动手操作了单片机,同时也将自己平时写的认为对的程序付诸实践,这时才发现,尽管已经学了较长时间的理论了,但当真正将自己所谓的理论成果用来实现时,自己还有很多的细节没有注意到,可谓是错误百出,经过一次又一次的修改才最终成功实现。
在此过程中,我们通过查找资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。
更重要的是,我们学会了很多学习的方法。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践。
使用MCS-51单片机及KEIL作为我们的设计工具,很好地锻炼自己的语言编程能力,养成良好的语言编程风格。
不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。
完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。
当然,我们还存在着很多不足,设计中有很多还完善的地方,在设计中,老师给了我们很大的帮助,在这里表示感谢
致谢
本课题在选题及进行过程中得到王二萍老师的悉心指导。
且在论文书写过程中,老师多次帮助我分析思路,开拓视角,在我遇到困难想放弃的时候给予我最大的支持和鼓励。
使我可以按时完成课程设计并使自己的专业知识与综合能力都得到了相应的提高。
在课程设计过程中,老师在百忙中对我的课程设计进行了指导。
老师首先细致地为我解题;当我迷茫于众多的资料时,她又为我提纲挈领、梳理脉络,使我确立了本文的框架。
感谢老师对我的论文不厌其烦的细心指点。
参考文献
【1】《单片机原理与接口技术》--牛昱光、李晓林等编著,电子工业出版社
【2】《51单片机实验指导书》
【3】何立民.单片机高级教程[M].北京:
北京航空航天大学出版社,2001.
【4】赵晓安.MCS-51单片机原理及应用[M].天津:
天津大学出版社,2001.3.
【5】肖洪兵.跟我学用单片机[M].北京:
北京航空航天大学出版社,2002.8.
【6】夏继强.单片机实验与实践教程[M].北京:
北京航空航天大学出版社,2001.
【7】于凤明.单片机原理及接口技术[M].北京:
中国轻工业出版社.1998.
【8】陈伟人.单片微型计算机原理与应用[M].北京:
清华大学出版社,2006.5.
【9】李广第.单片机基础[M].第1版.北京:
北京航空航天大学出版社,1999.
【10】徐惠民、安德宁.单片微型计算机原理接口与应用[M].第1版.北京:
北京邮电大学出版社,1996.
【11】何立民.从Cygnal80C51F看8位单片机发展之路[M].单片机与嵌入式系统应用,2002年,第5期:
P5~8.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 at89c51 单片机 交通 信号灯 控制系统