ImageVerifierCode 换一换
格式:DOC , 页数:75 ,大小:671.50KB ,
资源ID:130861      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-130861.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于AT89S52单片机的交通灯控制系统设计毕业论文.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

基于AT89S52单片机的交通灯控制系统设计毕业论文.doc

1、1 基于 AT89S52 单片机的交通灯控制系统设计 1、 项目概述 随着我国经济的高速发展 ,私家车、公交车的增加 ,无疑会给我国交通系统带来沉重的压力 ,很多大城市都不同程度地受到交通阻塞问题的困扰。 交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 下面以 AT89S52 单片机为核心,设计出以人性化、智能化为目的的交通信号灯控制系统。 2、 项目要求 用 AT89S52 单片机控制一个交通信号灯系统,晶振采用 12MHZ。 设 A 车道与 B 车道交叉组成十字路口, A 是主道, B 是支道。设计 要求如下: 用发光二极管模拟交通信号灯

2、,用按键开关模拟车辆检测信号。正常情况下,A、 B 两车道轮流放行, A 车道放行 50s,其中 5s 用于警告; B 车道放行 30s,其中 5s 用于警告。交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。在 B 车道放行期间,若 A 车道有车而 B 车道无车,按下开关 K1 使 A 车道放行 15s;在 A 车道放行期间,若 B 车道有车而 A 车道无车,按下开关 K1 使 B 车道放行 15s。有紧急车辆通过时,按下 K2 开关使 A、 B 车道均为红灯,禁行 20s。 3、 系统设计 3、 1框图设计 总体设计框图如图 1 所示: 图 1 系统

3、整体设计方框图 3、 2知识点 交通控制系统主要控制 A、 B 两车道的交通,以 AT89S52 单片机为核心芯片,通过控制三色 LED 的亮灭来控制各车道的通行;另外通过 2 个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。根据设计要求,制定总体设计思想AT89S52 单片机 复位电路 晶振电路 按键电路 七段数码管倒计 时显示电路 A、 B 车道 LED 显示电路 2 如下: ( 1) 正常情况下运行主程序,采用 0.5S 延时子程序的反复调用来实现各种定时时间。 ( 2) 一道有车而另一道无车时,采用外部中断 1 执行中断服务程序,并设置中断 为低优先级中断。 ( 3) 有紧急车辆通

4、过时,采用外部中断 0 执行中断服务程序,并设置中断为高优先级中断,实现二级中断嵌套。 该电路具有电路简单,设计方便,显示亮度高,耗电较少,也非常的可靠等点。 4、硬件设计 4.1 电路原理图 ( 1)时钟电路模块 时钟电路由一个晶体振荡器 12MHZ 和两个 30pF 的瓷片电容组成。时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。其电路 如图 2 所示: 图 2 时钟电路模块 ( 2)复位电路模块 复位电路是使单片机的 CPU 或系统中的其他

5、部件处于某一确定的初始状态,并从这状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位电路以重新启动。本设计采用的是按键复位电路。其电路如图 3所示: 3 图 3 复位电路 ( 3)主控 制系统模块 主控制器采用 AT89S52,是 ATMEL 公司生产的一款性能稳定的 8 位单片机。AT89S52 具有 1 个 8KB 的 FLASH 程序存储器, 1个 512 字节的 RAM, 4 个 8位的双向可位寻址 I/O 端口, 3个 16 位定时 /计数器及 1 个串行口和 6 个向量二级中断结构。 单片机的 P0 口分别用于控制南

6、北及东西的通行灯, P2口和 P34-P37 口用于 4 组 4位 LED 计时器的控制,紧急车辆通行时使用外中断 0( P32)和外中断1(P33),进行手动按键,即可转换。其主控电路如图 4所示: 图 4 主控制系统模块 ( 4)交通灯输出控制模块 道口交通灯指示采用高亮度红、黄、绿发光二极管进行提示。其图如图 5所示 : 4 图 5 LED 显示模块 当 R=220 欧时,按公式 A=(5-1.8)/R 计算,电路中的电流大小应为A=14.545mA.由于每个路口的通行双向指示处理相同,因此每个端口应具有 3A的吸收电流能力。 ( 5)时间显示电路模块 道口通行剩余时间采用高亮红色 7段

7、 LED 发光数码管显示,采用共阳数码管,如用单片机吸收电流驱动,列扫描 驱动使用三极管,按每段 6mA 电流计算,全显示字形“ 8”时,每个数码需 6mA*8=48mA,由于时间显示每个道口相同,共需要电流 192mA,因此设计中也采用了中功率三极管 8550.其显示电路如图 6所示: 图 6 数码管显示模块 5 ( 6)紧急通车电路模块 为了实现此功能,利用单片机中断达到目的。利用一个手动按钮开关接至单片机外部中断 0,同时在软件设计时将其设定为最高优先级,当其按下时,四方全为红灯,同时将中断位置的 PSW、 ACC 进栈保护,当其计时完了之后,回到原来的位置进行执行。再利用一个 手动按钮

