交通灯设计 -_第1页
交通灯设计 -_第2页
交通灯设计 -_第3页
交通灯设计 -_第4页
交通灯设计 -_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计 说 明 书课程名称: 单片机技术 设计题目: 交通灯设计 学 院: 电子信息与电气工程学院 学生姓名: 陈鹏 学 号: 201202030018 专业班级: 2012级通信工程1班 指导教师: 张庭亮 2015年5月5日课 程 设 计 任 务 书设计题目 交通灯设计学生姓名陈鹏所在学院电子信息与电气工程专业、年级、班2012级通信工程一班设计要求: 利用单片机完成交通信号灯的设计,该交通灯由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三种信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管做信号灯。设计要求

2、过程如下: 过程1;东西方向为红灯开始闪烁时南北方向绿灯开始闪烁,当闪烁第十二次时东西方向红灯持续闪烁三次但是南北方向转为绿灯闪烁三次。(一个过程共十五秒)。过程2;南北方向为红灯开始闪烁时东西方向绿灯开始闪烁,当闪烁第十二次时南北方向红灯持续闪烁三次但是东西方向转为绿灯闪烁三次。(一个过程共十五秒)。 就以上述两种状态进行循环,行人和车辆就可以安全畅通的通行。学生应完成的工作: 1、了解交通灯管理的基本工作原理 2、熟悉52单片机中断控制器的工作原理和应用编程 3、熟悉20单片机并行接口的各种工作方式和应用 4、熟悉52单片机计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法

3、。 参考文献阅读: 1Altium Desiger教程 电子工业出版社 2单片机原理及应用(第二版)高等教育出版社 3交通灯数字控制系统的电路设计 辽宁省交通高等学府出版社 4微机原理与接口技术 西安电子科技大学出版社工作计划: 2015年4月20日2015年4月22日: 讨论、优化并最终确定设计方案; 2015年4月23日2015年4月26日:根据设计程序进行仿真、PCB制作等; 2015年4月27日2015年4月28日:根据PCB生成的电路板进行焊接操作; 2015年4月29日2015年4月30日:烧录程序并进行调试最终完成课程设计等待老师检验;任务下达日期:2015 年4月 20日 任务

4、完成日期:2015 年4月 30 日指导教师(签名): 学生(签名): 交通灯设计摘 要:近年来,随着科技的高速发展,单片机的应用正在不断深入,同时带动传统检测技术的日益更新,在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应该具体的与软硬件相结合,加以完善,本文主要从单片机的应用来实现十字路口交通灯智能化的管理,用于控制过往车辆的正常运作。本设计是一个以微电子技术,计算机和通信技术为先导的,而计算机技术怎样与实际应用更有效的结合病有效地发挥其作用是科学界最热门的话题,也是当今计算机应用汇总空前活跃的领域。十字路口车辆穿梭,行人熙攘,车行

5、车道,人行人道,有条不紊,此时交通信号灯就显得尤为必要,在本设计中,系统由单片机系统、按键、四位数码管显示等组成设计一个用于东西、南北走向的交通管理系统。南北方向车道和东西方向的车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒,支干道也是如此。系统除基本交通灯功能外,还设有倒计时功能。本结构系统简单操作方便,可实现自动控制具有一定的智能性。对优化城市交通具有一定的意义。关键词:交通灯;单片机;数码管目 录1.设计背景11.1 课题背景11.2 课题意义12.设计方案22.1 系统方案选择与论证22.2 系统方案总体设计2 2.2.1 硬件设计方案2 2.2.2 软件设计方案33

6、.方案实施43.1 系统硬件方案实施4 3.1.1电源电路4 3.1.2复位电路4 3.1.3数码管显示电路5 3.1.4 555时钟信号发生器模块6 3.1.5 状态控制电路模块63.2 系统软件方案实施7 3.2.1主程序实施方案7 3.2.2子程序实施方案74.结果与结论84.1 结果8 4.1.1 硬件测试与结果8 4.1.2 软件调试与结果84.2 结论95.收获与致谢106 参考文献117 附件121.设计背景1.1 课题背景随着经济的增长和人口的增加,人们生活方式的不断变化,人们对交通的需求不断增加。城市中交通拥挤、堵塞现象日趋严重,由此也造成巨大的经济与时间损失。随着城市化进程

