毕业设计论文-基于PLC的交通信号灯控制系统设计.doc_第1页
毕业设计论文-基于PLC的交通信号灯控制系统设计.doc_第2页
毕业设计论文-基于PLC的交通信号灯控制系统设计.doc_第3页
毕业设计论文-基于PLC的交通信号灯控制系统设计.doc_第4页
毕业设计论文-基于PLC的交通信号灯控制系统设计.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

武汉理工大学华夏学院微机原理与接口技术课程设计学号毕 业 设 计(论 文)基于plc的交通信号灯控制系统设计教 学 系: 信息工程系 指导教师: 专业班级: 学生姓名: 20年六月 前言电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。数字钟具有走时准,显示直观,款式新颖,附加功能多等优点受到人们的欢迎,在很多场合得到了广泛的应用。 微机原理和接口技术是一门实践性强的学科,不但要求有较高的理论水平,而且还要求有实际的动手能力,其中很多的原量、规则、现象等仅仅靠学习教科书是无法完全掌握的,必须通过实践才能比较直观和深刻的理解。本课程设计的主要目的是提高实践能力,包括提高汇编等语言的编程能力及对接口等硬件的理解分析能力和设计接口电路的能力,在进行课程设计的过程中,可以让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程,从而帮助学生系统地掌握微机原理的接口技术的相关知识,达到将知识融会贯通的目的。十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯绿灯”转换间隔,并自动切换。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受人为因素的影响,例如在救护车以及警车开过的情况下,交通灯应当为其开辟“绿色通道”,使其畅通无阻。本次关于交通灯的课程设计在控制东西、南北方向红灯绿灯黄灯自动转换的情况下,利用控制中断芯片8259a控制在紧急情况下东西、南北红绿灯全红让特殊车辆通过。目录前言 第一章 交通灯的设计要求与设计方案1.1 方案的论证与比较(3)1.2 交通灯的功能与要求(4)1.3 设计方案的确定(4)第二章 交通灯的硬件设计2.1 交通灯的硬件框图(4)第三章 交通灯的软件设计3.1 主程序流程图(5)3.2 延时子程序1图(5)3.3 延时子程序10图(6)3.4 中断程序图(7) 3.5 protus仿真图(7)3.6 dxp电路仿真图(8)3.7 dxp版图(8)3.8 元件清单(8)第四章 调试及性能分析4.1 红绿交通灯控制程序(9)4.2 紧急情况全部禁行的调试(9)4.3 交通灯的性能分析(9)第五章 设计体会与小结 附录6.1 源程序清单(10)6.2 参考文献(16)第一章 交通灯的设计要求与设计方案 1.1 方案的论证与比较1)电源提供方案: 采用独立的稳压电源,此方案稳定可靠,且有各种成熟电路可供选用2)显示界面方案 采用数码管和点阵led相结合的方法,因为实际既要求倒计时施主输出,又要求又状态灯输出等,为方便观看并考虑到现实状况,用数码管与led分别显示时间和提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。3)输入方案 直接在io口上接按键开关。因为设计时精简和优化了电路,所以剩余口的资源还比较多。4)主控制方案控制8255实现东西、南北方向红绿灯交替转换。通过比较,本课程设计利用软硬件结合的方法,可实现交通灯的许多功能。1.2 交通灯的功能与要求1 东西、南北方向红绿灯交替时间为60s2 红绿灯交替前红灯闪烁,闪烁时间为5s3 在出现紧急情况时可由交通手动实现全路口车辆禁行。1.3 设计方案的确定1) 芯片的选择8255a是一种通用的可编程并行i/o接口芯片,通用性强,使用灵活,所以选择8255a做为实验所用芯片。8255a的端口地址为:端口a-60h、端口b-61h、端口c-62h、控制端口-63h2) 交通灯红绿灯替换可以直接使用试验箱上的发光二极管实现次功能。3)中断服务程序选用8259a可编程中断控制器(pic)实现在出现紧急情况时由交通手动实现全路口车辆禁行。8259a的端口地址为:20h、21h第二章 交通灯的硬件设计2.1 交通灯硬件设计原理图:第三章 交通灯的软件设计3.1 主程序流程图:南北红灯闪,东西红灯亮有60秒了吗?南北绿灯亮东西红灯亮有5秒了吗?南北红灯亮东西红灯闪南北红灯亮东西绿灯亮开始初始化有5秒了吗?有60秒了吗?3.2 延时子程序1的设计延时子程序1图:开始保存原cx的内容恢复原cx的内容cx-1赋予cx返回循环计数初值8000h赋予cxcx=0?3.3 延时子程序10的设计延时子程序10图:返回恢复原cx、ax的内容cx=0?cx-1赋予cx调用延时子程序1循环次数初始值0100h赋予cx保存cx、ax的内容开始3.4中断程序的设计中断程序图:中断前状态东西南北红灯亮,喇叭鸣警时间够了吗?中断了吗3.5 protus仿真图3.6 dxp电路仿真图3.7 dxp版图3.8 元件清单按键开关 3个芯片插座 5个数码管 7seg-mpx2-cc 2个杜邦线 若干排针 若干杜邦头 若干反向器 74ls04 1个排阻 respack-8 1个二极管 diode 3个发光二极管 led-green 16个 led-red 13个 led-yellow 4个第四章 调试及性能分析设计时按红绿交通灯控制程序和紧急情况中断程序两大部分电路进行测试。4.1 红绿交通灯控制程序时器t0,直接按照表7.1中算好的数据码送出来控制灯,观察其逻辑状态是否符合要求。可多次、反复地进行调试,直至逻辑关系正确。值得注意的是,南北方向、东西方向的指示灯要同时调试。4.2 紧急情况全部禁行的调试在模拟实验中对开关进行手动操控,当按下按钮时东西南北红灯全亮并报警,表明实验成功。4.3 交通灯的性能分析本系统以8255为核心,开发程序调试阶段采用软件进行编程及修改,可大大加快调试进度。设计的交通灯可用于十字路口的车辆及行人的交通管理,显示采用2位7段数码管,可以很直观的显示红绿灯的开放和关闭的时间;功能完整,不仅有普通交通灯的指示功能,还增加了紧急情况突然禁行的功能。其控制功能和效果与真实道口管理红绿灯完全一致。第五章 设计体会与小结回顾起此次毕业设计,我仍感慨颇多,学到了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。通过这次毕业设计我发现单片机原理应用行很强,只有老师的讲解是不行的,只看也不行,只有自己动手去做才会发现自己确实有太多的不足,许多的原理,程序看似简单,真正去做才知道知识并没有自己想象的那样扎实。从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。在设计完成之际再次衷心感谢指导老师的指导! 附录6.1 源程序清单 /* 十字路口交通灯控制 c 程序*/#defineucharunsigned char#defineuintunsigned int#include/*定义控制位*/sbit time_show_led2=p25;/time_show_led2控制位sbit time_show_led1=p24;/time_show_led1控制位sbitew_led2=p23;/ew_led2控制位sbitew_led1=p22;/ew_led1控制位sbitsn_led2=p21;/sn_led2控制位sbitsn_led1=p20;/sn_led1控制位sbit sn_yellow=p16;/sn黄灯sbit ew_yellow=p12;/ew黄灯sbit ew_red=p13;/ew红灯sbit sn_red=p17;/sn红灯sbit ew_mangreen=p30;/ew人行道绿灯sbit sn_mangreen=p31;/sn人行道绿灯sbit special_led=p26;/交通正常指示灯sbit busy_led=p27;/交通繁忙指示灯sbit nomor_button=p35;/交通正常按键sbit busy_btton=p36;/交通繁忙按键sbit special_btton=p37;/交通特殊按键 sbit add_button=p33;/时间加sbit reduces_button=p34;/时间减bit flag_sn_yellow; /sn黄灯标志位bit flag_ew_yellow;/ew黄灯标志位chartime_ew;/东西方向倒计时单元chartime_sn;/南北方向倒计时单元uchar ew=60,sn=40,ewl=19,snl=19; /程序初始化赋值,正常模式uchar ew1=60,sn1=40,ewl1=19,snl1=19;/用于存放修改值的变量uchar code table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/19段选码uchar code s8=0x28,0x48,0x18,0x48,0x82,0x84,0x81,0x84;/交通信号灯控制代码/*延时子程序*/voiddelay(uchar a)uchari;i=a;while(i-);/*显示子函数*/voiddisplay(void)char h,l;h=time_ew/10;l=time_ew%10; p0=tablel;ew_led2=1;delay(2);ew_led2=0; p0=tableh;ew_led1=1;delay(2);ew_led1=0;h=time_sn/10;l=time_sn%10;p0=tablel;sn_led2=1;delay(2);sn_led2=0; p0=tableh;sn_led1=1;delay(2);sn_led1=0;h= ew1/10;l= ew1%10;p0=tablel;time_show_led1=1;delay(2); time_show_led1=0;p0=tableh;time_show_led2=1;delay(2); time_show_led2=0; /*外部0中断服务程序*/voidexint0(void)interrupt 0 using 1ex0=0; /关中断if(add_button=0) /时间加 ew1+=5; sn1+=5; if(ew1=100) ew1=99; sn1=79; if(reduces_button=0) /时间减 ew1-=5; sn1-=5; if(ew1=5) p1=s0; /sn通行,ew红灯 display();/*s1状态*/ p1=0x00;while(time_sn=0) flag_sn_yellow=1; /sn开黄灯信号位 ew_red=1; /sn黄灯亮,等待左拐信号,ew红灯 display();/*s2状态*/ flag_sn_yellow=0; /sn关黄灯显示信号time_sn=snl;while(time_sn=5)p1=s2;/sn左拐绿灯亮,ew红灯 display(); /*s3状态*/p1=0x00;while(time_sn=0) flag_sn_yellow=1;/sn开黄灯信号位 ew_red=1; /sn黄灯亮,等待停止信号,ew红灯 display(); /*赋值*/ew=ew1;sn=sn1;ewl=ewl1;snl=snl1;/*s4状态*/ew_mangreen=ew_mangreen;/ew人行道通行 sn_mangreen=sn_mangreen;/sn人行道禁止flag_sn_yellow=0; /sn关黄灯显示信号time_ew=sn;time_sn=ew; while(time_ew=5) p1=s4; /ew通行,sn红灯 display();/*s5状态*/p1=0x00;while(time_ew=0) flag_ew_yellow=1;/ew开黄灯信号位 sn_red=1;/ew黄灯亮,等待左拐信号,sn红灯 display();/*s6状态*/flag_ew_yellow=0; /ew关黄灯显示信号time_ew=ewl;while(time_ew=5)p1=s6;/ew左拐绿灯亮,sn红灯 display();/*s7状态*/p1=0x00;while(time_ew=0) flag_e

温馨提示

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

评论

0/150

提交评论