简易交通信号灯

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键字:交通灯;C 语言;控制;单片机
目录
一、系统设计______________________________________________________________ 3 1. 系统方案的比较_____________________________________________________________ 3
2
1. 系统方案的比较
一、系统设计
(1)选题论证
当前,交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车、摩托车等各 种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机 动车、行人来往非常混乱,为了在岔路口的各条干道实现合理的科学分流,在岔口醒目处 设置交通灯显的尤为必要。对于复杂的城市交通系统,为了确保安全,保证正常的交通秩 序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路 口。
二、硬件电路的设计
1.基本原理
(1)总设计电路图 如图所示为采用 LED 动态扫描的交通灯控制系统总电路原理图。
整套电路系统由控制系统模块、通行灯输出控制显示模块等部分组成。
2. 主控制系统
主控制器采用 AT89S52,是 ATMEL 公司生产的一款性能稳定的 8 位单片机。AT89S52 具有 1 个 8KB 的 Flash 程序存储器,1 个 512 字节的 RAM,4 个 8 位的双向可位寻址 I/O 端口,3 个 16 位的定时/计数器及一个串行口和 6 个向量二级中断结构。
二、硬件电路的设计_______________________________________________________ 4 1.基本原理_____________________________________________________________________ 4 2. 主控制系统__________________________________________________________________ 4 3. 输出控制_____________________________________________________________________4
三、软件设计
1.软件分析
(1)主程序 主程序主要负责总体程序管理功能,实现人机交互设定。由于采用动态扫描方式显示
时间,因此主程序大部分时间要调用扫描显示程序。 (2)主程序流程图
开始 程序初始化 调用显示主程序 东西绿灯亮,南北红灯亮,进入倒计时,打开数码管显示 东西黄灯亮,南北红灯亮,进入倒计时,打开数码管显示 东西红灯亮,南北绿灯亮,进入倒计时,打开数码管显示 东西红灯亮,南北黄灯亮,进入倒计时,打开数码管显示
南北红灯亮,东西绿灯亮

R0=#0FFH

东西和南北黄灯亮 5s
南北绿灯亮,东西红灯亮
2.全部程序
ORG 0000H AJMP MAIN ORG 0003H AJMP INC1 ORG 000BH
6

R0=#0FFH