7、的大大加快,又发的交通需求急剧增长,工序矛盾不断激化,严重的交通问题也随之而来。人、车、路三者关系的协调,也成为交通管理部门需要结局的重要问题之一。城市交通灯就是用于城市交通数据监测、交通灯信号控制与交通疏导的综合管理系统,他是现代城市交通监控指挥系统中最重要的部分。十字路口车辆穿梭,要保证有条不紊的进程就要归功于城市交通控制系统中的交通灯管理系统。交通灯对于疏导交通;流量、提高道路通行能力,减少交通事故有明显效果,使城市交通得意有效管理。1.2 课题意义近年来,随着科技的高速发展,单片机的应用正在不断深入,同时带动传统检测技术的日益更新,在实时检测和自动控制的单片机应用系统中,单片机往往作为

8、一个核心部件来使用,而同时,交通灯可以采用单片机控制的方法、利用单片机实现对交通信号灯的实时控制。所以只要采用一块单片机,加上简单的接口与驱动放大电路就可以实现控制交通指挥的作用,具有成本低、可靠性高。2.设计方案2.1 系统方案选择与论证方案一复位电路采用下拉电阻按键复位。晶振电路由12Mhz晶振芯片及两个瓷片电容构成,按键电路由按键连接单片机中断控制引脚进行紧急状态控制。用74LS373和74LS164来驱动七段数码管。单片机P1口输出低电平信号控制红绿灯。方案二复位电路、晶振电路、按键电路与方案一相同。但通过编程用单片机的P2口直接驱动2位共阳极七段数码管的段选,用P0.0、P0.1控制

9、数码管的位选,由P1口输出低电平信号控制红黄绿灯。经过讨论,方案二没有用74LS373和74LS164,使用硬件少,占用资源少。相对而言方案一简单实用,并且便于焊接制作。综合考虑采用方案二2.2 系统方案总体设计2.2.1 硬件设计方案在一个有主、支干道的十字路口,主、支干道各设置一组红、黄、绿三色的交通灯。红灯宝石禁止通行,绿灯亮表示可以通行。在绿灯变为红灯之前,黄灯先亮5秒,以提示未通行的车辆准备停车。并且设置数码管显示倒计时时间,以提示司机注意交通灯变换时间。由于主干道车辆较多,所以要求主干道处于通行状态的时间长一些,设为30秒;而支干道通行时间为20秒。交通控制系统主要控制A、B两车道

10、的交通,以AT89S52单片机为核心芯片,通过控制三色LED的亮灭来控制个车道的通行,另外通过两个按键来摸你各车道有无车辆的情况和有紧急车辆的情况,在正常情况下运行主程序时,采用0.5s延时子程序的反复调用来实现各种定时时间,并且当一车道有车而另一车道无车时,采用外部中断1执行中断服务程序,并设置中断为低优先级中断。当有紧急车辆通过时,采用外部中断0执行中断服务程序,并设置中断为高优先实现中断嵌套。2.2.2 软件设计方案 AT89S52 单片机 复位电路 晶振电路 按键电路七段数码管倒计 时显示电路 A、B车道LED显示电路 图2.1 系统整体设计框图开始初始化所有路口红灯亮5s紧急状态是否

11、按下中断按钮南北绿灯亮,东西红灯亮27s 南北黄灯闪,东西红灯亮3s Y南北红灯亮,东西绿灯亮22s所有路口红灯亮南北红灯亮,东西黄灯闪3s 图2.2主程序流程图 图2.3中断程序流程图3.方案实施3.1 系统硬件方案实施3.1.1电源电路R1为保护电路并且稳定电压减少电路振荡,R5为了使输出电压稳定,220V交流电经过变压器,再经过桥堆2W10整流,然后由电容C1滤波后变为脉动比较稳定的直流电,最后通过三端稳压器7805输出稳定的5V直流电压。电源电路如图所示。图3.1 电源电路3.1.2复位电路复位电路选用手动复位,整个电路一端接电源,另一端接芯片RST引脚上,该模块是使单片机的CPU或系

12、统中的其他部件处于某一确定的初始状态,并从这状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位电路以重新启动。按键电平复位电路,接至单片机复位端。复位电路图如图。图3.2复位电路3.1.3数码管显示电路道口通行剩余时间采用高亮红色7段LED发光数码管显示,P2.0到P2.7控制位选,P0.0和P0.1控制段选。采用共阳数码管。其显示电路如图。图3.3 数码管显示电路3.1.4 555时钟信号发生器模块由555时钟信号发生电路产生稳定的“秒”脉冲信号,确保整个电路装置及时工作稳定进行,用一片74LS161作为计数器,将其输出端通过

