欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于plc的交通信号灯控制系统设计大学本科毕业论文.doc

    • 资源ID:91483432       资源大小:275KB        全文页数:17页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于plc的交通信号灯控制系统设计大学本科毕业论文.doc

    武汉理工大学华夏学院微机原理与接口技术课程设计学号毕 业 设 计(论 文)基于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<reg52.h>/*定义控制位*/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<=40) EW1=40; SN1=20; if(Nomor_Button=0)/测试按键是否按下,按下为正常状态 EW1=60; SN1=40;EWL1=19;SNL1=19;Busy_LED=0;/关繁忙信号灯Special_LED =0;/关特殊信号灯 if(Busy_Btton=0) /测试按键是否按下,按下为繁忙状态 EW1=45; SN1=30;EWL1=14;SNL1=14;Special_LED=0;/关特殊信号灯Busy_LED=1;/开繁忙信号灯 if(Special_Btton=0)/测试按键是否按下,按下为特殊状态 EW1=75; SN1=55;EWL1=19;SNL1=19;Busy_LED=0;/关繁忙信号灯 Special_LED =1;/开特殊信号灯 EX0=1;/开中断/*T0中断服务程序*/void timer0(void)interrupt 1 using 1static uchar count;TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+;if(count=10) if(Flag_SN_Yellow=1) /测试南北黄灯标志位 SN_Yellow=SN_Yellow; if(Flag_EW_Yellow=1) /测试东西黄灯标志位 EW_Yellow=EW_Yellow; if(count=20)Time_EW-;Time_SN-;if(Flag_SN_Yellow=1)/测试南北黄灯标志位 SN_Yellow=SN_Yellow;if(Flag_EW_Yellow=1)/测试东西黄灯标志位 EW_Yellow=EW_Yellow;count=0;/*主程序开始*/voidmain(void) Busy_LED=0;Special_LED=0;IT0=1;/INT0负跳变触发 TMOD=0x01;/定时器工作于方式1TH0=(65536-50000)/256;/定时器赋初值TL0=(65536-50000)%256;EA=1; /CPU开中断总允许ET0=1;/开定时中断EX0=1;/开外部INTO中断 TR0=1;/启动定时 while(1)/*S0状态*/EW_ManGreen=0;/EW人行道禁止 SN_ManGreen=1;/SN人行道通行 Flag_EW_Yellow=0; /EW关黄灯显示信号Time_EW=EW;Time_SN=SN;while(Time_SN>=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_EW_Yellow=1; /EN开黄灯信号位 SN_Red=1;/EW黄灯亮,等待停止信号,SN红灯 Display(); /*赋值*/ EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;6.2 参考文献【1】单片机的C语言应用程序设计 马忠梅 籍顺心 北京航空航天大学出版社2007【2】51单片机应用开发案例精选 王为青 邱文勋 人民邮电出版社 2007【3】51系列单片机设计实例 楼然苗 李广飞 北京航空航天大学出版社 2003【4】单片机原理与接口技术 胡汉才 清华大学出版社 2006【5】单片机原理与应用 丁元杰 机械工业出版社 200717

    注意事项

    本文(基于plc的交通信号灯控制系统设计大学本科毕业论文.doc)为本站会员(红****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开