




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的交通灯控制器设计方案1 设计方案1.1 交通灯历史简介当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1968年,美国机械工程师纳伊特在伦敦威斯敏斯特的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的透光其组成,1914年安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制得红绿灯,一种是把压力探测器放在地上,车辆一接近红灯变成绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直走,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法的正在路口内行驶的车辆和过人行道的行人先通过,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。1.2 设计要求本交通灯的设计要求如下:(1) 电源:5V 。(2) 剩余时间显示:两位数码管。(3) 每次绿灯变红灯时,要求黄灯先亮3秒钟。(4) 主干道每次放行45秒;支干道每次放行30秒1.3 设计思路本设计的题目是“基于单片机的交通灯控制器设计”,所以主控芯片当然是单片机,由于对AT89S52这款单片机比较熟悉,所以我选AT89S52作为主控芯片。只要交通指示部分,红、绿、黄三种不同颜色的指示灯是必不可少的,这里我选用红、绿、黄三种颜色的高亮LED作为交通指示灯。对于倒计时显示,选用一般的数码管即可,这里我选用的事两位共阴数码管。由于东西、南北(反方向)的指示灯和倒计时是一致的,所以只需分别将东和西、南和北方向的并联在一起即可,这就简化了程序设计部分。编程时,在快要到切换东西和南北通车方向的前3秒,先将此刻通车的方向的绿灯切换成黄灯。2 硬件电路设计 2.1 主要元器件简介2.1.1单片机AT89S52AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。P0口是一个8位漏极开路的双向I/O口。P1 口是一个具有内部上拉电阻的8 位双向I/O 口。图1 AT89S52引脚图 DIP封装2.1.2两位共阴数码管数码管是一种半导体发光器件,其基本单元是发光二极管。按数码管内部发光二极管的个数(段数)可以将数码管分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示)。两位共阴数码管即可以同时显示两个数字的数码管。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。图2 数码管内部电路图图3 两位数码管实物图2.2 电路原理图设计2.2.1整体硬件设计整体电路原理框图如下:单片机指示灯数码管图4 整体电路原理框图整体硬件包括单片机最小系统本分、LED指示部分和数码管显示部分。图5 整体电路原理图2.2.2单片机最小系统(1)单片机在单片机应用系统中,单片机是核心部件,能够自动完成用户赋予它的任务,控制LED指示和数码管显示倒计时。(2)晶振电路:晶振电路是单片机一种时序电路,必须为其提供脉冲信号才能正常工作。由于MCS-51系列单片机内部已集成了时钟电路,所以在使用时只要外接晶体振荡器和电容就可以产生脉冲信号。晶体振荡器和电容所组成的电路称为晶振电路。图6 晶振电路(3)复位电路:单片机在启动运行时,都需要先复位,即是使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51系列单片机本身,一般不能自动进行复位,必须配合相应的外部电路才能实现。复位电路的作用就是使单片机在上电时能够复位或运行出错时进入复位状态。图7 复位电路(4)输入输出口线插座: 单片机通过输入输出口线与外界交换信息。例如,单片机与外设的通讯就是通过输入输出口线实现的。单片机输入输出口线的驱动能力有限。驱动能力不足时,可以在口线上接驱动器。2.2.3LED指示灯设计高亮LED承受的电压比较小,所以不能直接在LED两端直接用5V电压驱动,这是需要串联上一个电阻进行分压。但是如果用单片机端口直接驱动LED电路阳极,单片机输出端口的输出电流很小,需要另加驱动电路。为了解决单片机不能直接驱动LED电路的问题,只需将单片机的输出口直接接到LED电路的阴极即可。这样就不再需要另加驱动电路,简化了电路结构,降低成本。图8 南北方向LED指示电路2.2.4数码管显示电路设计由于数码管可以承受5V的电压,所以可以直接将数码管接到单片机的输出端口。但是单片机的驱动电路很小,数码管亮度不够,所以要在单片机的输出端口接上上拉电阻作为驱动电路,增加驱动电流,提高驱动能力,增加数码管的亮度。3 程序设计程序设计时,将程序进行模块设计可以让思路更加明确,方便阅读。3.1 总体程序流程图图9 程序流程图3.2 初始化程序单片机的IO口可以不用专门的初始化程序,直接默认即可。这里的初始化程序主要是定时器初始化,比如将计数器赋起始值等。3.3 通车指示程序通车指示程序包括主干道东西通车指示程序和次干道南北通车指示程序,即东西通车函数和南北通车函数。每个函数的内部都包括LED指示功能和数码管显示功能。东西方向通车45秒(数码管显示倒计时),即在倒计时期间,先亮42秒绿灯,再亮3秒黄灯,期间南北方向不通车(红灯)。南北通车30秒(数码管显示倒计时),即在倒计时期间,南北方向绿灯先亮27秒,然后再到黄灯亮3秒,期间东西方向亮红灯。使用while循环语句让东西方向和南北方向交替通车。3.4 倒计时程序实现通车剩余时间倒计时可用两种方法,一种是使用for循环语句倒计时,另外一种是使用定时器中断计算时间实现倒计时。前一种方法,即使用for循环语句的方法计算的时间的方法,由于交通灯对时间的要求不是很精确,理论上也是可以的。但是使用这种方法在实际调试时候,由于在倒计时的期间单片机要执行其他的程序语句,所以用这种方法很难实现。后一种方法,即使用定时器中断函数来计算时间,不但可以很精确地计算时间,而且在定时的同时,单片机还可以执行其他语句,比如数码管动态显示。所以选择了使用定时器中断来计算倒计时时间。3.5 数码管显示由于这里使用的是两位共阴数码管,也就是说在同一时刻,数码管不能同时显示两位数字,所以不能使用数码管静态显示的方法。在这里,我使用了数码管动态显示的方法,即让数码管的两位数字轮流显示,当周期很短的时候,由于视觉滞留的效果,看起来好像数码管的两位数是同时显示的。4 调试过程调试可以分为硬件调试和程序调试。在硬件调试前,先确认电源电压是否为5V。将电路板接上电源后,先用万用表确认单片机等元件是否接上电。然后开始结合程序,测试单片机是否正常工作,若单片机不能正常工作,检查晶振是否震荡。确认单片机最小系统可以正常工作后,将程序烧录到单片机中,点亮每一个LED和数码管。确认硬件可以正常工作后,开始程序调试。程序调试的第一步是让数码可以正常显示数字,这样可以使后面调试过程出现的错误在数码管显示出来。第二步,调试定时器倒计时程序,并在数码管上下面是出来。第三步,分别编写东西通车和南北通车两个倒计时函数,并让这两个函数轮流切换运行。第四步,分别在两个倒计时函数中调节红黄绿LED轮流切换的功能。最后,将整个系统运行一段时间,检查系统是否已能正常工作,若不能正常工作,则分析原因并解决问题,直到系统正常。5 心得体会通过本次的课程设计,很深刻地体会到一点,那就是我们在设计过程中一定要有一个整体的清晰的思路,知道自己的设计的对象的基本功能和核心器件的适用及其作用,只要把握住这些主要方面,一些小问题都将围绕着这些主要问题而逐步得到解决。同时我也懂得,在整个设计过程中,生活中也一样,一定要意志坚定,克服自己的畏难情绪,这样才能将事情做好,才能干出一番成就。谢 辞感谢学院给我们提供这样的实践动手机会,并通过课程设计使我们能够有机会将书本上学到的知识运用到的实际中去。在课设过程中施娟老师给了我很多的指导和帮助,并监督我及时完成了本次课程设计,老师严谨的治学态度、对科研工作的执着追求、谦逊和蔼的风范对自己产生的深远影响,使自己受益终生。在她的严格要求下,我的设计有了很大的进展,每次的指导我都会从中获得丰富的理论知识同时也会提高实践能力,这对我将来进一步学习电子方面的知识有着极大的帮助。在此特别感谢施娟老师和给予我帮助的同学。参考文献1张毅刚,彭喜元,彭宇. 单片机原理及应用(第2版).高等教育出版社.2010.52郑峰,王巧芝等. 51单片机典型应用开发范例大全. 中国铁道工业出版社.2011.103曾峰.印刷电路板(PCB)设计与制作M.北京:电子工业出版社.2002.114 刘文涛. MCS-51单片机培训教程(C51)版.电子工业出版社, 2005.8.5 王宜怀.单片机原理及其嵌入式应用教程.北京希望电子出版社, 2002.8.6 邵贝贝.单片机嵌入式应用的在线开发方法.清华大学出版社, 2006.3.7 龚运新.单片机C 语言开发技术.清华大学出版社, 2006.10.8 Jean J.Labrosse 著. 嵌入式系统构件.袁勤勇等译.北京:机械工业出版社, 2002.9 江世明基于Proteus的单片机应用技术M. 北京:电子工业出版社,2009.10 李泉溪. 单片机原理与应用实例仿真M北京:北京航空航天大学出版社,2009.11 孙惠芹. 单片机项目设计教程M. 北京:电子工业出版社,2009.附 录原理图:PCB图:电路板实物图:C语言源程序:#include / 包含51单片机寄存器定义的头文件#define uchar unsigned charunsigned char Tab =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /control shape/unsigned char Tab =0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff;unsigned char port8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char int_time,count ; /中断次数计数变量unsigned char WE_second,NS_second; /秒计数变量 sbit NS_greenlight =P10 ;sbit NS_yellowlight =P11 ;sbit NS_redlight =P12 ;sbit WE_greenlight =P13 ;sbit WE_yellowlight =P14 ;sbit WE_redlight =P15 ;sbit NS_timedec =P20 ;sbit NS_timeunit =P21 ;sbit WE_timedec =P22 ;sbit WE_timeunit =P23 ;uchar time=0,sec;/*函数功能:延时1ms*/void delay1ms() unsigned char i,j; for(i=0;i10;i+) for(j=0;j33;j+) ; /*函数功能:延时若干毫秒入口参数:n*/ void delaynms(unsigned int n) unsigned int i;for(i=0;in;i+)delay1ms(); void delay(void) /延时函数,延时约0.6ms unsigned char j;for(j=0;j3) NS_yellowlight=1; NS_redlight =1; NS_greenlight=0; WE_yellowlight=1; WE_redlight =0; WE_greenlight=1; if(t0) NS_yellowlight=0; NS_redlight =1; NS_greenlight=1; WE_yellowlight=0; WE_redlight =1; WE_greenlight=1; if(t=0) NS_yellowlight=1;NS_greenlight=1; NS_redlight =0;WE_yellowlight=1;WE_greenlight=0; WE_redlight =1; /*函数功能:东西通道通车时间入口参数:*/void WE_traffic(uchar t) P2=0xfa; P0=Tabt/10;/显示个位 delay(); delay(); P2=0xf5; P0=Tabt%10; delay(); delay(); if(t3) NS_yellowlight=1; NS_redlight =0; NS_greenlight=1; WE_yellowlight=1; WE_redlight =1; WE_greenlight=0; if(t0) WE_yellowlight=0; WE_redlight =1; WE_greenlight=1; NS_yellowlight=0; NS_redlight =1; NS_greenlight=1; if(t=0) WE_yellowlight=1; WE_redlight =1; WE_greenlight=0; NS_yellowlight=1; NS_redlight =0; NS_greenlight=1; /*函数功能:主函数*/ void main(void)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省杭州市五校联考2026届化学高二第一学期期中检测模拟试题含解析
- 高速公路监控设备安装方案
- 施工过程中的质量控制流程
- 2025年保健项圈手环行业研究报告及未来行业发展趋势预测
- 2025年其他库存服装行业研究报告及未来行业发展趋势预测
- 2025年文房墨汁行业研究报告及未来行业发展趋势预测
- 2025年路面机械行业研究报告及未来行业发展趋势预测
- 中医护理个案护理措施部分书写
- 2025年眼药水行业研究报告及未来行业发展趋势预测
- 2025年天使投资行业研究报告及未来行业发展趋势预测
- 财经法规与会计职业道德(第5版)课件 第一章 总论
- 舞蹈艺术概论
- 装卸劳务外包服务项目方案(技术标)
- 2025年度互联网行业市场调研服务协议4篇
- 小学音乐新课标考试题库800题(含答案)
- 《付出总有收获》课件
- 方剂学知到智慧树章节测试课后答案2024年秋安徽中医药大学
- 《蚕丝微观结构》课件
- 《公路养护安全培训》课件
- 《Linux培训基础》课件
- 新反诈知识考试题库200题(含答案)
评论
0/150
提交评论