项目三十字路口交通灯任务设计说明书 - 图文 下载本文

内容发布更新时间 : 2024/6/27 10:41:44星期一 下面是文章的全部内容请认真阅读。

项目三 十字路口交通灯设计

设计说明书

任务一 交通灯灯控制

一、任务设计要求

1、基本要求

十字路口交通灯以东西南北四个方向说明,当东西方向允许行车时,南北方向就会禁止车行,即此时的东西方向绿灯亮红灯灭,而南北方向的红灯亮绿灯灭;反正,当南北方向允许行车时,东西方向就会禁止车行,即此时的南北方向绿灯亮红灯灭,而东西方向的红灯亮绿灯灭。

表1 十字路口交通信号灯控制要求 方向 东 西 方 向 南 北 方 向 状态 信号 时间 状态1 绿灯亮 5S 状态2 黄灯闪烁 间隔300ms 闪烁3次 维持1.8S 黄灯闪烁 间隔300ms 闪烁3次 维持1.8S 状态3 红灯亮 5S 状态4 黄灯闪烁 间隔300ms 闪烁3次 维持1.8S 黄灯闪烁 间隔300ms 闪烁3次 维持1.8S 信号 时间 红灯亮 5S 绿灯亮 5S 2、技能提高

1、修改前面的程序,增加一个按钮,利用外部中断实现紧急情况时4个方向红灯均点亮。

2、利用外部中断0实现紧急情况时4个方向黄灯间隔300ms闪烁5次,之后全部变为红灯。

二、设计过程

1

1、设计方案确定

电源 红黄绿灯发光 时钟电路 AT89C51 并行 二极管显示 复位电路 单片机 接口 按键 2、硬件电路设计

3、软件设计 (1)、绘制流程图

2

(2)、编写源程序:2个程序

程序一:

ORG 0000H LJMP START

ORG 0003H ;外部中断INTO的中断入口 AJMP INT0S ;指向中断子程序 ORG 0040H

MAIN: MOV IE,#81H ;1000 0101-允许INTO中断 EA=1 EX0=1 MOV TCON,#1 ;设置外部中断0为电平触发 START: MOV P0, #03H ;送初始值 MOV P2, #0FFH ;送初始值

MOV R2, #03 ;延时300ms---3×100ms LCALL DELAY ;延时

M1: MOV P0, #0C3H ;1100 0011东西方向绿灯亮、南北方向红灯亮 MOV P2, #03H ; 黄灯灭

MOV R2, #50 ; 延时5s---50×100ms LCALL DELAY ;延时

MOV R1, #03H ;闪烁次数设定3次 M2: MOV P0, #0CFH ;红绿灯灭

3

MOV P2, # 01H ;黄灯亮

MOV R2, #03 ;延时300ms---3×100ms LCALL DELAY ;延时 MOV P0, #0CFH ;红绿灯灭

MOV P2, #03H ;黄灯灭

MOV R2, #03 ;延时300ms LCALL DELAY ;延时

DJNZ R1, M2 ;闪烁次数没到就继续

M3: MOV P0, #3CH MOV P2, #03H MOV R2, #50 LCALL DELAY MOV R3, #03H M4: MOV P0, #3FH MOV P2, # 02H MOV R2, #03 LCALL DELAY MOV P0, #3FH MOV P2, #03H MOV R2, #03 LCALL DELAY DJNZ R3, M4 SJMP M1 INT: PUSH ACC MOV R1,#05H M5: MOV P0,#0FFH MOV P2,#00H MOV R2,#03 LCALL DELAY MOV P0,#0FFH MOV P2,#03H MOV R2,#05 LCALL DELAY

DJNZ R1,M5 M6: MOV P0,#0FH MOV P2,#03H POP ACC RETI

DELAY: MOV R3, #10 D1: MOV R4, #20 D2: MOV R5, #250 D3: DJNZ R5, D3

;0011 1100南北方向绿灯亮、东西方向红灯亮 ; 黄灯灭

; 延时5s---50×100ms ;延时

;闪烁次数设定3次 ; 红绿灯灭

;黄灯亮

;延时300ms---3×100ms ;延时 ;红绿灯灭

;黄灯灭

;延时300ms ;延时

;闪烁次数没到就继续 跳转M1 ;中断现场 ;送初始值 ;红绿灯熄灭 ;黄灯亮

;延时300ms ;延时

;红绿灯熄灭 ;黄灯灭 ;延时500ms ;闪烁次数没到就继续 ;红绿灯灭 ;黄灯灭 ;回复现场 ;中断返回 ;延时100ms ;延时10ms ;延时1ms

4

DJNZ R4, D2 DJNZ R3, D1

DJNZ R2, DELAY RET END

程序二:

4、软、硬件调试仿真(效果图)

5