13、非门与74LS48相连后,把74LS48输出端连接到数码管上实现倒计时。用另外一片74LS161作为状态控制器,控制状态变量六个发光二极管与有状态控制器控制的74LS74的输出端通过门电路直接相连。在电路中,555时钟信号发生器产生一个以秒为单位的CP脉冲,计数器74LS161接受CP脉冲实现同步计时。通过非门连接计数器输出端与译码驱动电路,从而在数码管上显示倒计时。将两片计数器的仅为输出取反用以控制其自身循环置数,由此状态从00变至01,历时15s;从01至10,历时5s;从10至11历时10s;再从11至00;依次循环。状态不同,计数器置数和红绿灯如何显示不同;计数器置数不同,则模值不同,

14、状态改变时间也不同。3.1.5 状态控制电路模块然后状态控制电路74LS161控制计时电路74LS161的输入端。当状态控制电路的输出Q1Q0为00时实现模30的计数器,此时主干道的绿灯和支干道的红灯亮;为01时实现模5计数器此时主干道的黄灯和支干道的红灯亮;为10时实现模20的计数器,此时主干道的红灯和次干道的黄灯亮;然后Q1、Q0再回到00状态,这样就实现了交通灯的循环并且视线里主支干道通车时间不同的功能。3.2 系统软件方案实施3.2.1主程序实施方案主程序采用查询的方式定时,调用0.5s延时子程序的次数,从而获取交通灯的各种时间,子程序采用定时器1方式1查询方式定时,定时器定时50ms

15、,确定50ms循环20次从而获得1s的延时时间。3.2.2子程序实施方案当有车车道的放行中断服务程序首先要保护现场,因而要用到延时子程序,子程序采用定时器0方式1查询方式定时。保护现场时还需关中断,以防止高优先级中断出现导致程序混乱。开中断,由软件查询外中断1来判别那一道有车,再根据查询情况执行相应的服务,带交通灯信号出现后保持15s的延时然后,关中断恢复现场,在开中断返回主程序。紧急车辆出现时的中断服务程序也需要保护现场直接执行相应的服务,待交通灯信号出现后延时20s确保紧急车辆通过交叉路口,然后,恢复现场,返回主程序。4. 结果与结论4.1 结果4.1.1 硬件测试与结果此次课程设计完成了

16、以单片机为基础的十字口交通灯控制系统,本系统能够实现主干道与支干道交替通行,主干道通行30s,支干道通行30s,主干道绿灯亮15s后黄灯亮5s。支干道红灯亮15s,支干道通行时,支干道绿灯亮10s,黄灯亮5s。另外,主干道和支干道在通行时间内和禁止通行时间内均有倒计时显示。我们组经过两个星期的不懈努力,首先用altium designer进行电路仿真,仿真结果能正常运行。在进行PCB的制作,由此制成电路板,再运用keil软件进行程序的写入。但可惜的是虽然仿真时运行正常,但实物并没有达到预想的结果,只能沦为半成品。设计主程序及电路板的仿真与实物图及PCB等可参考附录。4.1.2 软件调试与结果软

17、件调试是利用开发工具进行在线编程调试,发现和纠正错误,同时也能发现一些硬件故障。二极管显示燃亮情况,编程时设计交通等状态与电路板情况不符,电路上二极管正极连接在VCC上,而负极通过74LS373接到单片机P2口,所以调用交通灯状态子程序时,交通灯明灭情况便反了,修改交通灯子程序,P2口设置成高电平时二极管不亮,设置为低电平时二极管亮。数码管显示倒计时,正常情况是每隔一秒的时间数码管显示的数据减一,但是具体情况并不清楚,具体原因是在本设计中,因定时器0工作在方式0,则5ms定时对应定时器初值为213-5000=3192此时定时器每个5ms就会技术溢出,并产生中断请求,但CPU并不一定立即响应中断

18、,而可能延迟一个中断响应时间之后才能响应,对于中断源系统来说,中断响应时间大约为3到8个机器周期。为了保证计时准确。必须采用措施进行补偿。本次设计程序中采用增大重装的定时器初值来减少定时时间。经过多次重置、测试。定时器0重新装入计数初值。可以满足精度要求。经过以上各个模块的测试,程序能够正确实现预期目的。4.2 结论由于技术限制及出于实际情况考虑,本系统采用方案一。虽然结果能够实现各项指标且很稳定,但没有采用分模块布线,所以在检查时可能会带来不便,不能够很快的确定是哪个模块出现了问题。并且,由于本人资历及经验还不够成熟,此次设计可能不能很好的满足司机与路人的实际需要,由此造成时间上的浪费,希望

