基于51单片机的十字路口交通灯控制系统设计(含源码及仿真图)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称单片机原理及应用课程设计院部名称信息技术学院

专业计算机科学与技术

班级09计(嵌入式系统方向)姓名

学号**********

指导教师刘钰

金陵科技学院教务处制

摘要

本文介绍了一个基于MCS-51及PROTEUS的十字路口交通灯控制系统的设计与仿真,通过对现实路况交通灯的分析研究,理解交通控制系统的实现方法。

十字路口交通灯控制系统通常要实现自动控制和在紧急情况下禁止普通车辆,而让紧急车辆优先通行。本文还对MCS-51单片机的结构特点和重要引脚功能进行了介绍,同时对智能交通灯控制系统的设计进行了详细的分析。最后介绍了PROTEUS嵌入式系统仿真与开发平台的使用方法,利用Proteus 软件对交通灯控制系统进行了仿真,仿真结果表明系统工作性能良好。

关键字:单片机,proteus仿真,中断,十字路口交通灯控制系统

前言

1,十字路口的交通控制系统指挥着人和各种车辆的安全运行,对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。交通灯信号灯的出现是人类历史上的一次重大改革,使人类的聚居生活,产生了深远的影响。使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。

2,此十字路口交通灯控制系统,分东西道和南北道,设东西道为A道,南北道为B 道。规定:A道放行时间为2分钟,B道放行1.5分钟;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮2秒钟;若有紧急车辆要求通过时,此系统应能禁止普通车辆,而让紧急车辆通过。

3,应用单片机实现对交通灯的控制,在十字路口用红,黄,绿的指示灯,加上四个以倒计时显示的数码管来控制交通。考虑到紧急车辆,设计紧急车辆开关。

一、正文

4.1芯片介绍

AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

主要特性:

·与MCS-51 兼容

·4K字节可编程闪烁存储器

·寿命:1000写/擦循环

·数据保留时间:10年

·全静态工作:0Hz-24MHz

·三级程序存储器锁定

·128×8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

4.2 交通灯状态

B

○○○

○○

A ○○A

○○

○○○

B

S1

:东西通行,南北禁止 S2:东拐南,西拐北通行

S3:南北通行,东西禁止 S4:北拐东,南拐西通行

S1状态120秒,S2状态20秒,S3状态90秒,S4状态20秒,循环执行。

4.3设计步骤

1,利用proteus 7.5 sp3仿真软件绘制仿真实例

○1用traffic lights和一个绿色LED灯表示红、黄、绿,以及允许左拐的信号灯。

○2用P0口控制交通灯,用P1口控制数码管的段选,P2口控制数码管的位选。

○3P3.6和P3.7接收中断信号并返回给INT0接口处理。

2,利用Keil软件按要求编写程序实现相应功能。

五、硬件设计

5.1 通过proteus 7.5 sp3设计如下仿真图:

S1状态:

黄灯亮:

S2状态:黄灯亮:

S3状态:

黄灯亮:

S4状态:

黄灯亮:

六、软件设计

6.1系统流程图

6.2定时器原理

定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH 和TL 中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C ,把计数初值设定为TC 可得到如下计算通式:

TC=M-C

式中,M 为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T ,则有C=T /T0。计算通式变为:

T=(M -TC )T0

模值和计数器工作方式有关。在方式0时M 为8192;在方式1时M 的值为65536;在方式2和3为256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ ,经过12分频后,若采用方式0最大延时只有8.129毫秒,采用方式1最大延时也只有65.536毫秒。这就是为什么扫描周期为50ms 的原因,

若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能只用计数器,因为显然1秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。

6.3软件延时原理

MCS-51的工作频率为12MHZ ,机器周期与主频有关,机器周期是主频的12

倍,所

相关文档
最新文档