8、接至单片机外部中断 1 当其按下时,如果是东西道是红灯,而南北道是绿灯,则将其置为东西是绿灯,南北是红灯;如果是东西道是绿灯,而南北道是红灯,则将其置为东西是红灯,南北是绿灯。两种情况都是执行完后,回到断点处继续执行。其电路如图 7 所示: 图 7 按键控制电路 ( 7) 总原理图 如图 8所示 图 8 总的原理图 6 4、 2元件清单 如下表所示: 元件名称 型号 数量 /个 用途 单片机 AT89S52 1 控制核心 晶振 12MHZ 1 晶振电路 电容 30pF 2 晶振电路 电解电容 10uF 1 复位电路 电阻 5.1K 1 复位电路 发光二极管 LED 12 红、黄、绿灯 集成块

9、74LS08 1 按键电路 电阻 220 13 LED 限流 电阻 470 8 数码管电路 电阻 1K 7 数码管驱动、按键电路 四位共阳数码管 GC-3461BS 1 显示电路 微动开关 3 按键电路 三级管 PNP 8550 4 数码管驱动电路 5、软件设计 主程序采用查询方式定时,调用 0.5S 延时子程序的次数,从而获取交通灯的各种时间。子程序采用定时器 1 方式 1 查询式定时,定时器定时 50ms,确定50ms 循环 20 次,从而获得 1S 的延时时间。 有车车道的放行的中断服务程序首先要保护现场,因而需用到延时子程序,子程序采用定时器 0 方式 1 查询式定时,定时器定时 50

10、ms,确定 50ms 循环 20次,从而获得 1S 的延时时间,保护现场时还需关中断,以防止高优先级中断(紧急车辆通过所产生的中断)出现导致程序混乱。 开中断,由软件查询外中断 1,判别哪一道有车,再根据查询情况执行相应的服务。待交通灯信号出现后,保持 15S 的延时,然后,关中断,恢复现场,再开中断返回主程序。 紧急车辆出现时 的中断服务程序也需要保护现场,但无须关中断(因其为高优先级中断),然后执行相应的服务,待交通灯信号出现后延时 20S,确保紧急车辆通过交叉路口,然后,恢复现场,返回主程序。 5.1 软件流程图 7 主程序 有车车道放行时的中断服务程序(外中断 1) 紧急情况时的中断服

11、务程序(外中断 0) 中断响应 保护现场 A 红灯、 B 红灯 延时 20S 恢复现场 返回 初始化 开始 A 绿灯、 B 红灯 延 时 45S A 黄灯、 B 红灯 延时 5S A 红灯、 B 绿灯灯 延时 25S A 红灯、 B 黄灯 延时 5S 关中断 保护现场 开中断 A 绿灯、 B 红灯 A 红灯、 B 绿灯 延时 15S 关中断 恢复现场 开中断 中断响应 A 道有车吗 B 道有车吗 返回 8 5、 2程序清单 #include #define uchar unsigned char #define uint unsigned int #define time 50000 #def

12、ine on 0 #define off 1 sbit RED_ZHU = P00; /南北 红灯 sbit YELLOW_ZHU = P01;/南北 黄灯 sbit GREEN_ZHU = P02; /南北 绿灯 sbit RED_ZHI = P03; /东西 红灯 sbit YELLOW_ZHI = P04; /东西 黄灯 sbit GREEN_ZHI = P05; /东西 绿灯 sbit P23 = P34; sbit P22 = P35; /东西方向数码管位选 sbit P21 = P36; sbit P20 = P37; /南北方向数码管位选 sbit int0_key = P32;

13、 sbit int1_key = P33; void display1(uchar,uchar); void display2(uchar,uchar); void delayms(uint k); uchar temp1,temp2,temp3,temp4,temp5,temp6; /*=倒计时 =*/ uchar N = 50,Y = 45,Z = 50,M = 75,G = 80,U =80; uchar C50ms,t0; 9 uchar seg = 1; uchar flag=0,led_data_temp; void InitialT1(void) TMOD = 0x11; /定时

14、器 0,1 工作在方式 1 TH1 = (65536 - time)/256; /相 当于 (65536-time)/256; TL1 = (65536 - time)%256;/初值为 time(50ms) TR1 = 1;/开定时器 1 中断 ET1 = 1;/允许定时器 1中断 ET0 = 1; TH0 = (65536 - time)/256; TL0 = (65536 - time)%256; EX0 = 1; /允许外部中断 0 IE0 = 1;/启动外部中断 0 PX0 = 1; EX1=1; IE1=1; EA = 1; /开总中断 void int0(void) interr

15、upt 0 /外中断 0 flag = 0; led_data_temp = P0; t0 = 20; if(!int0_key) 10 delayms(10); if(!int0_key) while(!int0_key); TH0 = (65536 - time)/256; TL0 = (65536 - time)%256; TR1 = 0; TR0 = 1; EX0 = 0; EX1 = 0; C50ms = 0; void int1(void) interrupt 2 /外部中断 1 t0=15; flag = 1; led_data_temp = P0; if(RED_ZHU = 0) GREEN_ZHU = 0; RED_ZHI = 0; else /if(RED_ZHI = 0)&(GREEN_ZHU = 0)

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。