19、大家理解。但总体来说此次设计还是可以的。5. 收获与致谢经过两个星期的不断努力,课程设计终于落下了帷幕。在此首先感谢张庭亮老师对我的倾力相助以及我的搭档对我的支持与协助。在此次课程设计中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于查处了原因所在也暴露了我自己的很多不足,自己知识能力的欠缺,以及自己时间经验的匮乏。理论与实际结合的能力还有待提高。在课程设计中,我明白了只有理论知识是远远不够的,必须将实践中的知识与之结合方能成功,让我深刻体味到了经验大于理论这句话的内涵。同时,这次课程设计让我看到了团队的合作的重要性,必须发扬团结协作的精神,通过此次课程设计,使我更加扎实的掌握

20、了有关单片机方面的知识。过而能改,善莫大焉。在课程设计中,我们不断发现错误,不断改正,不断领悟。虽然在最终的检测测试环节出现了些许问题,但却使我们明白在进行作品设计的同事应该符合人性化要求,应切合实际情况尽量满足人们的各种要求,在设计时,应该抱着“制作完成之后就能投入市场直接使用”的态度,而不是仅仅只是为了考核要求而设计制作。再这样的课程设计中,不仅培养了我们独立思考、动手操作的能力,在各种其他能力上也都有了提高,更重要的是我们学会了很多汲取知识的方法,让我们了解到面对社会的挑战,只有不断的学习、实践才能够取得成功。相信,在以后的学习生活中,不管有多苦,我都会变苦为乐,找寻有趣的事情,发现有用

21、的知识。6 参考文献1 杜尚丰. CAN总线测控技术及其应用M.北京:电子工业出版社,20102 杜树春.单片机C语言和汇编语言混合编程实例详解.M.北京:北京航空航天大学出版社,20083 谷树忠. altium desiger教程 M.北京:电子工业出版社,2009.4 张毅刚 .单片机及应用(第二版)M北京: 高等教育出版社,20035 张鑫. 单片机原理及应用 M.北京:电子工业出版社,2008 7 附件附件A 元器件列表 元器件名称型号规格数量备注单片机AT89S521晶振12M1瓷片电容30pF2电解电容10uF1电容33pF2发光二极管红色5个黄色5个绿色5个12按钮开关2电阻1

22、008电阻10k2数码管共阳极1两位七段数码管导线若干2脚插针2电池4底座40P1附件B 程序*第一个状态:主干道、支干道均亮红灯5S */*第二个状态:主干道亮绿灯30S、支干道亮红灯 /*第三个状态:主干道绿灯闪3次转亮黄灯、支干道亮红灯3S /*第四个状态:主干道亮红灯、支干道亮绿灯25S */*第五个状态:主干道亮红灯、支干道绿灯闪3次转亮黄灯3S */*返回到第二个状态 */*/* 11.0952M晶振*/#include<reg51.h>/头文件#include<intrins.h>/头文件#define uchar unsigned char/宏定义#de

23、fine uint unsigned int/宏定义sbit RED_ZHU = P10;sbit YELLOW_ZHU = P11;sbit GREEN_ZHU = P12;sbit RED_ZHI = P13;sbit YELLOW_ZHI = P14;sbit GREEN_ZHI = P15; uint aa, bai,shi,ge,bb; /定义变量/*数码管显示0-9*/uint code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/*子函数声明*/void delay(uint z);void delay0(ui

24、nt z);/void init(uint a);void display(uint ge,uint shi);void xtimer0();void init1();void init2();void init3();void init4();void init5();void xint1();void xint0();void LED_ON();void LED_OFF();/* 主函数*/void main()P0=0XFF;P1=0xFF; P2=0xFF;EA=1;/打开外部中断EX1=1;/允许外部中断1中断IT1=0;/INT0为沿触发方式 init1(); while(1) i