AJMP START ORG 0013H AJMP DEC1 ORG 0100H MAIN: MOV DPTR,#TAB
交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒 目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车, 对 于一般情况下的安全行车、车辆分流发挥着作用,根据行车过程中出现的实际情况,也可 全面有效地利用交通灯指示交通情况。本文尝试用单片机来控制交通灯, 在软、硬件方 面采取一些改进措施, 使交通灯在控制中灵活而有效。
(2)方案选择
关于交通灯的方案我主要想到两种:一种是用 89S52 和 8255 作为输出口,控制八个发 光二极管熄灭,模拟交通灯管理。另一种是由 89S52 直接控制八个发光二极管熄灭。
第一种方案框图:
单片 机 89S52
8255
LED 灯 紧急放行按键
第一种方案优点:使用 8155 控制 LCD 和紧急放行,使用灵活可编程,并且有 RAM 及 计数器。若用该方案,可提供较多 I/O 口。
单片机的 P1 口及 P2 口分别用于控制南北及东西的通行灯,P0 口及 P3~P3.2 口用于 4 组 3 位 LED 计时器的控制,特种车辆通过时使用外中断 1 口(P3.3),手动自动转换采用 P3.7 口按键。
3. 输出控制
道口交通灯指示采用高亮度红绿双色放光二极管,左拐、直行、右拐及行人各一个。
MOV R0,#24 MOV 20H,#20
MOV P1,#0FFH
OK:
MOV TMOD,#05H
MOV TH0,#0FFH
MOV TL0,#0FFH
;设置数码管起始数 24 ; 在 20h 地 址 里 存 放 20 次 定 时 循 环 , 构 成 1s 的延时
;初始化 P1 口 ;设 置 T0 为 外部 计 数器 方 式 01
8
MOV A,R2
MOV P1,A
CLR P3.1
SETB P3.1
JMP LED2
START: CLR EX0
;如 果 T0 口 发 现 1 个 外 部 负 跳 变 脉 冲 , 则 关 掉 外
部中断 INT0,INT1 取消加减置数
CLR EX1
;把 T0 口改成定时器方式 1,进入倒计时开始
CLR IT0
SETB EA
;开 中 断 部 分
SETB EX0
SETB EX1
SETB IT0
SETB IT1
SETB ET0
SETB TR0
MOVC A,@A+DPTR
;开 始 时 数 码 管 的 显 示
LED:
CJNE R0,#0FFH,RED
;循 环 显 示 亮 灯 , 里 面 只 单 纯 考 虑 一 个
天津电子信息职业技术学院
课程设计
课题名称 姓名 学号 班级 专业 成绩 完成日期
简易交通信号灯 李晨 27
电子 S09-3 应用电子技术
1
简易交通信号灯
摘要
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢? 靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。简易交通信号灯是一个比较典型的时 间程序控制系统 。本设计以单片机 AT89S52 为核心,提出了系统的硬件实现方案,对各单元电路以及 系统的整体硬件部分进行了设计与调试,并结合软件,实现了方向指示、特殊车辆检测、自动控制手动 控制转换等功能。经检测系统工作稳定可靠,实用性强。本次训练通过制作一个简单的自动交通信号灯 来进一步学习定时器和交通灯的使用方法。
到红灯之后循环~
CLR ET0
CLR TR0
YELLOW: MOV R2,#00010010B
MOV A,R2
MOV P1,A
CLR P3.1
DEL:
MOV R6,#100
; 黄灯 5 秒延时
DEL1: MOV R5,#200
DEL2: MOV R4,#125
DEL3: DJNZ R4,DEL3
DJNZ R5,DEL2
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技 术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件 来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。本 设计是根据单片机具有物美价廉、功能强、运行稳定等特点,所设计的交通灯控制系统。
缺点:操作起来稍显复杂,8155 要控制 2 个部分,而 52 系统的端口没有利用。而且 LCD 比 LED 价格较贵。
第二种方案优点:使用 89S52 直接控制 LED 灯,操作简单,成本较低。 缺点:使用此方案没有太多的 I/O 口,编程较复杂。
3
根据以上分析,第二种方案简易,易操作,成本低,所以选择第二种方案。
DJNZ R6,DEL1
GREEN: CLR P3.0
7
CLR P3.5 SETB ET0 SETB TR0 MOV A,R1 MOV R0,A MOV R2,#00001100B CLR P3.1 JMP LED2 LOOP: MOV A,R1 MOV R0,A RED: MOV A,R1 MOV R0,R1 MOV R2,#00100001B LED1: MOV B,#10 MOV A,R0 DIV AB MOVC A,@A+DPTR MOV P1,A CLR P3.0 SETB P3.0 MOV A,B MOVC A,@A+DPTR MOV P1,A CLR P3.5 SETB P3.5 MOV A,R2 MOV P1,A CLR P3.1 SETB P3.1 JMP LED LED2: MOV A,R0 JZ LOOP MOV B,#10 MOV A,R0 DIV AB MOVC A,@A+DPTR MOV P1,A CLR P3.0 SETB P3.0 MOV A,B MOVC A,@A+DPTR MOV P1,A CLR P3.5 SETB P3.5
CLR EX0
CLR IT0
XD_1: MOV 21H,#100 ;消 抖 程 序 1, 设 置 25ms 延 迟
XD1:
MOV 22H,#125
XD2:
DJNZ 22H,XD2
DJNZ 21H,XD1
SETB EX0
SETB IT0
RETI
DEC1: DEC R0
MOV A,R0 ; 把 R0 储 存起 来 以 备 绿 灯 可 以 和 红 灯 相 同 的 时间
四、实现功能_____________________________________________________________ 10 五、结束语________________________________________________________________ 10 六、参考文献_____________________________________________________________ 10
三、软件设计______________________________________________________________ 5 1.软件分析_____________________________________________________________________ 5 2.全部程序_____________________________________________________________________ 6
MOV R1,A
CLR EX1
CLR IT1
XD_2: MOV 23H,#100 ;消 抖 程 序 2, 设 置 25ms 延 迟
XD3:
MOV 24H,#125
XD4:
DJNZ 24H,XD4
DJNZ 23H,XD3
SETB EX1
SETB IT1
RETI
TAB : DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
4
当发光电流为 6mA 时,按公式 R=(5-1.8)/0.006 计算,限流电阻应为 510 欧姆。由于南北 通行是双向指示牌相同,因此每个端口应具有 12mA 的吸收电流能力。另外,人行道口应 按 4 个灯算,需 24mA 的吸收电流。这样在单片机的输出需接驱动电路 74HC244,以保护 单片机的输出端口。
CLR IT1
MOV TMOD,#01H
MOV TH0,3CH
MOV TL0,0B0H
DJNZ 20H,RETURN
MOV 20H,#20
DEC R0
RETURN: RETI
INC1: INC R0
MOV A,R0 ; 把 R0 储 存起 来 以备 绿 灯可 以 和红 灯 相同 的 时间
MOV R1,A
方向交通灯的情况来代表南北和东西
走向的红绿灯关系
SETB P3.0
;当 R0 减为 #0FF 时关 掉两 个数 码管 ,
关 掉 定 时 器 T0 ,打 开 黄 灯 走 过 延 时 5
秒程序之后跳到绿灯
SETB P3.5
;跳 到 绿 灯 后 赋 予 初 值 R0, 判 断 R0
是否减为 #0FFH,如果等于 #0FFH,跳
5
(3)中断服务程序流程图 外部中断 0:
按键按下
外部中断 1:
按键按下
转去中断服务子程序
转去中断服务子程序
设置个位计数值
设置十位计数值
中断返回
计数器 T0 外部中断:
确定按Байду номын сангаас按下
中断返回
转去中断服务子程序
分别进行三组灯的组合状 态的时间倒计数并进入此 三种状态的一下死循环
(4)换灯流程图
中断返回
相关文档
最新文档