AT89C52单片机交通灯设计1

上传人:豆****2 文档编号:86352355 上传时间:2022-05-07 格式:DOC 页数:10 大小:164.50KB
收藏 版权申诉 举报 下载
AT89C52单片机交通灯设计1_第1页
第1页 / 共10页
AT89C52单片机交通灯设计1_第2页
第2页 / 共10页
AT89C52单片机交通灯设计1_第3页
第3页 / 共10页
资源描述:

《AT89C52单片机交通灯设计1》由会员分享,可在线阅读,更多相关《AT89C52单片机交通灯设计1(10页珍藏版)》请在装配图网上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流AT89C52单片机交通灯设计1.精品文档.目 录摘要.21 交通信号灯控制系统设计任务和性能指标 .3 1.1 设计任务.3 1.2 性能指标.32 交通信号灯控制系统设计方案.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 软件设计方案.53 交通信号灯控制系统硬件设计 .5 3.1 系统硬件框图 .5 3.2 单元电路设计.6 3.2.1 单片机最小系统 .6 3.2.2 信号灯显示电路 .7 3.2.3 倒计时

2、显示电路 .7 3.2.4 电路原理图.8 4 交通信号灯控制系统程序设计 .8 4.1 C语言程序编写.85个人小结.126参考文献 .12摘要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本系统采用单片机AT89C52为中心器

3、件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。本设计系统就是由单片机最小系统、交通灯状态显示系统、LED数码显示系统、复位电路和按键操作电路等几大部分组成。系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。1 交通信号灯控制系统设计任务和性能指标1.1设计任务 利用单片机设计一个十字路口交通信号灯控制系统,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置

