基于51单片机交通信号灯课程设计

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

《电子系统设计》课程设计报告题目:交通信号灯控制器姓名:

院系:电力学院

专业:

学号:

指导教师:

完成时间:年月日

目录

一、任务与目得

二、总体设计

三、硬件设计:原理图(接线图)及简要说明

四、程序框图与清单

五、实验结果与体会

目得与要求

本次课程设计得目得就是设计一个交通信号灯控制器,使其拥有以下功能:

1.在十字路口每个入口处设置一个红绿灯,并且有数码管显示通行时间.

2.主干道通行得时候支路禁止通行,支路通行时主干道禁止通行。

3.主干道通行时间为45S,支路通行时间为25S,中间有5S黄灯过渡。

4.在支路设有传感器,当检测不到有支路有车时,主干道将一直通行.

总体设计

核心为AT89C51单片机,输出计时秒表采用单片机程序输出BCD码再由74LS47译码至共阳数码管上.红绿灯输出则使用74LS160计数器得前四位进行循环译码至红绿灯,并且使用单片机程序控制输出固定脉冲至计数器CLK端使计数器按红绿灯计时跳变输出。

检测支路就是否来汽车可由在马路内放置压力传感器,当有汽车停靠在白线内等待红灯时,传感器向单片机某端口输入低电平使其被检测到。

硬件设计

红绿灯电路

首先分析十字路口红绿灯总用会有多少种可能,如下表:

00 1 00 00 1

01 1 0 0 0 1 0

10 0 0 1 1 0 0

11 0 10 1 0 0

我们不难从表中瞧出,十字路口得红绿灯状态最多分为4中.所以我们可以取74LS160计数器得低2位进行编码。然后将每一位对应相应得显示规则,电路原理图如下:

当74LS160输出为00时,4条译码规则中中只有NAND4这一条输出为高电平,此时对应状态为主干道绿灯亮,支路红灯亮.当74LS160输出为01时,对应主干道黄灯亮,支路红灯亮。当74LS160输出为10时,主干道红灯亮,支路绿灯亮.当74LS160输出为11时,主干道红灯亮,支路黄灯亮。当74LS160输出跳变至100时,Q2端向74LS160返回复位信号,重归00状态。

因此,依照设计规则00状态与01状态期间间隔为45S,01与10为5S,10与11为

25S,11与复位之间得间隔为5S.

在实际电路中,红绿灯往往不就是由几个单一得LED组成,而就是由数量较多得LED组成灯珠.因此,单单靠单片机输出功率来带动红绿灯就是不现实得.但就是可以靠将以上4个译码输出加载在双极性晶体管作为驱动,而使用电力电子开关来控制电路。如下图:

通过电力电子开关,可以使单片机电源与LED灯珠组电源隔离开,使得红绿灯能使用大功率得灯珠组。

数码管电路

数显电路采用由单片机P0、7~P0、4输出BCD码高位,P0、3~P0、0输出BCD码低位,再通过两个74LS47译码显示至共阳极得数码管上,电路原理图如下:

数码管真值表.

74LS47真值表。

因此当P0口输出为45H~00H时,数码管会显示相印得数字。

检测车辆电路

ﻩ由于支路只需要检测就是否有车到来,而并不就是需要反馈路上车辆得具体压力.因此无需在马路上设置特殊得压力传感器,只需通过车辆自身得压力使得单片机某段信号接地即可。

以下为设想:

当车辆在停靠线内侧等待红灯时,由于车辆施加得压力,使得马路内部小空间发生微小形变,使两个触点相接,并通过相应转换电路使得相当于单片机该端口接地,处于低电平状态。

ﻩ或者就是使用类似表面贴片式得形式来检测就是否有车到来。

红绿灯总体电路图

程序框图

主程序:

ORG 00H

ﻩAJMP START

ﻩORG 030H

START:ﻩMOV P0,#088H

PRE:MOVR7,#0ﻩ;数显表显示偏移量,偏移量为0时首显为45MOV R6,#40 ﻩﻩ;偏移量40时首显为5

ﻩﻩMOVﻩR5,#20ﻩﻩ;首显为25

C1: MOVﻩA,R7

ﻩﻩACALL S EG45

MOVﻩP0,Aﻩﻩﻩ;将数显表内显示数值送入P0口

ﻩACALLﻩDELAY1

ﻩACALL DELAY1ﻩ;调用延时子程序

ﻩINCﻩR7ﻩﻩ;显示一次偏移量+1

CJNEﻩR7,#45,C1 ;就是否显示45次

ﻩﻩMOV R7,#00H ;重新填装偏移量

ﻩJBﻩP2、5,C1 ﻩ;检测支路就是否有车到来,若无车到来则继续主干道绿灯ﻩCLR P2、4

ﻩﻩACALLD ELAY5

SETB P2、4ﻩ;向74LS160芯片输出一个CLK脉冲

C2:ﻩﻩMOVﻩA,R6

ﻩﻩACALL SEG45

ﻩMOV P0,A

ﻩACALL DELAY1

ACALLﻩDELAY1

ﻩINCﻩR6

ﻩCJNER6,#45,C2

ﻩMOVﻩR6,#40

ﻩﻩCLRﻩP2、4

ﻩACALLﻩDELAY5

SETBﻩP2、4

C3:ﻩMOVﻩA,R5

ﻩACALLﻩSEG45

ﻩﻩMOVﻩP0,A

ACALLﻩDELAY1 ﻩﻩACALL DELAY1

ﻩﻩINCﻩR5

ﻩCJNER5,#45,C3ﻩﻩMOVﻩR5,#20H

ﻩﻩCLRﻩP2、4

ﻩﻩACALL DELAY5

SETB P2、4

C4: MOVA,R6

ACALL SEG45

MOVP0,A

ﻩﻩACALL DELAY1

ﻩACALL DELAY1

ﻩINC R6

ﻩCJNER6,#45,C4 ﻩMOV R6,#40

ﻩﻩCLR P2、4

ﻩﻩACALLﻩDELAY5

相关文档
最新文档