单片机交通灯课程设计报告

更新时间:2023-11-12 16:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验题目:平面交叉口多时段多相位交通信号灯控制器设计

一、实验功能要求:

1、交通信号灯控制器为两相位(基本部分),可设置为三相位或四相位,设 有

平峰时段、早高峰时段、午间高峰时段和夜间时段四个时段,时段的起止时间可以根据交通工程相关课程的知识确定;

2、通过键盘进行相位、时段设定,设置相应的信号周期、绿灯时间等,黄闪设

定为三秒,闪三次;时间单位:秒;

3、具有红绿灯倒计时功能;

4、具有紧急车辆优先功能,设紧急车辆通过十字路口需要5秒,若此时为红灯,

则转为绿灯,倒计时5秒,让紧急车辆通过;若此时为绿灯,则判断剩余的时间是否够紧急车辆通过,若不足,则延长够5秒让紧急车辆通过;遥控或按键输入紧急车辆到达信息。

5、具有公交优先通行功能(选做); 6、具有绿冲突检测功能(选作)。

二、实验方案设计:

1、时段设计

早高峰时段:8:00--9:00

午间高峰时段:11:00--13:00 夜间时段:22:00--4:00

正常时段:9:00--11:00、13:00--22:00、4:00--8:00

2、设计方案功能:

(1)交通灯四相位多时段控制,交通灯控制分别为东西直行绿灯、南北红灯,东西左转绿灯、南北红灯,东西黄闪、南北红灯,东西红灯、南北直行绿灯,东西红灯、南北左转绿灯,东西红灯、南北黄闪共六中状态。

(2)可以对灯的时间进行倒计时显示。倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“通过”和 “停止”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路

1

口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 。

(3)可以进行实时时间与交通灯显示时间的转换,到达早高峰或午间高峰等特定时期进行自动转换。

(4)可以根据实际情况对周期或绿灯时间进行更改,方便灵活。

(5)在紧急事件发生时,可以对紧急事件进行妥善处理。例如东西方向绿灯,有紧急车辆要通过时,判断绿灯时间是否够5秒,够5秒不做操作;不够5秒时,延长到5秒,让紧急车辆通过。如果东西方向是红灯,有紧急车辆通过时,让东西、南北方向都变成红灯,让紧急车辆通过。

(6)夜间模式所有数码管显示0黄灯亮0.6s熄灭0.4s(周期为1s)以此循环不停闪烁以提醒司机朋友注意安全。

三、理论知识积累

1、中断原理

本系统主要使用了外部中断,中断信号有引脚INT0和INT1输入,低电平有效,CPU每个时钟周期都会检测INT0和INT1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中IT0和IT1位的状态来实现。以IT0为例,IT0=0,为电平触发方式,IT0=1,为负边沿触发方式,本设计采用电平方式,IE0为其中断标志位,有中断信号则置位,中断服务子程序响应后,IE0自动清零。IE中的EA为允许中断的总控制位,为1开启,EX0为外部中断允许控制位,为1开启。

在优先级的允许下,一旦有外部中断信号产生,单片机CPU首先保护断点,PC值进栈,然后执行相应的中断服务子程序,执行完后,用RETI指令返回,此时CPU会从堆栈中取保存的断点地址,送回PC,程序再正常执行。

2、根据《交通工程原理》计算配时参数

根据TRRL配时方法的基本原理,信号配时参数可按如下公式计算。 1)最佳周期时长

Co=1.5L+5/1-Y 式中:L——信号总损失时间; Y——流量比总和。 2)信号总损失时间

L=错误!未找到引用源。

式中:L——启动损失时间,应实测,当无实测时间时可取3s; A——黄灯时长,可定为3s; I——绿灯间隔时间(s);

k——一个周期内的绿灯间隔数。 3)绿灯间隔时间

I=z/u+t

式中:z——停止线到冲突点距离(m);

2

u——车辆在进口道上的行驶车速(m/s); t——车辆制动时间(s)。

当计算绿灯时间间隔时间I<3s时,配以黄灯时间3s;当I>3s时,其中3s配以黄灯时间,其余时间配以红灯。 4)流量比总和

