AT89C52单片机交通灯设计1.doc
《AT89C52单片机交通灯设计1.doc》由会员分享,可在线阅读,更多相关《AT89C52单片机交通灯设计1.doc(12页珍藏版)》请在咨信网上搜索。
目 录 摘要...................................................................2 1 交通信号灯控制系统设计任务和性能指标................................3 1.1 设计任务........................................................3 1.2 性能指标........................................................3 2 交通信号灯控制系统设计方案...........................................3 2.1 设计思路 ......................................................3 2.1.1 设计思路...................................................3 2.1.2 功能设计...................................................3 2.2 总体设计........................................................3 2.2.1 通行方案设计...............................................4 2.2.2 硬件设计方案...............................................4 2.2.3 软件设计方案...............................................5 3 交通信号灯控制系统硬件设计 ..........................................5 3.1 系统硬件框图 ...................................................5 3.2 单元电路设计....................................................6 3.2.1 单片机最小系统 ............................................6 3.2.2 信号灯显示电路 ............................................7 3.2.3 倒计时显示电路 ............................................7 3.2.4 电路原理图.................................................8 4 交通信号灯控制系统程序设计 .........................................8 4.1 C语言程序编写...................................................8 5个人小结.............................................................12 6参考文献 ............................................................12 摘要 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本系统采用单片机AT89C52为中心器件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。本设计系统就是由单片机最小系统、交通灯状态显示系统、LED数码显示系统、复位电路和按键操作电路等几大部分组成。系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。 软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。 1 交通信号灯控制系统设计任务和性能指标 1.1设计任务 利用单片机设计一个十字路口交通信号灯控制系统,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,并有倒计时系统显示信号灯转换时间。用红、绿、黄发光二极管作信号灯,两位八段数码管显示时间来控制交通信号灯的变化。 1.2性能指标 (1)东西和南北方向的车辆交替通行,任意时刻只有一个方向通行,以黄灯闪烁来转换。 (2)系统开始运行时设置每次放行13秒,其中有3秒是黄灯闪烁提醒行人和车辆禁止通行。 2 交通信号灯控制系统设计方案 2.1设计思路 2.1.1设计思路 (1)分析目前交通路口的基本控制技术以与各种通行方案,并以此为基础提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以与系统应拥有的各项功能。 (3)选择器件,大体分配各个器件与模块的基本功能要求,设计主控电路、显示电路,信号灯状态电路,按键电路等。 (4)进行软件系统的设计,对于本系统,采用C语言编写,深入了解定时器,中断以与延时原理后,完成软件的编写。 2.1.2 功能设计 本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,通行时间调整和紧急情况处理等功能。 2.2 总体设计 单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。 2.2.1 通行方案设计 十字路口分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态4然后循环至状态1,周而复始。 S1 东西通行 S2 东西禁行过渡状态 S3 南北通行 S4 南北禁行过渡状态 通过对具体的十字路口交通信号灯状态的演示分析,可以把这四个状态归纳如下: 状态S1:东西方向绿灯亮,允许通行,南北方向红灯亮,禁止通行; 状态S2:东西方向绿灯转黄灯闪烁,允许通行,南北方向红灯亮,禁止通行; 状态S3:东西方向红灯亮,禁止通行,南北方向绿灯亮,允许通行; 状态S4:东西方向红灯亮,禁止通行,南北方向绿灯转黄灯闪烁,允许通行; 依据上述分析,东西的通行时间为状态S1和状态S2的时间之和,南北的通行时间为状态S3和状态S4的时间之和。 2.2.2 硬件设计方案 2.2.2.1 AT89C52单片机芯片简介 AT89C52是一个低电压,高性能CMOS 8位单片机,片含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 2.2.2.2 AT89C52单片机引脚图 本系统选用Atmel公司的AT系列单片机AT89C52为中心器件设计交通信号灯控制器,实现了红绿灯循环点亮,绿灯变红灯中间为黄灯闪烁警示的功能。每个方向采用红绿黄三色的LED灯的亮灭来模拟信号灯,采用两位八段共阳数码管,显示十字路口通行或禁止的剩余时间。 2.2.3 软件设计方案 设计要求为:首先南北方向红灯、东西方向绿灯亮,南北方向红灯13秒、东西方向绿灯9秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间3秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转为绿灯,时间同样为9秒,东西方向有黄灯跳转为红灯,时间为13秒。当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。进入开始的状态,循环执行。 根据设计要求编写C语言程序。软件采用KEIL C语言完成。 3 交通信号灯控制系统硬件设计 3.1系统硬件框图 根据设计的要求,单片机选用AT89C52,其部带有8KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。四个方向各采用三个不同色的LED灯和1个两位的数码管显示,来实现该方向的指示灯的点亮时间倒计时。按键可以根据系统的需要进行操作。 AT89C52 XTAL1 P0.0 XTAL2 | P0.5 RES P2.0 | P2.7 P3 时钟电路 复位电路 信号灯显示 倒计时显示 按键操作 系统硬件框图 3.2单元电路设计 3.2.1单片机最小系统 对51系列单片机来说,单片机要正常工作,必须具有五个基本电路,也称五个工作条件:1、电源电路,2、时钟电路,3、复位电路,4、程序存储器选择电路,5、外围电路。因此,单片机最小系统一般应该包括单片机、晶振电路、复位电路、外围电路等。 (1)电源电路设计 单片机芯片的第40脚为正电源引脚VCC,一般外接+5V电压。第20脚为接地引脚GND,常见电源电路设计如下图所示: 电源设计 (2)时钟电路设计 单片机是一种时序电路,必须要有时钟信号才能正常工作。单片机芯片的18脚(XTAL2)、19脚(XTAL1)分别为片反向放大器的输出端和输入端,只要在18脚(XTAL2)和19脚(XTAL1)之间接上一个晶振,再加上2个20PF的瓷片电容即可构成单片机所需的时钟电路,本设计就采用图所示时钟电路。 时钟电路 (3)复位电路设计 单片机芯片的第9脚RST(Reset)是复位信号输入端。单片机系统在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态等情况下都需要复位。AT89C52单片机的复位靠外部电路实现,信号从RST引脚输入,高电平有效,只要保持RST引脚高电平2个机器周期,单片机就能正常复位。 复位电路 (4)外围电路的设计 外围电路的设计主要依据项目要实现的功能,本项目要实现的功能是用单片机控制交通信号灯。 交通信号灯显示电路 本系统采用LED作为信号灯来使用,单片机的I/O口直接与LED连接。在十字路口的四组红、黄、绿三色交通灯中,东西方向的同色灯连接在一起,南北方向的同色灯也彼此连接,受单片机AT89C52的P1.0—P1.5控制。12个LED指示灯采用共阳极的连接方式,因此I/O口输出低电平时,与之相连的LED会亮,输出高电平时,LED熄灭。 倒计时显示电路 该交通信号灯控制系统在正常工作情况下,为方便提示路上行人与车辆交通灯转换的剩余时间,专门为控制系统提供了一个倒计时的显示装置。该装置采用2位八段数码管来显示,每个路口需要1个,共4个,在设计电路时,本系统采用用共阳数码管。 3.2.4电路原理图 4 交通信号灯控制系统程序设计 4.1 C语言程序编写 本系统程序采用KEIL C 编程,来控制交通信号灯的亮灭与时长。 程序如下: /*#include<REG51.H> */ #include<AT89X51.H> #define uchar unsigned char /*定义字符串类型为无符号型*/ uchar code a[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; uchar code b[4]={0x0D,0x0E,0x07,0x0B}; /****P2口,低有效*/ uchar code c[4]={0xDE,0xDD,0xF3,0xEB}; /****P1口,低有效*/ char SN=10,WE=13; char SN_G=10,WE_G=10,Y=3; uchar i,k=0,count=0; void delay(uchar t);/*定义函数*/ void light(); /*定义函数*/ void led(); /*定义函数*/ /*程序初始化*/ void init(void) { /*12MHz */ TMOD=0x01; /**计数器用模式1,为16位计数器*****/ TH1=(65536-50000)/256; /*0x3C*/ TL1=(65536-50000)%256; /*0xB0*//*计50000个数,用时50ms*/ IT0=1;/*外部中断0为边沿触发方式*/ ET0=1;/*允许T0中断*/ TR0=1;/*启动计数器*/ EA=1;/*CPU开放总中断*/ } /*定时函数*/ void time1(void) interrupt 1 { TH0=0x3c; TL0=0xb0;/*计50000个数,用时50ms*/ count++; /*自增运算*/ if(count>=20)/*当count大于或等于20时,历时1s,执行程序*/ { SN--;/*自减运算*/ WE--;/*自减运算*/ count=0;/*清零*/ if(SN==0||WE==0)/*当SN=0或者WE=0时,执行程序*/ { k++;/*自增运算*/ if(k>3)/*当k>3时,执行程序*/ k=0;/*清零*/ switch(k)/*switch 语句*/ { case 0:SN=SN_G,WE=SN_G+Y;break;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/ case 1:SN=Y,WE=Y;break; /*东西南北方向显示时间均为黄灯闪亮时间*/ case 2:SN=WE_G+Y,WE=WE_G;break;/*南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/ case 3:SN=Y,WE=Y;break; /*东西南北方向显示时间均为黄灯闪亮时间*/ } } } } /*延时t毫秒*/ void delay(uchar t) { uchar i; for(t;t>0;t--) { for(i=2000;i>0;i--) {} } } /*交通灯函数*/ void light() { P1=c[k];/*交通灯对应着k的值变化*/ if(P1==c[1]&&count==0)/*当南北方向亮黄灯且count=0时,执行程序*/ { TH1=(65536-50000)/256; TL1=(65536-50000)%256;/*延时50ms*/ P1=0xDF;/*南北方向黄灯熄灭,东西方向亮红灯*/ } else if(P1==c[3]&&count==0)/*当东西方向亮黄灯且count=0时,执行程序*/ { TH1=(65536-300000)/256; TL1=(65536-300000)%256;/*延时50ms*/ P1=0xFB;/*南北方向亮红灯,东西方向黄灯熄灭*/ } } /*数码管函数*/ void led() { P2=b[0],P0=a[SN%10];/*显示南北方向个位*/ delay(5);/*延时*/ P2=b[1],P0=a[SN/10];/*显示南北方向十位*/ delay(5);/*延时*/ P2=b[2],P0=a[WE%10];/*显示东西方向个位*/ delay(5);/*延时*/ P2=b[3],P0=a[WE/10];/*显示东西方向十位*/ delay(5); /*延时*/ } void main(void) { init();/*调用程序初始化函数*/ for(;;)/*无条件循环*/ { light();/*调用交通灯函数*/ led(); /*调用数码管函数*/ } } 5个人小结 这次是很有意义的一次课程设计,从原理图设计到软件仿真,我从中收获了许多。刚开始设计时,我就在校门口仔细观察交通灯的转换,经过研究思考最终得到了上述的交通灯状态转换表。 在程序编写上,我选择了用KEIL C语言进行编程。在整个程序的编写过程中,采用模块化,编一个子程序仿真一个,通过Keil 和proteus两个软件来实现的。Keil 帮助检查程序是否存在语法错误之类的问题,同时可以生成hex文件,供proteus软件仿真使用。通过一周的课程设计,使我更深入的学习了AT89C52单片机。 6 参考文献 [1]毅坤. 单片微型计算机原理与应用,电子科技大学 1998 [2]夏继强. 单片机实验与实践教程. :航空航天大学, 2001 [3]伟. 单片机C语言程序设计100例.:电子工业, 2009 [5]雷丽文. 微机原理与接口技术.:电子工业, 2001 [6]于永. 51单片机C语言常用模块与综合系统设计.:电子工业, 2007 [7]谭浩强. C语言程序设计.:清华大学, 2005 [8]于永. 51单片机C语言常用模块与综合系统设计.:电子工业, 2007- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AT89C52 单片机 交通灯 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文