4、红、绿、黄三色信号灯,并有倒计时系统显示信号灯转换时间。用红、绿、黄发光二极管作信号灯,两位八段数码管显示时间来控制交通信号灯的变化。1.2性能指标(1)东西和南北方向的车辆交替通行,任意时刻只有一个方向通行,以黄灯闪烁来转换。(2)系统开始运行时设置每次放行13秒,其中有3秒是黄灯闪烁提醒行人和车辆禁止通行。2 交通信号灯控制系统设计方案2.1设计思路 2.1.1设计思路(1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。(2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能。 (3)选择器件,大体分配各个器

5、件及模块的基本功能要求,设计主控电路、显示电路,信号灯状态电路,按键电路等。(4)进行软件系统的设计,对于本系统,采用C语言编写,深入了解定时器,中断以及延时原理后,完成软件的编写。 2.1.2 功能设计本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,通行时间调整和紧急情况处理等功能。 2.2 总体设计单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。2.2.1 通行方案设计十字路口分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一

6、定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态4然后循环至状态1,周而复始。 S1 东西通行 S2 东西禁行过渡状态 S3 南北通行 S4 南北禁行过渡状态通过对具体的十字路口交通信号灯状态的演示分析,可以把这四个状态归纳如下:状态S1:东西方向绿灯亮,允许通行,南北方向红灯亮,禁止通行; 状态S2:东西方向绿灯转黄灯闪烁,允许通行,南北方向红灯亮,禁止通行;状态S3:东西方向红灯亮,禁止通行,南北方向绿灯亮,允许通行;状态S4:东西方向红灯亮,禁止通行,南北方向绿灯转黄灯闪烁,允许通行;依据上述分析,东西的

7、通行时间为状态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为

8、中心器件设计交通信号灯控制器,实现了红绿灯循环点亮,绿灯变红灯中间为黄灯闪烁警示的功能。每个方向采用红绿黄三色的LED灯的亮灭来模拟信号灯,采用两位八段共阳数码管,显示十字路口通行或禁止的剩余时间。2.2.3 软件设计方案 设计要求为:首先南北方向红灯、东西方向绿灯亮,南北方向红灯13秒、东西方向绿灯9秒,相应的数码管显示对应的数字并读秒,同时南北方向红色的二极管和东西方向的绿色二极管接通点亮显示,当东西方向的绿灯时间到,则东西方向的绿灯转为黄灯,同时数码管显示黄灯的时间3秒,东西方向的黄色二极管接通点亮,此时南北方向的红灯不变。南北方向的红灯和东西方向的黄灯时间同时到,此时南北方向的红灯跳转

9、为绿灯,时间同样为9秒,东西方向有黄灯跳转为红灯,时间为13秒。当南北方向的绿灯时间到,南北绿灯跳转为黄灯,东西方向的红灯不变,当南北方向的黄灯和东西方向的红灯时间到,南北方向的黄灯跳转为红灯,东西方向的红灯跳转为绿灯。进入开始的状态,循环执行。 根据设计要求编写C语言程序。软件采用KEIL C语言完成。3 交通信号灯控制系统硬件设计3.1系统硬件框图 根据设计的要求,单片机选用AT89C52,其内部带有8KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。四个方向各采用三个不同色的LED灯和1个两位的数码管显示,来实现该方向的指示灯的点亮时间倒计时。按键可以根据系

10、统的需要进行操作。AT89C52XTAL1 P0.0XTAL2 | P0.5RES P2.0 | P2.7P3 时钟电路复位电路信号灯显示倒计时显示按键操作 系统硬件框图3.2单元电路设计 3.2.1单片机最小系统 对51系列单片机来说,单片机要正常工作,必须具有五个基本电路,也称五个工作条件:1、电源电路,2、时钟电路,3、复位电路,4、程序存储器选择电路,5、外围电路。因此,单片机最小系统一般应该包括单片机、晶振电路、复位电路、外围电路等。 (1)电源电路设计 单片机芯片的第40脚为正电源引脚VCC,一般外接+5V电压。第20脚为接地引脚GND,常见电源电路设计如下图所示: 电源设计(2)

11、时钟电路设计单片机是一种时序电路,必须要有时钟信号才能正常工作。单片机芯片的18脚(XTAL2)、19脚(XTAL1)分别为片内反向放大器的输出端和输入端,只要在18脚(XTAL2)和19脚(XTAL1)之间接上一个晶振,再加上2个20PF的瓷片电容即可构成单片机所需的时钟电路,本设计就采用图所示时钟电路。 时钟电路(3)复位电路设计单片机芯片的第9脚RST(Reset)是复位信号输入端。单片机系统在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态等情况下都需要复位。AT89C52单片机的复位靠外部电路实现,信号从RST引脚输入,高电平有效,只要保持RST引脚高电平2个机器周

12、期,单片机就能正常复位。 复位电路(4)外围电路的设计外围电路的设计主要依据项目要实现的功能,本项目要实现的功能是用单片机控制交通信号灯。 3.2.2交通信号灯显示电路本系统采用LED作为信号灯来使用,单片机的I/O口直接与LED连接。在十字路口的四组红、黄、绿三色交通灯中,东西方向的同色灯连接在一起,南北方向的同色灯也彼此连接,受单片机AT89C52的P1.0P1.5控制。12个LED指示灯采用共阳极的连接方式,因此I/O口输出低电平时,与之相连的LED会亮,输出高电平时,LED熄灭。 3.2.3倒计时显示电路该交通信号灯控制系统在正常工作情况下,为方便提示路上行人及车辆交通灯转换的剩余时间

13、,专门为控制系统提供了一个倒计时的显示装置。该装置采用2位八段数码管来显示,每个路口需要1个,共4个,在设计电路时,本系统采用用共阳数码管。3.2.4电路原理图4 交通信号灯控制系统程序设计4.1 C语言程序编写本系统程序采用KEIL C 编程,来控制交通信号灯的亮灭及时长。程序如下:/*#include*/#include #define uchar unsigned char /*定义字符串类型为无符号型*/uchar code a10=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;uchar code b4=0x0D,0x0E,0x0

14、7,0x0B; /*P2口,低有效*/uchar code c4=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=

15、(65536-50000)%256; /*0xB0*/*计50000个数,用时50ms*/ IT0=1;/*外部中断0为边沿触发方式*/ ET0=1;/*允许T0中断*/ TR0=1;/*启动计数器*/ EA=1;/*CPU开放总中断*/*定时函数*/void time1(void) interrupt 1TH0=0x3c;TL0=0xb0;/*计50000个数,用时50ms*/count+; /*自增运算*/if(count=20)/*当count大于或等于20时,历时1s,执行程序*/ SN-;/*自减运算*/ WE-;/*自减运算*/ count=0;/*清零*/ if(SN=0|WE=

16、0)/*当SN=0或者WE=0时,执行程序*/ k+;/*自增运算*/ if(k3)/*当k3时,执行程序*/ 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;/*南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/

17、case 3:SN=Y,WE=Y;break; /*东西南北方向显示时间均为黄灯闪亮时间*/*延时t毫秒*/void delay(uchar t) uchar i; for(t;t0;t-) for(i=2000;i0;i-) /*交通灯函数*/void light() P1=ck;/*交通灯对应着k的值变化*/ if(P1=c1&count=0)/*当南北方向亮黄灯且count=0时,执行程序*/ TH1=(65536-50000)/256; TL1=(65536-50000)%256;/*延时50ms*/ P1=0xDF;/*南北方向黄灯熄灭,东西方向亮红灯*/ else if(P1=c3

18、&count=0)/*当东西方向亮黄灯且count=0时,执行程序*/ TH1=(65536-300000)/256; TL1=(65536-300000)%256;/*延时50ms*/ P1=0xFB;/*南北方向亮红灯,东西方向黄灯熄灭*/*数码管函数*/void led()P2=b0,P0=aSN%10;/*显示南北方向个位*/ delay(5);/*延时*/P2=b1,P0=aSN/10;/*显示南北方向十位*/delay(5);/*延时*/P2=b2,P0=aWE%10;/*显示东西方向个位*/delay(5);/*延时*/P2=b3,P0=aWE/10;/*显示东西方向十位*/de

19、lay(5); /*延时*/void main(void)init();/*调用程序初始化函数*/for(;)/*无条件循环*/ light();/*调用交通灯函数*/ led(); /*调用数码管函数*/ 5 个人小结这次是很有意义的一次课程设计,从原理图设计到软件仿真,我从中收获了许多。刚开始设计时,我就在校门口仔细观察交通灯的转换,经过研究思考最终得到了上述的交通灯状态转换表。 在程序编写上,我选择了用KEIL C语言进行编程。在整个程序的编写过程中,采用模块化,编一个子程序仿真一个,通过Keil 和proteus两个软件来实现的。Keil 帮助检查程序是否存在语法错误之类的问题,同时可

20、以生成hex文件,供proteus软件仿真使用。通过一周的课程设计,使我更深入的学习了AT89C52单片机。6 参考文献1张毅坤. 单片微型计算机原理及应用,西安电子科技大学出版社 19982夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 20013彭伟. 单片机C语言程序设计100例.北京:电子工业出版社, 20095雷丽文. 微机原理与接口技术.北京:电子工业出版社, 20016于永. 51单片机C语言常用模块与综合系统设计.北京:电子工业出版社, 20077谭浩强. C语言程序设计.北京:清华大学出版社, 20058于永. 51单片机C语言常用模块与综合系统设计.北京:电子工业出版社, 2007

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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