流量比总和,按下式计算。

Y=错误!未找到引用源。 (Y<=0.9) 式中:Y——组成周期的全部信号相位的各个最大流量比y值之和; j——一个周期内的相位数; y——第j相的流量比; q——设计交通量(pcu/h); S——计算饱和流量(pcu/h)。

当计算的Y值大于0.9时,需改进进口道设计或/和信号相位方案,并进行重新设计。

5)总有效绿灯时间

每周期的总有效绿灯时间按下式计算。

Ge=Co-L 6)每相位有效绿灯时间

gej=Ge错误!未找到引用源。 7)各相位的绿信比

λ=g/Co 8)各相位显示绿灯时间

gj=gej-Aj+Lj 式中:l——第j相位起动损失时间; 其余符号意义同上。 9)最短绿灯时间

g(min)=7-I+Lp/Vp 式中:g(min)——最短绿灯时间(s); L——行人过街道长度(m); I——绿灯间隔时间(s)。

计算的显示绿灯时间小于相应的最短绿灯时间时,应延长计算时间周期时长,重新计算。

3、软件延时的实现

51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。可知具体每条指令的周期数,则就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。

4、定时器原理

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

3

TC=M-C

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

T=(M-TC)T0

模值和计数器工作方式有关。在方式1时M的值为65536。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,采用方式1最大延时也只有65.536毫秒。所以扫描周期为50ms的方法是令TH=(65536-50000)/256;;;;TL=(65536-50000)%6;,

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

四、集成开发环境KEIL

KEIL IDE Vision2集成开发环境主要由以下部分组成:

1、u Vision2 IDE。ision2 IDE包括:一个工程管理器,一个功能丰富并有交互

式错误提示的编辑器选项设置生成工具,以及在线帮助。使用vision2创建源文件并组成应用工程加以管理。vision2可以自动完成编译汇编链接程序的操作;

2、C51编译器和A51汇编器。Vision2 IDE创建的源文件可以被C51编译器或A51

汇编器处理生成可重定位的object文件。KEIL C51编译器遵照ANSI C语言

标准支持C语言的所有标准特性,另外还增加了几个可以直接支持80C51结构的特性。KEIL A51宏汇编器支持80C51及其派生系列的所有指令集;

3、LIB51库管理器。B51库管理器可以从由汇编器和编译器创建的目标文件建立

目标库,这些库是按规定格式排列的目标模块,可在以后被链接器所使用当链接器处理一个库时仅仅使用了库中程序使用了的目标模块而不是全部加以引用;

4、BL51链接器定位器。L51链接器使用从库中提取出来的目标模块和由编译器

汇编器生成的目标模块创建一个绝对地址目标模块,绝对地址目标文件或模块包括不可重定位的代码和数据所有的代码和数据都被固定在具体的存储器单元中。

利用KEIL开发和调试系统软件流程大致如下:

5、启动Vision2,进入KEIL软件的集成开发环境;

6、利用KEIL内置的文本编辑器进行程序源文件的编辑,因为KEIL集成的文本

编辑器对中文支持不是很好,可以选择其他的编辑器(本文使用的文本编辑器是Ultraedit—32),Vision2能够自动识别外部改变了的源文件;

7、建立工程,指定针对哪种单片机进行开发,指定对源程序的编译、链接参数,

4

指定调试方式(本文采用外部硬件仿真器仿真调试的方式,即使TKS仿真器仿真),然后对工程进行相关设置;

8、设置好工程后即可进行编译、链接。连接仿真器对软件进行调试。也可以生

成下载到单片机存储器上的HEX文件。

五、单片机交通灯控制系统硬件设计

1、AT89C51单片机简介

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

2、AT89C51单片机的主要特性

与MCS-51 兼容 ,4K字节可编程闪烁存储器 ,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源(两个外部中断源和3个内部中断源) ,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。

时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。

中断系统:中断系统的作用主要是对外部或内部的终端请求进行管理与处理。AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。

5

本文来源:https://www.bwwdw.com/article/k2lv.html

Top