单片机课程设计报告-交通灯控制器设计.doc

上传人:夏** 文档编号:556990039 上传时间:2023-01-02 格式:DOC 页数:17 大小:2.33MB
返回 下载 相关 举报
单片机课程设计报告-交通灯控制器设计.doc_第1页
第1页 / 共17页
单片机课程设计报告-交通灯控制器设计.doc_第2页
第2页 / 共17页
单片机课程设计报告-交通灯控制器设计.doc_第3页
第3页 / 共17页
单片机课程设计报告-交通灯控制器设计.doc_第4页
第4页 / 共17页
单片机课程设计报告-交通灯控制器设计.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《单片机课程设计报告-交通灯控制器设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告-交通灯控制器设计.doc(17页珍藏版)》请在金锄头文库上搜索。

1、单片机原理与应用课程设计题 目: 交通灯控制器设计 班 级: 智能132班 姓名学号: 2015年 6 月 10 日目 录1 设计任务与要求22 设计方案33 硬件电路设计74 主要参数计算与分析85 调试过程96 结论97 附录10 参考文献141 设计任务与要求交通网络是城市的动脉,象征着一个城市的工业文明水平。交通关系着人们对于财产,安全和时间相关的利益。具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行舒畅,物流准时到位,甚至是生命通道的延伸。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

2、绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。基于整个交通控制系统的发展情况,本设计主要研究如下方面的功能:用智能,集成,且功能强大的MCS-51系列单片机中的AT89S52为控制中心,设计出一套十字路口的交通控制系统,以指挥该路口的实时通行状态。本设计除了有红、黄、绿信号灯状态控制能实现基本的交通功能外,还增加了倒计时显

3、示提示,基于实际情况,还增加了紧急情况处理功能和分时段调整信号灯点亮时间等功能等。设计要求:交通灯控制器设计:模拟十字路口红、黄、绿灯的切换,具有倒计时功能,紧急情况处理、分时段调整信号灯点亮时间等功能。要求:综合利用所学知识,完成稍复杂的系统设计8255、数码管、键盘、定时器、串口、并口(不局限于此)4人一组2 设计方案设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。图 交通状态东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东

4、西向禁止通行,南北向允许通行。东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向允许通行,南北向禁止通行。南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表所示。0表示灭,1表

5、示亮。通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:状态1状态3状态4状态6东西向禁行等待变换通行等待变换南北向通行等待变换禁行等待变换东西红灯1100东西黄灯0001东西绿灯0010南北红灯0011南北绿灯1000南北黄灯01001. 程序流程图有外部中断?返回开始初始化,启动定时器T0有外部中断?外部中断程序南北红灯,东西绿灯,调显示南北红灯,东西黄灯亮,调显示有外部中断?南北绿灯,东西红灯,调显示有外部中断?东西红灯,南北黄灯亮,调显示(1)主程序流程图开始中断复位中断流程图2.程序功能说明(1)主程序 采用顺序执行并反复循环的方法,正常情况下,每经一段时间红绿黄变换一

6、次状态,当有紧急中断时南北、东西都闪烁黄灯,同时报警器响起,视情况恢复最原始的情况。 (2)定时溢出中断子程序 特殊情况下,按动紧急开关,东西、南北两个方向同时点亮黄灯,并且蜂鸣器报警,待紧急情况解除后,通过按键进行复位,信号灯回到初始状态。3 硬件电路设计硬件有单片机、存储器、若干I/O(扩展)接口、驱动器件、保护器件、检测器件及外围设备等组成。其中单片机是整个系统的核心部件,能运行程序和处理数据。存储器用于存储单片机程序和数据。I/O接口是单片机与外部被控制对象交换的信息通道,包括以下及部分数字量I/O接口(频率、脉冲等)、开关量I/O接口(继电器开关、五触电开关、电磁阀等)、模拟量I/O

7、接口(A/D或D/A转换电路)。有时需要扩展I/O接口来满足单片机接口数量上的不足,通常采用8255芯片。通用外部设备室进行人机对话的纽带,包括键盘、显示器等。实现本设计要求的具体功能,可以选用AT89S52单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块AT89C52芯片引脚图4主要参数计算与分析定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定

8、为C,把计数初值设定为TC 可得到如下计算通式:TC=M-C式中,M为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=TT0。计算通式变为:T=(MTC)T0本系统主要使用了溢出中断, 把定时器/计数器设置为计数模式,然后把信号接到引脚T0或T1上为了使美出现一个下降沿的时候产生一个中断,也可以把计数器设置为自动重装模式,令重装值为FFH,当下降沿出现时,计数器将溢出,从而产生一个中断请求。这是拓展外部中断的常用方法。5 调试过程调试方法:编译程序后,先进行软件模拟,然后,硬件连接,进行硬件模

9、拟。观察动态显示,一周期后按下脉冲,观察紧急中断的情况。调试过程中出现的问题及解决方法:(1)中断不能实现,及中断后不能返回中断时的情况,将中断时的情况压入堆栈暂存,中断结束时出栈,重新赋值;最后选择采用定时器溢出中断比较合适(2)附加功能实现的不是太好,修改方案,修改程序,逐步完善。6 结论交通灯控制在交通运输领域有着非常重要的作用。本文完成了基于单片机的交通灯控制系统的设计与模拟。包括通行方案的设计,系统的硬件开发、软件编程与仿真调试等。在论文完成过程中,主要做的工作有:(1)确定交通系统具体的通行方案,规定东西向和南北向车辆的行止状态和时间分配,以及要求其他多功能的实现。(2)以ATME

10、L公司的AT89S52单片机为核心进行系统硬件设计,输入量包括:蜂鸣报警器;输出控制交通信号灯亮灭状态及时间,以及LED数码管倒计时显示。本系统就是充分利用了ATMEL公司的AT89S52单片机和可编程并行I/O接口芯片为中心器件来设计交通灯控制器,经测试可以准确地利用交通灯和LED数码管指挥交通,从最终结果看,本系统模拟交通道口交通灯的情况与实际情况很吻合,有较强的实际应用价值。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。如果有需要可以设计扩充原系统来实现。7 附录功能程序清单:L1.7 南北绿灯 ; L1.6 南北黄灯; L1.5 南北红灯; L1.3 东西绿灯 ;

11、 L1.2 东西黄灯; L1.1 东西红灯.#include#define uchar unsigned char#define uint unsigned intsbit fmq=P36;unsigned char code s816=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void delay1ms(uint i)uchar j; while(i-) for(j=0;j115;j+) /1ms基准延时程序 ; void delay500us()unsigned char

12、j; for(j=0;j=0) l=m; p=k; P1=0x7e; /红灯亮 for(l;l=0;l-) for(j=9;j=0 ;j-) for(i=500;i0;i-) P2=0xbf; P0=s8l; delay1ms(1); P2=0x7f; P0=s8j; delay1ms(1); if(l=0&j=0;p-) for(j=9;j=0 ;j-) for(i=500;i0;i-) P2=0xbf; P0=s8p; delay1ms(1); P2=0x7f; P0=s8j; delay1ms(1); if(p=0&j=4) P1=0xdd;/黄灯亮 q-; void isr_int1(void) interrupt 1/中断 while(1) P1=0xbd;delay1ms(500);P1=0xff;delay1ms(500);beep(); void main() int i; TMOD|=0x06; TH0=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号