单片机课程报告
模拟十字路口交通灯
班级:
学号:
姓名:
设计日期: 2009 年 12 月 30 日 至 2010 年 1 月 5 日
第 1 章 交通灯总体设计
当前,大量的信号灯电路正向着数字化、小功率、多样化、方便人、车、路三者
关系的协调, 多值化方向发展随着社会经济的发展,城市交通问题越来越引起人们
的关注。,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾
有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究
和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也
决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算
机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。
1.1 交通灯工作原理
本系统采用 89C51 内部带有 4K 存储器的单片机,与 8031 相比,不用扩展程序
存储器,减少硬件线路连线。L298N 性能描述 L298N 是内部具有二个 H 桥电路驱
动芯片,每个 H 桥引出两条导线驱动步进电机的一相。驱动性能好,稳定性能高。
步进电机性能描述 可以用数字信号直接进行开环控制,整个系统简单廉价,步距误
差不长期累积,可以组成结构既简单又具有一定精度的开环控制系统。按键电路简单,
易于控制;本系统共设有十个数字键和六个功能键:数字键 0~9(m0~m9)、坐标输入
确定键(m11) 、选设定点键(m12) 、 圆周运动键(m13) 、自行设定的运动键(m14)和
功能输入坐标键(m15)。数码显示为了使软件编程简单,本系统利用可编程 I/O 芯片
8255。
1.2 交通灯总体设计
传统的交能信号灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。
采用单片机控制交能信号,不仅可以简化电路结构、降低成本、减小体积,而且,根
据主、支干道车流量发生变化的实际情况,通过拨盘开关可以很方便地进行主、支干
道通车时间的设定。有一条主干道和一条次干道的城市交叉路口,每边(共 4 边)都
设置红、绿、黄色信号灯,红灯亮表示禁止通行;绿灯亮表示可以通过;在绿灯亮转
变为红灯亮之前,先要求黄灯亮几秒钟,以便让交叉路口停车线以外的车辆停止运行,
而交叉路口停车线以内的车辆快速通过交叉路口。每一边的红、绿、黄色信号灯亮的
顺序是红→绿→黄→红→绿→黄……。主干道红灯亮时,对应次干道的绿灯亮、黄灯
亮;主干道绿灯亮、黄灯亮时,对应次干道的红灯亮。这样就要求主干道红灯亮的时
间,应等于次干道绿灯亮与黄灯亮的时间之和;同理,次干道红灯亮的时间,应等于
主干道绿灯亮与黄灯亮的时间之和。有的时候,红、绿、黄色信号灯亮的时间,要求
采用倒计时的方式,用十进制数字显示出来。
当使两条路线交替地成为放行线和禁行线时,就可以实现定时交通控制。
由主线和支线构成的路口,其交通控制的原则是:尽可能保证主线的畅通。因此,
在通常情况下都是主线放行。只有在支线有车辆到达时,才放行支线。具体描述如下:
(1)在通常情况下,主线为绿灯,支线为红灯。当支线有车辆到达时,延迟 6s 后,
使主线由绿灯变黄灯。再经 4s,主线由黄灯变红灯,支线由红灯变绿灯。
(2)支线变绿灯后,如主线到达车辆少于 3 辆,则支线绿灯维持 25s,然后变黄灯,
再经 4s 变为红灯,同时,主线由红灯变绿灯。
(3)若支线变绿灯后的 25s 之内,主线由 3 辆以上车辆到达,则在第三辆车到达时,
支线变为黄灯,延迟 4s 后变为红灯,同时,主线由红灯变绿灯。
(4)允许急救车、警车优先通过的要求。当有急救车、警车到达时,路口的信号灯全
部变红,以便让急救车、警车通过。假定急救车、警车通过时间为 10s,急救车、警
车通过后,交通灯恢复先前状态。
具体设计要求:
(1)该设计能控制东、西、南、北四个路口的红、黄、绿信号灯正常工作。
(2)当东西方向放行、南北方向禁行时,东西方向绿灯亮 25s,然后黄灯亮 5s;南北
方向红灯亮 30s。
(3)当南北方向放行、东西方向禁行时,南北方向绿灯亮 25s,然后黄灯亮 5s;东西
方向红灯亮 30s。
(4)在定时交通信号灯控制的基础上,增加允许急救车、警车优先通过的要求。当有
急救车、警车到达时,路口的信号灯全部变红,以便让急救车、警车通过。假定急救
车、警车通过时间为 10s,急救车、警车通过后,交通灯恢复先前状态。
设定以按键 K 代表有急救车到来,并以中断方式进行处理。在 P3.2 连接按键 K。
当按键 K 按下,表示急救车到来,此信号申请中断,各路口的状态均为红灯,显示时
间为 10s。
第 2 章 硬件电路详细设计
采用多种专用仿真芯片,仿真器可以完全自检,可与微机串口、并口、USB 口通
信。硬件断点数目、位置无限制、无限制夭折,硬件测试,运行时间统计,逻辑笔。
128K 仿真 RAM(64K 程序、64K 数据),仿真 RAM 出借。分辨率为 1 个字节,可仿真低
电压的 CPU,多种仿真频率可供选择,可仿真几乎所有底 1 系列 CPU。40M 逻辑分析
仪、40M 实时跟踪仪、4 组事件控制器、1 组采样控制器、40M 波形发生器、动态断点、
代码覆盖、数据覆盖、程序时效分析、数据时效分析、频率计、16M 运行计数器,精
度为 25ns。
2.1 定时交通灯控制
2.1.1 芯片的选择
8051 芯片引脚功能如下:
一.I/O 端口
8051 共有 4 I/O 端口,为 P0,P1,P2,P3;4 个 I/O 口都是
双向的,且每个口都具有锁存器。每个端口有 8 条线,共计
32 条 I/O 线。
P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7
1.P0 有三个功能 图 1 8051 芯片
(1)外部扩充存储器时,作数据总线(D0~D7)
(2)外部扩充存储器时,作地址总线(A0~A7)
(3)不扩充时,作一般 I/O 使用,内部无上拉电阻,作为输出/输入使用时
应加上拉电阻
2.P1 只作 I/O 口使用,有内部上拉电阻。
3.P2 有两个功能
(1)扩充外部存储器时,作地址总线(A8~A15)使用。
(2)作一般 I/O 口使用,有内部上拉电阻。
4.P3 有两个功能
除作为 I/O 口(有内部上拉电阻)外,还有一些特殊功能。如下表所示,
由特殊寄存器来设置。
表 1
端口的引脚
特殊功能
P10(8052)
T2 TIMER2 的外部输入引脚(8052)
P11(8052)
/T2EX (TIMER2 的捕捉(Capture)/重新加载(Reload)的触发)(8052)
P30
RXD(串行输入口)
P31
TXD(串行输出口)
P32
/INT0(外部中断)
P33
/INT1(外部中断)
P34
T0(TMER0 的外部输入脚)
P35
T1(TMER1 的外部输入脚)
P36
/WR(外部数据存储器的写入控制信号)
P37
/RD(外部数据存储器的读取控制信号)
端口 1,2,3 有内部上拉电阻,作为输入时,其电位被拉高,若输入为低电平可提
供电流源;作为输出时可驱动 4 个 LS TTL。而端 0 作输入时,处在抗的状态,其输出
缓冲器可驱动 8 个 LS TTL(需外加上拉电阻)。
二.RESET 复位引脚
为高电平时(约 2 个机器周期),可将 CPU 复位,CPU 复位后累加器及寄存器的
初值如下表所示:
表 2
寄 存 器
二 进 制 值
ACC
00000000
B
00000000
PSW
00000000
SP
00000111
P0/P1/P2/P3
11111111
IP
XXX00000
IE
0XX00000
TMOD
00000000
TCON
00000000
三.ALE/PROG 地址使能信号端有三种功能: