




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用 课程设计说明书设计题目:基于单片机的交通灯控制系统的设计学 院:工学院专 业:电气工程及其自动化(1)班设 计 者:胡忠鹏学 号:09177012指导老师:周平设计时间:2012年5月21日2012年6月2日目 录摘要31 引言32 总体方案设计32.1设计要求32.2性能指标42.3硬件规范53 STC89C52概述:53.1基本构造53.2性能特点54 课题描述与分析54.1交通灯系统需求描述与分析54.2交通灯系统开发步骤65 交通灯课题设计65.1总体设计65.2硬件设计65.3软件设计86 系统测试96.1硬件调试106.2软件调试107 总结107.1系统设计总结107.2个人总结10致谢12参考文献13附录13基于单片机的交通灯控制系统的设计作者:杨东升 温剑波指导老师:吴敏(安徽农业大学工学院 电气工程及其自动化)摘 要:交通在人们的日常生活中占有重要的地位,交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本次课程设计采用单片机STC89C52RC为核心器件来设计道路交通信号灯控制器。本设计就是采用单片机模拟十字路口交通灯的各种状态显示。通过Keil软件编写主程序,延时程序,显示程序,中断程序,按键程序等实现主次路口的红黄绿三色灯的显示控制。经过不断地调试,最终实现了对十字路口交通灯的模拟。关键词:单片机 交通灯 程序设计 数码管显示电路1引言本设计的目的:通过单片机STC89C52来设计道路交通信号灯控制器,通过软件编程设计实现主干道与次干道的红黄蓝三色灯时间设置,并且能够动态修改,从而达到对路口交通状况的实时控制本设计的背景:随着科学技术的发展,单片机技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。而当今社会汽车数量急剧增加,交通的问题日益突出,因此设计交通灯的重要性也就显而易见,为了确保十字路口的行人和车辆的安全,需要采用电子控制的交通信号来进行指挥。本设计的适用范围:适用于交通道路路口需要全自动控制主干道与次干道等道路。本课题的研究意义: 本次课程设计将先进的单片机技术与道路交通控制相结合起来,通过硬件设计与软件编程实现道路交通的全自动控制,同时实现交通线路车辆的多少实时调整,在减少人力的同时也保证了道路交通的安全,保障了行人与车辆的安全与城市交通的顺畅。对城市的现代化建设起到了重要的作用。2 总体设计方案下面对交通灯课程设计的基本要求与硬件设计做简单概述。2.1设计要求:道路路口交通灯仿真如图1所示: 图1 道路路口交通灯仿真图南北、东西两干道交与一个十字路口,各干道有一组红、黄、绿三色的指示灯,指示车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,切黄灯燃亮时间为东西南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表2-1所示表2-1 交通道路路口交通灯点亮示意表交通信号灯工作模式 时间方向30S3S40S3S.南北向绿灯亮黄灯亮红灯亮红灯亮.东西向红灯亮红灯亮绿灯亮黄灯亮.2.2性能指标(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。通行时间为30秒。(2)黄灯闪烁3秒,警示车辆和行人红、绿灯状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通行,行人通行。时间为40秒。南北方向为主干道,东西方向为支干道。(4)这样如上表的时间和红、绿、黄出现的顺序依次处出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车辆动态设定红绿灯初始值。2.3硬件规范 单片机:单片机选用STC89C52RC,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。 LED显示系统:出现紧急情况时,用两个数码管显示两个车道的禁行时间,设计时可利用单片机的P1口和P2口作为字段和片选信号输出,经驱动芯片后驱动数码管显示倒计时时间。 中断系统设置1个程序按键:当出现紧急情况时,按下按键,单片机就能接收到一个外部中断信号,执行中断命令。另需配置一个非程序按键:系统复位键。 电源供电系统本系统采用USB5V直流稳压电源供电,这样可以优化设计过程。3 STC89C52RC概述3.1 基本构造 STC89C51RC 系列单片机是宏晶科技推出的新一代超强抗干扰/ 高速/ 低功耗的单片机,指令代码完全兼容传统8051 单片机,12 时钟/ 机器周期和6 时钟/ 机器周期可任意选择,最新的D 版本内部集成MAX810 专用复位电路。3.2 性能特点 增强型6 时钟/ 机器周期,12 时钟/ 机器周期 8051 CPU;工作电压:5.5V - 3.4V(5V 单片机) / 3.8V - 2.0V(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 (在应用可编程),无需专用编程器/ 仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,8K 程序3 秒即可完成一片; EEPROM 功能; 看门狗;内部集成MAX810 专用复位电路(D 版本才有),外部晶体20M 以下时,可省外部复位电路 ;A/D转换,10位精度ADC,共8路,转换速度可达250K/S;具备双串口;工作温度范围:-40 - +85oC(工业级),0 75oC(商业级);40管脚封装4课题描述与分析4.1交通灯系统需求描述与分析 通过STC89C52RC单片机控制P1口的输出值,配合数码管及发光二极管的达到对道路交通状况的控制,因为该单片机功能齐全,开发简单,可以很完美的对道路实时交通进行控制,从而达到当初预定的目标4.2交通灯系统开发步骤第一步:了解STC89C52RC单片机各部分的结构构造及其工作原理,对该单片机的工作流程作深入分析,了解各输出输入口的工作电平,工作状态,为下一步的编程设计打好基础;第二步:分析课程设计要求,掌握道路路口交通灯的实时要求,具体分析每一个方向上不同时刻对应的不同灯颜色的变化;第三步:根据课程设计要求及单片机STC89C52RC工作原理编写程序,达到课程设计要求;第四步:将程序编写完成编译无误后烧录至单片机芯片中,然后根据设计要求在后期进行程序调试,以达到最佳要求现实效果。5、交通灯课题设计5.1总体设计5.1.1设计要求如下(1)用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。(2)正常情况下,A、B两车道轮流放行,A车道放行30S,其中3S用于警告;B车道放行40S,其中3S用于警告。(3)有紧急车辆通过时,按下K3开关使A、B车道均为红灯,禁行20S。并用数码管显示计时时间 5.1.2 交通灯控制系统框图如图2 图2 系统控制框图5.2硬件设计5.2.1交通信号灯与控制状态对应关系表3-1 交通信号灯与控制状态对应关系控制状态P3P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0主绿灯次红灯8EH01111110主黄灯次红灯BEH10111110主红灯次绿灯CBH11011011主红灯次黄灯CCH11011101通过调用码表来使LED发光二极管显示路口交通状况。5.2.2数码管显示电路 图4 数码管显示控制 由图4 可知,数码管由P1口驱动,a,b为片选信号输入端。 5.2.2.1 工作原理 数码管采用的是七段式数码管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。 5.2.2.2 数码管使用注意事项采用共阴极数码管,程序代码要是共阴代码,接实物图时要接上拉电阻,否则数码管显示会出现不正常状态。5.2.3单片机STC89C52外部接口图 图5 单片机STC89C52RC外部接口(含晶振与电源)图 单片机的18和19管脚接时钟电路,19管脚接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,18管脚接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,9引脚是复位输入端,接上电容、电阻及开关后构成上电复位电路。P1口驱动数码管显示,P3口驱动交通灯,实现红绿灯的亮灭控制,P3.2接收外部中断,实现紧急情况的控制,P2.1和P2.1为两个数码管的片选信号输出端口,控制数码管的工作,上拉电阻能增强单片机的驱动能力。5.3软件设计5.3.1 主程序流程图南北通行程序南北黄灯闪烁程序东西通行程序调东西黄灯闪烁子程序是否有中断按键按下?中断处理中断初始化中断返回NOYES开始软件设计大体分下面几个部分:1 主程序部分:主要完成RAM清零,T0定时器的设置,南北主干道与东西支干道绿、黄灯的初值设定,键盘查询以及各子程序的调用;2 定时中断服务程序部分:使南北绿灯、黄灯,东西绿灯、黄灯的定时中断;3 扫描显示程序部分:为12位LED动态显示提供驱动信号。P0口为6个放光二极管提供驱动信号,P2口为数码管提供驱动信号,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 交通灯程序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;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; 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_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 系统测试当硬件电路板焊接完成,软件程序编译任务完成,就要进行系统可行性测试,系统测试如下所述:6.1硬件调试本次课程设计电路板已经焊接完成并且测试调试都已可用,故硬件调试部分不再叙述。当程序调试完成后烧录到单片机中,出现显示不正常,闪烁不正常的问题,结合程序调试最后也得到了解决。6.2软件调试程序编写过程中会遇到很多语法问题,符号问题,调用差错问题,通过仔细修改以及同学们的热心帮助都得到了解决。7 总结7.1系统设计总结交通灯的控制对道路交通安全有着非常重要的作用。而单片机技术的与日革新也敦促着交通控制与单片机技术的相结合,本次课程设计完成了基于单片机STC12C5A60S2的交通灯控制系统的设计与模拟。包括交通灯方案的设计,系统硬件的焊接、程序语言的编程与仿真调试等。在我们小组的课程设计完成过程中,我做的主要做的工作有:(1) 交通系统具体的通行方案的设计,及其功能的具体实现;(2) 程序的编写与调试;7.2个人总结两个星期的单片机课程设计很快就结束了,在本次课程设计中,我们小组通过硬件上的动手操作进一步学习跟掌握了单片机原理的有关知识,虽然我们在上学期在孙琪老师的带领下系统的学习过单片机,但当时仅局限于原理的学习而没有涉及过单片机系统的实际应用,这次的课程设计让我加深了对单片机原理及应用技术的认识,掌握了简单的单片机应用系统的设计、制作、调试的方法。对于交通灯这个题目,在上学期常树旺老师的接口技术课程与李素梅老师的EDA电子设计自动化课程中曾经接触过类似的设计实验,只是之前用的是汇编或者VHDL,这次用的C语言,在编写的过程中也感受到了C程序语言编程的优势所在,语言简洁干练,便于阅读与修改,这也为课程设计提供了很大的方便。在课程设计的过程中也遇到了很多问题,例如Keil软件操作的不熟悉,C语言编程语句及顺序的混乱,在系统调试时的按键抖动、数码管显示的不正常及LED灯的非正常闪烁等问题,最终通过向老师跟同学询问或者查阅图书馆的资料最终得到了解决,较完美的实现了课程设计要求。通过此次单片机课程设计使我们认识到自身知识储备及能力的薄弱,更让我们知道实践的重要性。在以后的学习过程中,我会更加努力学习单片机的相关知识和应用,真正能够掌握单片机应用,并将其运用解决各种实际的问题中去。在做这次毕业设计的整个过程中,我明白了很多东西。也许我们理论知识学的还不错,但真正的动起手来,却常常力不从心,这就是我们常犯的眼高手低的毛病,但还是需要良好的理论知识做基础。从刚开始的搜集资料,我就有点慌了,总觉得自己准备的不够好,无法顺利完成任务,但在老师和同学的帮助下,慢慢的步入轨道。虽然毕业设计将要接近尾声,我也尽力的想要去做好毕业之前的最后一次实践课,但由于某些原因,有些元器件没能通过软件正常工作,这次设计的电子万年历没能达到我们预想的效果,只能显示部分功能。这也证明了我以后要学习的东西还有很多,要继续努力,不断地汲取新的知识并运用到实际中,在实践中锻炼自己,全方位的提高自己。致谢这次毕业设计的完成,首先感谢学校和周平老师,感谢学校给了我们这样一个学习的机会,在我们丰富了自身的同时不仅使我学到了很多新的知识,更使我认识到了自己的不足。从这次设计的开始到完成整个过程中,我遇到了很多意想不到的困难,但在吴敏老师的指导和帮助下,我也基本完成了任务,同时也受益非浅。老师给了我很多关于设计方面的资料和建议,并指出了我的错误和不足,她平易近人但有严肃认真的工作态度,她不拘小节却有细致严谨的敬业精神,我们的每一步成果都是和老师的心血分不开的。虽然毕业设计即将完成,但我学到了很多新的东西和道理,相信在我以后的人生道路上都会受用的。其中,我的一些同学也给了我很多帮助,借此机会向老师和帮助我的每一个人表示真挚的谢意在这次单片机课程设计中我学到了很多,让我真正渗入到了专业学习,我能有这样的机会并且获益匪浅,感谢于身边每一位给予我支持和帮助的人。参考文献1 李广弟,朱月秀.单片机基础M.北京:北京航空航天大学出版社,2007.1001542 李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.55633 刘建清. 单片机技术. 国防工业出版社, 2006.8: 104-1054 张一斌 余建坤.单片机原理课程设计 中南大学出版社,2009.95 邓红 张越.单片机实验与应用设计教程 冶金工业出版社,2004.56张俊漠.单片机中级教程.北京航空航天大学.2006.037全国大学生电子设计竞赛获奖作品选编.北京理工大学出版社.2005.038计算机通信技术及其程序设计.西安电子科技大学出版社.19989姚彬.电子元器件与电子实习实训教程.机械工业出版社.199610宋贤法,韩晶等编著.电路设计实力指导教程.机械工业出版社.200311范红刚,魏学海,任思璟编著.51单片机自学笔记. 北京航空航天大学.2001.01 12黄友锐,编著.单片机原理及应用.合肥工业大学出版社.2006.1013Donald A. Neamen. Electronic Circuits Analysis and Design. 2nd ed. McGrawhill Companies, Inc.2001.14Sergio Franco. Design With Operational Amplifiers and Analog Integrated Circuits. McGraw-Hill Company.2002.15Allan R.Hambley. Electronics. 2nd ed.Prentice Hall Inc.2000.附录1 元件清单 元件名称型号数量/个用途单片机STC89C521控制核心晶振12MHz1晶振电路电容30pf2晶振电路电解电容10uf1复位电路电阻10K1复位电路发光二极管LED12黄、红、绿灯电阻47012LED限流电阻1K12上拉电阻按键1中断控制USB接口1电源、下载数码管7SEG-MPX1-CC2时间显示附录2 系统电路原理图附录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,0x7d,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;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《英语口译》课程介绍与教学大纲
- 统编版小升初语文专项复习:修辞手法(有解析)
- 特是如何运作
- 统编版八年级语文下册名著梳理与整合【学生版】
- 荔枝吃法有哪些
- 老年人地震教育知识培训课件
- 赏析小说形象(知识清单)-2026年高考语文一轮复习原卷版
- 生于忧患死于安乐-中考语文复习古诗文专项讲义(原卷版)
- 老年人保护胃课件
- 生物工程及其安全伦理问题(有解析)-高二生物学浙科版作业
- 艺康servsafe培训课件
- TDT1067-2021不动产登记数据整合建库技术规范
- 加气站投诉处理管理制度
- 2025-2030年再生铝行业市场现状供需分析及投资评估规划分析研究报告
- Unit 3 Same or Different?Section A 课件 人教版英语八年级上册
- 智能仓储物流管理平台的设计与开发
- 2025上海戏剧学院辅导员考试试题及答案
- 中国热射病诊断与治疗指南(2025版)
- 眼科患者的体位管理
- 物流中级考试试题及答案
- 小学一年级100以内加减法练习题3000道
评论
0/150
提交评论