25、nit2();/第2个状态 init3(); /第3个状态 init4(); /第4个状态 init5();/第5个状态 void init1()/第一个状态:主干道、支干道均亮红灯5S uint temp;temp=6;/变量赋初值TMOD=0x01;/定时器0工作于方式1TH0=0x4c;TL0=0x00;/定时器赋初值EA=1;/开外部中断ET0=1;/开定时中断TR0=1;/开定时器0while(1)RED_ZHU=0; /第一个状态主干道、支干道均亮红灯5S RED_ZHI=0;GREEN_ZHU=1;GREEN_ZHI=1;YELLOW_ZHU=1;YELLOW_ZHI=1;if(

26、aa=20)/定时20*50MS=1Saa=0;/定时完成一次后清0temp-;/变量自增/delay(10);if(temp>250)/定时100Stemp=6;/变量清0break;shi=temp%100/10;/显示十位ge=temp%10;/显示个位 display(ge,shi); void init2()/第二个状态:主干道亮绿灯30S、支干道亮红灯uint temp;temp=31;/变量赋初值TMOD=0x01;/定时器0工作于方式1TH0=0x4c;TL0=0x00;/定时器赋初值EA=1;/开外部中断ET0=1;/开定时中断TR0=1;/开定时器0while(1)

27、RED_ZHU=1;RED_ZHI=0;GREEN_ZHU=0; GREEN_ZHI=1;YELLOW_ZHU=1;/第二个状态:主干道亮绿灯30S、支干道亮红灯 YELLOW_ZHI=1;if(aa=20)/定时20*50MS=1Saa=0;/定时完成一次后清0temp-;/变量自增if(temp=3)/定时100Stemp=30;/变量清0break;shi=temp%100/10;/显示十位ge=temp%10;/显示个位display(ge,shi);void init3() /第三个状态:主干道绿灯闪3次转亮黄灯、支干道亮红灯3S uint temp;temp=4;/变量赋初值TMO

28、D=0x01;/定时器0工作于方式1TH0=0x4c;TL0=0x00;/定时器赋初值EA=1;/开外部中断ET0=1;/开定时中断TR0=1;/开定时器0while(1)RED_ZHI=0;GREEN_ZHU=1;/YELLOW_ZHU=YELLOW_ZHU;if(aa=20)/定时20*50MS=1Saa=0;/定时完成一次后清0temp-;/变量自增YELLOW_ZHU=YELLOW_ZHU;if(temp>200)/定时100Stemp=4;/变量清0break;shi=temp%100/10;/显示十位ge=temp%10;/显示个位 display(ge,shi);void

29、init4()/第四个状态:主干道亮红灯、支干道亮绿灯25S uint temp;temp=26;/变量赋初值TMOD=0x01;/定时器0工作于方式1TH0=0x4c;TL0=0x00;/定时器赋初值EA=1;/开外部中断ET0=1;/开定时中断TR0=1;/开定时器0while(1)RED_ZHU=0; RED_ZHI=1;YELLOW_ZHU=1;/第一个状态主干道、支干道均亮红灯5S GREEN_ZHI=0;if(aa=20)/定时20*50MS=1Saa=0;/定时完成一次后清0temp-;/变量自增if(temp=3)/定时100Stemp=25;/变量清0break;shi=te

30、mp%100/10;/显示十位ge=temp%10;/显示个位 display(ge,shi);void init5()/第五个状态:主干道亮红灯、支干道绿灯闪3次转亮黄灯3S uint temp;temp=4;/变量赋初值TMOD=0x01;/定时器0工作于方式1TH0=0x4c;TL0=0x00;/定时器赋初值EA=1;/开外部中断ET0=1;/开定时中断TR0=1;/开定时器0while(1)RED_ZHI=0;GREEN_ZHU=1;/YELLOW_ZHU=YELLOW_ZHU;if(aa=20)/定时20*50MS=1Saa=0;/定时完成一次后清0temp-;/变量自增YELLOW

31、_ZHU=YELLOW_ZHU;if(temp>200)/定时100Stemp=4;/变量清0break;shi=temp%100/10;/显示十位ge=temp%10;/显示个位 display(ge,shi);void init4()/第四个状态:主干道亮红灯、支干道亮绿灯25S uint temp;temp=26;/变量赋初值TMOD=0x01;/定时器0工作于方式1TH0=0x4c;TL0=0x00;/定时器赋初值EA=1;/开外部中断ET0=1;/开定时中断TR0=1;/开定时器0while(1)RED_ZHU=0; RED_ZHI=1;YELLOW_ZHU=1;/第一个状态主干道、支干道均亮红灯5S GREEN_ZHI=0;if(aa=20)/定时20*50MS=1Saa=0;/定时完成一次后清0temp-;/变量自增if(temp=3)/定时100Stemp=25;/变量清0break;shi=temp%100/10;/显示十位ge=temp%10;/显示个位 display(ge,shi);void init5()/第五个状态:主干道亮红灯、支干道绿灯闪3次转亮黄灯3S uint temp;temp=4;/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论