基于单片机的交通灯控制系统的设计.docx

上传人:知****量 文档编号:28097932 上传时间:2022-07-26 格式:DOCX 页数:20 大小:302.56KB
返回 下载 相关 举报
基于单片机的交通灯控制系统的设计.docx_第1页
第1页 / 共20页
基于单片机的交通灯控制系统的设计.docx_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《基于单片机的交通灯控制系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统的设计.docx(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、单片机原理及应用 课程设计说明书设计题目:基于单片机的交通灯控制系统的设计学 院:工学院专 业:电气工程及其自动化1班设 计 者:胡忠鹏学 号:09177012指导老师:周平设计时间:2012年5月21日2012年6月2日目 录摘要31 引言32 总体方案设计334标准53 STC89C52概述:5554 课题描述与分析5565 交通灯课题设计66686 系统测试910107 总结101010致谢12参考文献13附录13基于单片机的交通灯控制系统的设计 杨东升 温剑波指导老师:吴敏安徽农业大学工学院 电气工程及其自动化摘 要:交通在人们的日常生活中占有重要的地位,交通信号灯的出现,使交通得以有

2、效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本次课程设计采用单片机STC89C52RC为核心器件来设计道路交通信号灯控制器。本设计就是采用单片机模拟十字路口交通灯的各种状态显示。通过Keil软件编写主程序,延时程序,显示程序,中断程序,按键程序等实现主次路口的红黄绿三色灯的显示控制。经过不断地调试,最终实现了对十字路口交通灯的模拟。关键词:单片机 交通灯 程序设计 数码管显示电路1引言本设计的目的:通过单片机STC89C52来设计道路交通信号灯控制器,通过软件编程设计实现主干道与次干道的红黄蓝三色灯时间设置,并且能够动态修改,从而到达对路口交通状况的实时控制本设计的背景

3、:随着科学技术的发展,单片机技术在电子信息,通信,自动,控制及电脑应用等领域的重要性日益突出。而当今社会汽车数量急剧增加,交通的问题日益突出,因此设计交通灯的重要性也就显而易见,为了确保十字路口的行人和车辆的安全,需要采用电子控制的交通信号来进行指挥。本设计的适用范围:适用于交通道路路口需要全自动控制主干道与次干道等道路。本课题的研究意义: 本次课程设计将先进的单片机技术与道路交通控制相结合起来,通过硬件设计与软件编程实现道路交通的全自动控制,同时实现交通线路车辆的多少实时调整,在减少人力的同时也保证了道路交通的安全,保障了行人与车辆的安全与城市交通的顺畅。对城市的现代化建设起到了重要的作用。

4、2 总体设计方案下面对交通灯课程设计的基本要求与硬件设计做简单概述。2.1设计要求:道路路口交通灯仿真如图1所示: 图1 道路路口交通灯仿真图南北、东西两干道交与一个十字路口,各干道有一组红、黄、绿三色的指示灯,指示车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,切黄灯燃亮时间为东西南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表2-1所示表2-1 交通道路路口交通灯点亮示意表交通信号灯工作模式 时间方向30S3S40S3S.南北向绿灯亮黄灯亮红灯亮红灯亮.东西向红灯亮红灯亮绿灯亮黄灯亮.1当东西方向为红灯,此道车辆禁止通

5、行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。通行时间为30秒。2黄灯闪烁3秒,警示车辆和行人红、绿灯状态即将切换。3当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通行,行人通行。时间为40秒。南北方向为主干道,东西方向为支干道。4这样如上表的时间和红、绿、黄出现的顺序依次处出现这样行人和车辆就能安全畅通的通行。5此表可根据车辆动态设定红绿灯初始值。标准 单片机:单片机选用STC89C52RC,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。 LED显示系统:出现紧急情况时,用两个数码

6、管显示两个车道的禁行时间,设计时可利用单片机的P1口和P2口作为字段和片选信号输出,经驱动芯片后驱动数码管显示倒计时时间。 中断系统设置1个程序按键:当出现紧急情况时,按下按键,单片机就能接收到一个外部中断信号,执行中断命令。另需配置一个非程序按键:系统复位键。 电源供电系统本系统采用USB5V直流稳压电源供电,这样可以优化设计过程。3 STC89C52RC概述3.1 基本构造 STC89C51RC 系列单片机是宏晶科技推出的新一代超强抗干扰/ 高速/ 低功耗的单片机,指令代码完全兼容传统8051 单片机,12 时钟/ 机器周期和6 时钟/ 机器周期可任意选择,最新的D 版本内部集成MAX81

7、0 专用复位电路。3.2 性能特点5V 单片机3V 单片机; 工作频率范围:0 - 40 MHz,相当于普通8051 的 080MHz.实际工作频率可达48MHz;用户应用程序空间 4K / 8K / 13K / 16K / 20K / 32K / 64K 字节;片上集成 1280 字节 / 512 字节 RAM; 通用I/O 口32/36 个,复位后为: P1/P2/P3/P4 是准双向口/ 弱上拉普通8051 传统I/O 口,P0 口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻; I S P 在系统可编程/ I A P 在应用可编程,无需专用编程器/ 仿真

8、器,可通过串口直接下载用户程序,8K 程序3 秒即可完成一片; EEPROM 功能; 看门狗;内部集成MAX810 专用复位电路D 版本才有,外部晶体20M 以下时,可省外部复位电路 ;A/D转换,10位精度ADC,共8路,转换速度可达250K/S;具备双串口;工作温度范围:-40 - +85oC工业级,0 75oC商业级;40管脚封装4课题描述与分析 通过STC89C52RC单片机控制P1口的输出值,配合数码管及发光二极管的到达对道路交通状况的控制,因为该单片机功能齐全,开发简单,可以很完美的对道路实时交通进行控制,从而到达当初预定的目标第一步:了解STC89C52RC单片机各部分的结构构造

9、及其工作原理,对该单片机的工作流程作深入分析,了解各输出输入口的工作电平,工作状态,为下一步的编程设计打好基础;第二步:分析课程设计要求,掌握道路路口交通灯的实时要求,具体分析每一个方向上不同时刻对应的不同灯颜色的变化;第三步:根据课程设计要求及单片机STC89C52RC工作原理编写程序,到达课程设计要求;第四步:将程序编写完成编译无误后烧录至单片机芯片中,然后根据设计要求在后期进行程序调试,以到达最正确要求现实效果。5、交通灯课题设计1用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。2正常情况下,A、B两车道轮流放行,A车道放行30S,其中3S用于警告;B车道放行40S,其中3S用于

10、警告。3有紧急车辆通过时,按下K3开关使A、B车道均为红灯,禁行20S。并用数码管显示计时时间 5.1.2 交通灯控制系统框图如图2 图2 系统控制框图表3-1 交通信号灯与控制状态对应关系控制状态P3主绿灯次红灯8EH01111110主黄灯次红灯BEH10111110主红灯次绿灯CBH11011011主红灯次黄灯CCH11011101通过调用码表来使LED发光二极管显示路口交通状况。管显示电路 图4 数码管显示控制 由图4 可知,数码管由P1口驱动,a,b为片选信号输入端。 5.2.2.1 工作原理 数码管采用的是七段式数码管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极

11、和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线即a,b,c,d,e,f,g,dp连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3

12、f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。 5.2.2.2 数码管使用注意事项采用共阴极数码管,程序代码要是共阴代码,接实物图时要接上拉电阻,否则数码管显示会出现不正常状态。 图5 单片机STC89C52RC外部接口含晶振与电源图 单片机的18和19管脚接时钟电路,19管脚接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,18管脚接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,9引脚是复位输入端,接上电容、电阻及开关后构成上电复位电路。P1口驱动数码管显示,P3口驱动交通灯,实现红绿灯的亮灭控制,P3.2接收外部中断,实

13、现紧急情况的控制,P2.1和P2.1为两个数码管的片选信号输出端口,控制数码管的工作,上拉电阻能增强单片机的驱动能力。5.3.1 主程序流程图南北通行程序南北黄灯闪烁程序东西通行程序调东西黄灯闪烁子程序是否有中断按键按下?中断处理中断初始化中断返回NOYES开始软件设计大体分下面几个部分:1 主程序部分:主要完成RAM清零,T0定时器的设置,南北主干道与东西支干道绿、黄灯的初值设定,键盘查询以及各子程序的调用;2 定时中断服务程序部分:使南北绿灯、黄灯,东西绿灯、黄灯的定时中断;3 扫描显示程序部分:为12位LED动态显示提供驱动信号。P0口为6个放光二极管提供驱动信号,P2口为数码管提供驱动

14、信号,P0口与P2口低电平有效;4 键扫描部分:检测P3端口,判断是否有键按下,如果有键按下,则进行延时去抖动并读取键值待主程序处理;5.3.2 主序程 void main() TMOD=0x01;TH0=(65535-1000)/256;TL0=(65535-1000)%256;ET0=1;TR0=0;EA=1;EX0=1;IT0=1; while(1)/*if(int0=1)int0=0;for(j=0;j20;j+)while(1)if(sec=1)sec=0;break;P2=0x02;p1=cj/10;P2=0x01;P1=cj%10;*/traffic_light();5.3.3

15、交通灯程序void traffic_light() switch (Operation_type) case 1: red_A=1;yellow_A=1;green_A=0; red_B=0;yellow_B=1;green_B=1; delayMS(3000); Operation_type=2; break; case 2: delayMS(300); yellow_A=!yellow_A; green_A=1; if(+Flash_Count!=10) return; Flash_Count=0; Operation_type=3; break; case 3: red_A=0;yell

16、ow_A=1;green_A=1; red_B=1;yellow_B=1;green_B=0; delayMS(4 000); Operation_type=4; break; case 4: delayMS(300); yellow_B=!yellow_B; green_B=1; if(+Flash_Count!=10) return; Flash_Count=0; Operation_type=1; 5.3.4 中断服务子程序 void EX_0() interrupt 0 uint j,i; red_B=0; red_A=0; yellow_A=1; yellow_B=1; green_

17、A=1; green_B=1; a=1; for(j=0;j20;j+) for(i=0;i50;i+) P2=0x02; P1=cj/10; delayMS(10); P2=0x01; P1=cj%10; delayMS(10); P1=0xff; 5.3.5软件设计的要求:1、用C语言进行程序设计;2、在Keil编程平台上进行编辑,并完成编译;3、用STC_ISP_V483软件对单片机进行烧录。注:程序见附件6 系统测试当硬件电路板焊接完成,软件程序编译任务完成,就要进行系统可行性测试,系统测试如下所述:本次课程设计电路板已经焊接完成并且测试调试都已可用,故硬件调试部分不再表达。当程序调试

18、完成后烧录到单片机中,出现显示不正常,闪烁不正常的问题,结合程序调试最后也得到了解决。程序编写过程中会遇到很多语法问题,符号问题,调用过失问题,通过仔细修改以及同学们的热心帮助都得到了解决。7 总结交通灯的控制对道路交通安全有着非常重要的作用。而单片机技术的与日革新也敦促着交通控制与单片机技术的相结合,本次课程设计完成了基于单片机STC12C5A60S2的交通灯控制系统的设计与模拟。包括交通灯方案的设计,系统硬件的焊接、程序语言的编程与仿真调试等。在我们小组的课程设计完成过程中,我做的主要做的工作有:(1) 交通系统具体的通行方案的设计,及其功能的具体实现;(2) 程序的编写与调试;两个星期的

19、单片机课程设计很快就结束了,在本次课程设计中,我们小组通过硬件上的动手操作进一步学习跟掌握了单片机原理的有关知识,虽然我们在上学期在孙琪老师的带领下系统的学习过单片机,但当时仅局限于原理的学习而没有涉及过单片机系统的实际应用,这次的课程设计让我加深了对单片机原理及应用技术的认识,掌握了简单的单片机应用系统的设计、制作、调试的方法。对于交通灯这个题目,在上学期常树旺老师的接口技术课程与李素梅老师的EDA电子设计自动化课程中曾经接触过类似的设计实验,只是之前用的是汇编或者VHDL,这次用的C语言,在编写的过程中也感受到了C程序语言编程的优势所在,语言简洁干练,便于阅读与修改,这也为课程设计提供了很

20、大的方便。在课程设计的过程中也遇到了很多问题,例如Keil软件操作的不熟悉,C语言编程语句及顺序的混乱,在系统调试时的按键抖动、数码管显示的不正常及LED灯的非正常闪烁等问题,最终通过向老师跟同学询问或者查阅图书馆的资料最终得到了解决,较完美的实现了课程设计要求。通过此次单片机课程设计使我们认识到自身知识储备及能力的薄弱,更让我们知道实践的重要性。在以后的学习过程中,我会更加努力学习单片机的相关知识和应用,真正能够掌握单片机应用,并将其运用解决各种实际的问题中去。在做这次毕业设计的整个过程中,我明白了很多东西。也许我们理论知识学的还不错,但真正的动起手来,却常常力不从心,这就是我们常犯的眼高手

21、低的毛病,但还是需要良好的理论知识做基础。从刚开始的搜集资料,我就有点慌了,总觉得自己准备的不够好,无法顺利完成任务,但在老师和同学的帮助下,慢慢的步入轨道。虽然毕业设计将要接近尾声,我也尽力的想要去做好毕业之前的最后一次实践课,但由于某些原因,有些元器件没能通过软件正常工作,这次设计的电子万年历没能到达我们预想的效果,只能显示部分功能。这也证明了我以后要学习的东西还有很多,要继续努力,不断地汲取新的知识并运用到实际中,在实践中锻炼自己,全方位的提高自己。致谢这次毕业设计的完成,首先感谢学校和周平老师,感谢学校给了我们这样一个学习的时机,在我们丰富了自身的同时不仅使我学到了很多新的知识,更使我

22、认识到了自己的不足。从这次设计的开始到完成整个过程中,我遇到了很多意想不到的困难,但在吴敏老师的指导和帮助下,我也基本完成了任务,同时也受益非浅。老师给了我很多关于设计方面的资料和建议,并指出了我的错误和不足,她平易近人但有严肃认真的工作态度,她不拘小节却有细致严谨的敬业精神,我们的每一步成果都是和老师的心血分不开的。虽然毕业设计即将完成,但我学到了很多新的东西和道理,相信在我以后的人生道路上都会受用的。其中,我的一些同学也给了我很多帮助,借此时机向老师和帮助我的每一个人表示真挚的谢意在这次单片机课程设计中我学到了很多,让我真正渗入到了专业学习,我能有这样的时机并且获益匪浅,感谢于身边每一位给

23、予我支持和帮助的人。参考文献1 李广弟,朱月秀.单片机基础M.北京:北京航空航天大学出版社,2007.1001542 李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.55633 刘建清. 单片机技术. 国防工业出版社, 2006.8: 104-1058电脑10宋贤法,韩晶等11范红刚,魏学海,任思璟编著.51单片机自学笔记. 12黄友锐,编著.13Donald A. Neamen. Electronic Circuits Analysis and Design. 2nd ed. McGrawhill Companies, Inc.2001.14Sergio Franc

24、o. Design With Operational Amplifiers and Analog Integrated Circuits. McGraw-Hill Company.2002.15Allan . Electronics. 2nd Hall Inc.2000.附录1 元件清单 元件名称型号数量/个用途单片机STC89C521控制核心晶振12MHz1晶振电路电容30pf2晶振电路电解电容10uf1复位电路电阻10K1复位电路发光二极管LED12黄、红、绿灯电阻47012LED限流电阻1K12上拉电阻按键1中断控制USB接口1电源、下载数码管7SEG-MPX1-CC2时间显示附录2 系

25、统电路原理图附录3 仿真结果图附录4 系统程序清单/*程序名: 交通灯编写人: 杨东升 温剑波 编写时间:2011年5月50日硬件支持:STC89C52 12MHz晶体#include #define uchar unsigned char#define uint unsigned intsbit red_A=P00;sbit yellow_A=P01;sbit green_A=P02;sbit red_B=P03;sbit yellow_B=P04;sbit green_B=P05;sbit a=P36;uchar code c=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0

26、x7d,0x07,0x7f,0x6f;uchar Flash_Count=0,Operation_type=1;void delayMS(uint x) uchar i; while (x-) for(i=0;i120;i+); void traffic_light() switch (Operation_type) case 1: red_A=1;yellow_A=1;green_A=0; red_B=0;yellow_B=1;green_B=1; delayMS(3000); Operation_type=2; break; case 2: delayMS(300); yellow_A=!

27、yellow_A; green_A=1; if(+Flash_Count!=10) return; Flash_Count=0; Operation_type=3; break; case 3: red_A=0;yellow_A=1;green_A=1; red_B=1;yellow_B=1;green_B=0; delayMS(4 000); Operation_type=4; break; case 4: delayMS(300); yellow_B=!yellow_B; green_B=1; if(+Flash_Count!=10) return; Flash_Count=0; Oper

28、ation_type=1; void EX_0() interrupt 0 uint j,i; red_B=0; red_A=0; yellow_A=1; yellow_B=1; green_A=1; green_B=1; a=1; for(j=0;j20;j+) for(i=0;i50;i+) P2=0x02; P1=cj/10; delayMS(10); P2=0x01; P1=cj%10; delayMS(10); P1=0xff; void main() TMOD=0x01;TH0=(65535-1000)/256;TL0=(65535-1000)%256;ET0=1;TR0=0;EA=1;EX0=1;IT0=1; while(1)/*if(int0=1)int0=0;for(j=0;j20;j+)while(1)if(sec=1)sec=0;break;P2=0x02;p1=cj/10;P2=0x01;P1=cj%10;*/traffic_light();/*void interrpt1() interrupt1TH0=(65535-1000)/256;TL0=(65535-1000)%256;sec=1 */学习文档 仅供参考

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com