下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、X0001长安大学单片机应用课程设计报告题目:十字路口交通路口控制科目:单片机应用课程设计姓名:学号:班级:指导老师:完成时间:目录1、设计目标 22、相关背景知识 33、系统的硬件设计 33.1、 电路框图设计 33.2、 系统的硬件组成及方案选择 43.2.2、 系统的方案选择 43.3、 参数计算及元器件选择 63.4、 择如表2 (元器件清单)所示 64、系统工作流程 65、系统仿真 85.1仿真的电路图 86、设计总体评价 117、收获和建议 118、附录 131、设计目标任务:利用单片机设计一个十字路口交通灯控制器要求:利用单片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替点
2、亮 和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。(1)东西向通行80秒,南北向通行60秒,缓冲时间3秒。(2) 能用按键设置两个方向的通行时间(绿、红灯点亮的时间)和暂缓通行时间(黄灯点亮的时间)。系统的工作应符合一般交通灯控制的要求。2、相关背景知识随着社会的飞速发展,城市交通问题日益凸显严重,尤其在城市街道的十 字交叉路口,频繁发生交通问题,为了保证交通秩序和行人安全,一般在每条 街上都有一组红、黄、绿交通信号灯。我国目前使用的信号灯具体含义如下:(l)绿灯亮时,允许车辆、行人通行,但转弯的车辆不准妨碍直行的车辆和 被放行的行人通行。2.1、 灯亮时,不准车辆、行人通行,
3、但已越过停止线的车辆和已进入人行 通道的行人,可以继续通行。2.2、 灯亮时,不准车辆、行人通行。2.3、 色箭头灯亮时,准许车辆按箭头所示方向通行。2.4、 灯闪烁时,车辆、行人须在确保安全的原则下通行。2.5、 转弯车辆和T形交叉口右边无人行横道的直行车辆,遇黄灯或红灯 时,在不妨碍被放行的车辆和行人通行的情况下可以通行。交通灯控制电路自动控制十字路口的红、黄、绿交通灯。交通灯通过状态 转换,指挥车辆行人通行,保证车辆行人的安全,实现十字路口交通管理自动 化。模拟交通信号控制下路口的交通情况,是用程序在模拟现实生活中十字路 口的交通情况,这样做是非常有实际意义的。在现实生活中,观察和调试一
4、个 路口的交通信号灯是要花要化很长的时间。如果将这个过程用程序来模拟,那 就可以节省大量的时间,同时通过改变程序的各种变量值,也可以更容易地反 映更多的在现实生活中不常发生的复杂情况。得到很多宝贵的数据,来指导现 实中交通系统的架设。2.6、 的硬件设计单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基 本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。2.7、 电路框图设计电路的框图如图1所示:页脚内容3X0001按键控制电路红黄球信号灯AT89C51LED数码昴示:尸LED数码显示图1电路框图据此,本设计系统以51单片机为控制核心,单
5、片机上电后,系统进入正常 工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。2.8、 系统的硬件组成及方案选择该系统由AT89C51单片机、两位数共阴极数码管、按键和LED红黄绿构成。2.8.1、 中断系统:中断系统的作用主要是对外部或内部的终端请求进行管理与处理。AT89C51共有5个中断源,它们是两个外部事件中断INT0 (P3.2)和INT1 (P3.3)、两 个片内定时/计数器溢出中断TF0和TF1和片内用行口中断TI或RI,这几个中 断源由TCOM口 SCON5个特殊功能寄存器进行控制,其中5个中断源的程序入口 地址如表1所示。表1各中断源的中断处理
6、程序入口地址在耳J 丁 P中断源入口地址1外部事件中断INT00003H2定时/计数器T0溢出中断000BH3外部事件中断INT10013H4定时/计数器T1溢出中断001BH5串行口接收和发送中断0023H2.8.2、 系统的方案选择1)总体流程图(实现各种状态间的转换)东西红灯东西红灯,南北东西黄灯, 红灯东西绿灯,南北 红灯图2总体流程图2)工作原理由软件设置交通灯的初始时间,南北方向通行 80秒,东西方向通行60 秒,数码管采用动态显示,P0 口送字形码,P2 口送字位选通信号,通过单片机 的P1 口控制各种信号灯的燃亮与熄灭。采用中断方式实现按键的功能。不通分曲上,®
7、174;®一 缸盘一谎图4系统框图3)电路原理图他*Ai£l m4m,口班 K3 ,W.huofAin 何3PT” VAtH2MU FZ3rMi 工,Urz.Tr*.«FSIVKt *Tirw- ozTrn: pawn R3.<TDF3im raua'STTT1 ra.TTF<p-" fafj= 呐山前 HA>T£LIPir« HXVOP.EEN同 ELLJMn图5电路原理图2.9、 参数计算及元器件选择元器件选择如表2 (元器件清单)所示表2元器件清单名称个数备注AT89C51单片机1/7SEG-MPX2-
8、CC-BULE 码管2共阴极数码管按键3/LED红黄绿各4个/4、系统工作流程1 )系统启动后,系统按程序给定的时间工作,即东西向通行60秒,南北向通行40秒,黄灯亮4秒。首先东西向通行,然后南北向通行,如此循环。2)通行时间的设置:当需要更改主、次干道的通行时间时,可以用设置 键、增加键、减少键”进行设置。第一次按“设置键”时,东西向的绿灯亮,东西向的 LED数码管显示当 前东西向的通行时间,并且按每秒 3次的频率闪烁(每秒钟亮3次暗3次), 其余的信号指示灯和南北向的LED数码管熄灭,此时可以用“增加键”和“减 少键”来改变南北向的通行时间,每按一次键,数码管的显示时间增加1秒或减少1秒,
9、长按键(按下的时间超过1秒钟以上),则数码管显示的时间按每 秒钟增加或减少10的速度快速变化第二次按“设置键”时,东西向的黄灯亮,东西向的数码管显示当前东西 向黄灯的点亮时间,并且按每秒 3次的频率闪烁,其余的信号指示灯和南北向 的数码管熄灭,此时可以用“增加键”和“减少键”来改变东西向黄灯的点亮 时间。第三次按“设置键”时,南北向的绿灯亮,南北向的数码管显示当前 南北向绿灯的通行时间,并且按每秒 3次的频率闪烁,其余的信号指示灯和东 西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向绿灯的 通行时间。第四次按“设置键”时,南北向的黄灯亮,南北向的数码管显示当 前南北向黄灯的点亮时
10、间,并且按每秒 3次的频率闪烁,其余的信号指示灯和 东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向黄灯 的点亮时间。第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态,并且东西向先通行,南北向后通行。“设置键”的功能如表3所示。表3按键功能置次1数第1次第2次第3次第4次第5次调整内容东西向的 绿灯点亮 时间东西向的 黄灯点亮 时间南北向的 球灯点亮 时间南北向的 黄灯点亮 时间恢复交 通灯工 作状态调整范围099 秒09秒099 秒09秒图6主程序流程图图7中断T0流程图图8中断T1流程图5、系统仿真5.1仿真的电路图1)交通灯东西方向绿灯亮、南北方向红灯亮时仿真图
11、页脚内容9X0001图10页脚内容11BHB-hls-ES, 理工於 n-pr pri- rd1 G:wc wi 1, * rUx«i n xs MAX rzjafx>-i KlWa<“1加卜 P3in>» “MITT rj JiinF3CPliyTiFDZDCG Or2)交通灯东西方向黄灯亮、南北方向红灯亮时仿真图fJJFWTTPSSiTiP.T/1.1N; FH'ilM rz. i'.-ir-ci £1£ 0 ' LI小KH 应© HI!: £景£案- u n c n UE3LA
12、1IM ,白 T: £5L"U P3«1r ftW0?TIMI IIIL毛卡皿* BLvyElImHWREH 帕9 15x0. KMiU 一 隔X00013)交通灯东西方向红灯亮、南北方向绿灯亮时仿真图页脚内容17pc 加 PC,间I FU总龌 HJW3 ,4iX rcs»w FC4Wpi肝口 邙3 r»ra rzj;fPTT, 3 4 T3JEFn.W39wcrm t图114)交通灯东西方向红灯亮、南北方向黄灯亮时仿真图- irr"-ii ! a,anwt!r3.*nu.igrTT PTEW4RB, OjlW|E-心-iHfhiil
13、ii图12AEFT dijuirn5)按下按键,调节绿灯时间至95秒 n n UA0-,T.二PTWi.flratfw UflHJ工图136、设计总体评价本系统就是充分利用了 AT89C51芯片的I/O引角。系统采用MSC-51系列单 片机为中心器件来设计交通灯控制器,实现了通过单片机芯片的P0 口控制红、黄、绿灯的点亮与熄灭;P1和P2 口外接数码管倒计时显示各个信号灯的时 问。系统设计简便、实用性强、操作简单、程序设计简便。系统的不足之处不 能控制车的左、右转以及自动根据车流改变红绿灯时间等。这是由本身的地理 位置以及车流量情况所定,如果有需要可以设计扩充原系统来实现。7、收获和建议本次课
14、程设计,是在结束了相关理论知识与实验的学习后进行的,是对理 论知识和实验的综合和提高。理论知识的学习是为更好的解决实际问题。通过 本次课程设计,我充分意识到自己所学的东西还是非常有限的,不过通过设 计,还是学到了一些书本上没有学到的东西,为自己以后的学习起了很大的帮 助,在这个过程中,我真切的感到了,我又知道了很多,同时也掌握了很多以 后在工作和生活中能真正用到的很多东西。其次,通过这本次课程设计使我懂得了理论与实际相结合是很重要的,只 有理论知识是远远不够的,唯有把所学的理论知识与实践相结合起来,从理论 中得出结论,才能真正提高我们自己的实际动手能力和独立思考的能力。在设计的过程中,难免会遇
15、到过各种各样的问题,例如自己知识的很多漏洞,对以 前所学过的知识理解得不够深刻,掌握得不够牢固,实践经验比较缺乏,理论 联系实际的能力还待急需提高。此次课程设计之后,我一定把以前所学过的知 识重新温故。我觉得类似这种课程设计的实践真的不错,通过这些项目练习,我的自学 能力和解决实际问题的能力得到了提高,可以说是对综合素质全面提升,我想 这也是我们上大学应该真正学到的。最后,感谢老师对我们的教导,使我学习了理论知识,打下了坚实的理论 基础,才得以将其应用到此次课程设计中来完成它。参考文献11段晨东.单片机原理及接口技术.北京:清华大学出版社,2013。21霍孟友.单片机原理及接口技术.北京:机械
16、工业出版社,2004。【3】裘雪红.微型计算机原理与接口技术.西安电子科技大学出版社, 2007。【4】张毅刚.单片机原理及接口技术.北京:高等教育出版社,2004。【5】刘娟.单片机C语言与PROTUES真技能实训.中国电力出版社, 20100【6】张靖武.单片机系统的PROTEUS计与仿真.电子工业出版社,20078、附录程序如下所示:#include "at89x51.h"#include "control.h"/用于显控制数码管示的 函数int EWNowCount;/东西向的显示秒数int NSNowCount;/南北向德显示秒数int tem
17、p ;/ 临时变量,用以判断路灯转换条件及赋给 count的值unsigned int num;/计时次数,每4000次为一秒unsigned char delay_time;/控制闪烁的延时一unsigned char edit;/可设置红绿灯初始值unsigned char setClicks;保存set键的按下 次数unsigned char FlashChange;/东西向与南北向计 时器转换char add;/加或者减后的值int EWGreenDef = 80 ;/东西向的默认值int EWYellowDef = 3 ;int EWRedDef =63int NSGreenDef=
18、 60 ;/南北向的默认值int NSYellowDef = 3;int NSRedDef = 83 ;int EWGreen;int EWYellow;/定义六个变量,用来读秒int EWRed;int NSGreen;int NSYellow;int NSRed ;int Sum1 ;/ EWGreenDef +EWYellowDef+ EWRedDefint Sum2 ;/EWGreenDef+EWYellowDefint Sum3 ;/ NSGreenDef+NSRedDefunsigned char n;/用其值来判断是否为长按键void T0_INT(void) interrupt
19、1/*定时器T0,控制红绿灯的 转换*/num+;Sumi = EWGreenDef +EWYellowDef+ EWRedDef;Sum2 =EWGreenDef+EWYellowDef;Sum3 = NSGreenDef+NSRedDef ;if( num =4000 )/*1s = 0.25ms *4000 */if(temp<=EWGreenDef)/*东西向绿灯读秒*/EWNowCount = EWGreen;EWGreenLight();EWGreen-;if(temp<=NSRedDef)/*南北向红灯灯读秒*/NSNowCount = NSRed;NSRedLigh
20、t();NSRed-;if(temp<=Sum2 && temp>EWGreenDef) /* 东西 向黄灯读秒*/EWNowCount = EWYellow;EWYellowLight();EWYellow-;if(temp<=Sum3 && temp>NSRedDef)/*南北向绿灯读秒*/NSNowCount = NSGreen;NSGreenLight();NSGreen-;if(temp<=Sum1+2 && temp > Sum2)/*东西向红灯读秒*/EWNowCount = EWRed;EWRe
21、dLight();EWRed-;if(temp<=Sum1+2 && temp > Sum3)/*南北向黄灯读秒*/X0001NSNowCount = NSYellow;NSYellowLight();NSYellow-;if(EWGreen<0) EWGreen = EWGreenDef;/*重新装载初值*/if(EWYellow<0) EWYellow = EWYellowDef;if(EWRed<0) EWRed = EWRedDef;if(NSGreen<0) NSGreen = NSGreenDef;if(NSYellow<0
22、) NSYellow = NSYellowDef;if(NSRed<0) NSRed = NSRedDef;temp+;if(temp>Sum1) temp=0;num=0;void T1_INT(void) interrupt3/* 定时器T1,控制长按键*/if(P0_1=0 11P0_0=0) n+;if(P0_1=1 && P0_0=1)n=0;unsigned char getKey(void) /* 判断哪个键被按下,并返回键值*/unsigned char key ;if(P0_0 = 0 11P0_1=0 11P3_3=0)delay_ms(10);
23、if(P0_0=0)/* add 键 */key=2;while(!P0_0);if(n<100) add+;if(n>100)add=add+10;if(add>=99) add=99;if(P0_1=0)/* decrease 键 */key=3;TR1 = 1;while(!P0_1);if(n<100) add-;if(n>100)add=add-10;if(add<=0) add = 0;if(P3_3=0)/* set 键 */while(!P3_3) ;key = 1 ;setClicks+;else key=0;/*无键按下*/return
24、key;void run(void)/*根据键值,实现相 应的功能(设置,加或减)*/unsigned char key = getKey();/* 获取键值*/switch(key)case 0:/* 无按键按 下*/页胭内容16if(edit=0)X0001delay_time = 0;break;case 1:/* 按下设置键*/edit = 1;/*将交通灯状态置为可修改状态*/if(edit=1)delay_time = 150;switch(setClicks)/* 设置键按下的次数*/case 1:/*按下1次设置东西向通行时间*/TR0 = 0 ;/*关闭计时器T0*/EWGr
25、eenLight();/*东西向绿灯亮*/NSTurnOff();/南北向全灭add = EWGreen ;EWNowCount = add ;FlashChange = 1;/*关闭南北向计时牌*/break;case 2:/*按下2次设置东西向黄灯时间*/EWYellowLight();NSTurnOff();add = EWYellow;EWNowCount = add ;FlashChange = 1;break;页脚容17X0001/*按下3次设置南北向通 行时间*/add = NSGreen;case 5:/*按下5次退出设置状态*/页内容19NSGreenLight();EWTu
26、rnOff();EWNowCount = add ;FlashChange = 2;/*关闭东西向计时牌*/break;case 3:/*按下4次设置南北向黄 灯时间*/NSYellowLight();EWTurnOff();add = 0 ;add = NSYellow;EWNowCount = add ;FlashChange = 2;break;EWRedDef = NSGreenDef + NSYellowDef ;/*设置东西向红灯的默认 值*/NSRedDef = EWGreenDef + EWYellowDef ;/*设置南北向红灯的默认值*/EWRed = EWRedDef ;
27、NSRed = NSRedDef ;TR0 = 1 ;/*打开计时器T0 */add = 0 delay_time = 0;FlashChange = 0;/*打开两个方向的计时牌*/edit = 0;setClicks = 0;if(add>9) add = 9;/*黄灯设置不能超过9 */break;break;case 2:/* 按下add键进行的键处理*/if(edit=1)if(setClicks=1)/* 按1下set 键 */EWGreenDef = add;/*加载当前的时间*/EWGreen = EWGreenDef;EWNowCount = EWGreen ;if(s
28、etClicks=2)/* 按2下set键*/EWYellowDef = add ;EWYellow = EWYellowDef;/*加载当前的时间*/EWNowCount = EWYellow ;if(setClicks=3)/*按3下 set 键 */NSGreenDef = add;NSGreen = NSGreenDef;NSNowCount = NSGreen ;if(setClicks=4)/*按4下 set 键 */if(add>9) add = 9;NSYellowDef = add ;NSYellow = NSYellowDef ;NSNowCount = NSYell
29、ow ;if(setClicks=2)if(add>9) add = 9;else if(!edit)/*在非修改状态 下,不闪烁*/delay_time = 0;break;case 3:/*按下decrease键进行的键处理,原理同 add */if(edit=1)if(setClicks=1)EWGreenDef = add;EWNowCount = EWGreen ;EWGreen = EWGreenDef;EWYellowDef = add ;EWYellow = EWYellowDef;EWNowCount = EWYellow ;if(setClicks=3)NSGreen
30、Def = add;NSGreen = NSGreenDef;NSNowCount = NSGreen ;if(setClicks=4)if(add>9) add = 9;NSYellowDef = add ;NSYellow = NSYellowDef ;X0001NSNowCount = NSYellow ;else if(!edit)delay_time = 0; break;void main()TMOD = 0x22;/*计时器T0和T1,且都用方式2 */TH0 = 6;/*0.25ms */TR0=1;/*开定时器ET0=1;TH1 = 6;/*0.25ms */ET1=1
31、;EA=1;/* 开中断*/EWGreen = EWGreenDef;EWYellow = EWYellowDef;EWRed = EWRedDef;NSGreen = NSGreenDef;NSYellow = NSYellowDef;NSRed = NSRedDef;while(1)run();switch(FlashChange)/*选择数码管显示的状态(同时显示或只显示其中一个) */case 0:EWDispControl(EWNowCount,delay_ time);NSDispControl(NSNowCount, delay_time);页脚内容27*/break;case
32、1:EWDispControl(EWNowCount, delay_time);break;case 2:NSDispControl(NSNowCount, delay_time);break;Control.hunsigned char led= 0x3f, 0x06, 0x5b, 0x4f, 0x66, /040x6d, 0x7d, 0x07, 0x7f, 0x6f /59;void delay_ms(unsigned int a)/延时a msunsigned int i;while(a->0)1 = 70;while(i-> 0);void EWdispHigh(unsigned char
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年四川省人教版八年级化学下册第十三章化学与工业测试卷
- 2026年人教版高中生物必修第一册第11章遗传学测试题
- 2025-2026年辽宁人教版小学四年级阅读理解深化期中复习卷
- 2025-2026年北师大版九年级化学上册第5章化学平衡测试卷
- 2025-2026年计算机操作系统实践测试题
- 再生棉纤维掺混比例对床单触感体验及消费者支付意愿的博弈
- 元宇宙场景下沉浸式阅读体验项目的商业闭环验证
- ESG评级体系下外丝管项目环境合规成本的资本化路径探析
- 2026年湛江幼儿师范专科学校高职单招笔试化学试题库含答案解析2套试卷
- 2026年湖南城建职业技术学院高职单招笔试英语试题库含答案解析3套试卷
- 2026广东湛江市遂溪发展集团有限公司招聘15人(第二批)考试备考题库及答案详解
- 2026年重庆市部编版高一语文一轮复习第五单元文言文阅读测试题库试卷
- 2025秋新版道德与法治二年级上册教学工作计划及教学进度表
- 2026 年秋季开学:新时代教师师德师风建设专题培训
- 电梯困人应急演练总结报告
- 2026年幼儿园新生家长会后勤园长
- 2026高速铁路通讯行业市场供需分析及投资布局规划分析研究报告
- 工程伦理第2版
- (完整版)厂房翻新改造工程施工组织设计方案
- 社区胸痛健康教育
- 教育强国建设三年行动计划(2025-2027年)
评论
0/150
提交评论