基于单片机的交通信号灯控制电路设计.docx
- 文档编号:9172806
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:30
- 大小:148.90KB
基于单片机的交通信号灯控制电路设计.docx
《基于单片机的交通信号灯控制电路设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通信号灯控制电路设计.docx(30页珍藏版)》请在冰豆网上搜索。
基于单片机的交通信号灯控制电路设计
江西航空职业技术学院
毕业设计说明书(论文)
课题名称
基于单片机的交通信号灯控制电路设计
航空电子设备维修专业081331班
学生姓名张辉学号28
指导老师贺国灿技术职称______________
2011年3月16日
江西航空职业技术学院
毕业设计(论文)任务书
学生姓名:
张辉班级:
081331
1.毕业设计(论文)题目:
交通信号灯控制电路设计(单片机)
2.毕业设计(论文)使用的原始资料数据及设计技术要求:
单片机应用系统设计
1、单片机实验与实践教程
2、MCS-51系列单片机实用接口技术
3、单片机课程设计指导
4、单片机典型模块设计实例导航
交通管理先进性、科学化.分析应用单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,系统实现要求简单、经济,能够有效地疏导交通,提高交通路口的通行能力.
3.毕业设计(论文)工作内容及完成时间:
设计前要先对各部分电路设计方案进行选择,本章对采用哪种方案及如何选择芯片做出了具体的说明,并最终给出了总体框图和设计思路。
(1)单片机基本系统电路设计;
(2)显示、按键电路设计;
(3)电源电路设计;(系统电源为+5v)
(4)软件设计。
日期:
自2010年12月25日至2011年3月16日
指导老师评语:
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
指导老师:
贺国灿系主任:
姚卫华
目录
摘要1
关键词:
1
一、课题研究的主要内容2
二、本论文主要工作2
三、总体方案设计3
3.1、本课题研究主要内容3
3.2、本课题的设计思路3
3.3、总体方案组成和说明4
四、硬件电路设计及描述4
4.1、AT89S51单片机简介4
4.2、AT89S51芯片内部结构简介5
4.3、主要引脚功能6
4.4、按键接口电路的设计8
4.5、指示电路的设计9
4.6、显示电路的设计10
4.7、电源电路设计11
五、软件设计12
5.1、软件流程图12
5.2、按键扫描处理子程序的设计13
软件程序清单14
总原理图24
原件清单...........................................25
总结...............................................26
参考文献27
致谢……………………………………………………………28
摘要
在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
目前,大部分城市的十字路口的交通控制灯,通常的做法是:
事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交通现状。
交通信号灯在科学化、自动化上不断地更新、发展和完善。
但是,随着社会的不断进步,传统的交通灯的缺陷也日益出现,其中设计过于死板,达不到道路的最大通行效率是最明显的问题,红绿灯交替变换时间过于程式化。
国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。
加上一个倒计时的显示计时器来控制行车。
对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:
1.两车道的车辆轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。
2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。
基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。
利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。
关键词:
交通灯单片机AT89S51
一、课题研究的主要内容
国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。
加上一个倒计时的显示计时器来控制行车。
对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:
1.两车道的车辆轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。
2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。
基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。
利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。
二、本论文主要工作
本文为了实现交通道路的管理,力求交通管理先进性、科学化.分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力.
首先对智能交通灯的研究意义和智能交通灯的研究现状进行了分析,指出了现状交通灯存在的缺点,并提出了改进方法。
智能交通灯控制系统通常要实现自动控制和在紧急情况下能够手动切换信号灯让特殊车辆优先通行。
本文还对AT89S51单片机的结构特点和重要引脚功能进行了介绍,同时对智能交通灯控制系统的设计进行了详细的分析。
针对以上要求,着重要完成以下几个方面的工作:
对于系统的硬件设计,主要包括:
(1)单片机基本系统电路设计;
(2)显示、按键电路设计;
(3)电源电路设计;
对于系统的软件设计,主要包括:
(1)系统主程序的设计;
(2)系统几个中断子程序的设计;
(3)系统软件流程图;
针对本次设计中所存在的问题,提出部分改进意见和下一步所要研究的目标。
三、总体方案设计
本设计的重点是交通灯的现实电路的设计,另外还包含了单片机的最小系统,电源电路以及设计的核心单元单片机。
在设计前要先对各部分电路设计方案进行选择,本章对采用哪种方案及如何选择芯片做出了具体的说明,并最终给出了总体框图和设计思路。
3.1、本课题研究主要内容
(1)单片机基本系统电路设计;
(2)显示、按键电路设计;
(3)电源电路设计;(系统电源为+5v)
(4)软件设计。
3.2、本课题的设计思路
交叉字路口是城市交通运输的咽喉,如何使各种交通流顺畅地通过是城市交通信号控制系统成功与否的关键。
随着现代城市的发展,交通流量的增加,现在的大中城市都以六车道居多,本方案即以六车道为控制对象,其结构如图1所示:
本设计主要是关于交通灯的智能控制,车辆行驶时共有直行、左转、右转三个方向,通过数码管对倒计时间的显示和红、绿、黄三色灯的指示,以达到交通顺畅通行的目的。
同时,可以通过按键来控制倒计时的长短,实现智能控制人流高峰和低谷时,交通灯运行的状态。
单片机的特点:
(1)控制系统在线作用。
单片机的控制作用可分为两个方面:
一是离线控制,二是在线控制。
(2)软硬件结合。
单片机的引入使控制系统大大“软化”,相比其他计算机应用问题,单片机控制应用中的硬件内容较多,所以单片机控制应用有软硬结合的特点。
(3)应用现场环境恶劣。
通常单片机应用现场的环境比较恶劣,电磁干扰、电源波动、冲击振动、高低温等因素都会影响系统的工作的稳定。
综上所述,单片机的稳定性,可靠性都有着很好的保证,它也具有一定的精度,且低电压、低功耗。
从经济方面考虑,也最为合适。
所以此次设计选用单片机为核心控制器。
在本系统的开发和设计中,选择ATMEL公司的AT89S51单片机最合适。
3.3、总体方案组成和说明
单片机模块是整个系统的核心部分,在这样一个模拟交通灯系统中,需要有时钟电路模块提供基准震荡频率以及单片机基本系统、指示电路、显示电路、键盘电路、电源电路、下载线电路设计。
四、硬件电路设计及描述
4.1、AT89S51单片机简介
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
4.2、AT89S51芯片内部结构简介
·中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(内部RAM):
数据存储器用于存放变化的数据。
AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。
·程序存储器(内部ROM):
程序存储器用于存放程序和固定不变的常数等。
通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。
AT89S51内部配置了4KB闪存。
·定时/计数器(ROM):
定时/计数器用于实现定时和计数功能。
AT89S51共有2个16位定时/计数器。
·并行输入输出(I/O)口:
AT89S51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
每个口都由1个锁存器和一个驱动器组成。
它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。
·全双工串行口:
A89S51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
·时钟电路:
时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。
·中断系统:
中断系统的作用主要是对外部或内部的终端请求进行管理与处理。
AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。
AT89S51的内部结构图如下图2所示:
图2
4.3、主要引脚功能
·P0口:
P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。
作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
·P1口:
Pl是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,某个引脚被外部信号拉低时会输出一个电流。
Flash编程和程序校验期间,Pl接收低8位地址。
如下表1所示:
端口引脚
第二功能:
P1.5
MOSI(用于ISP编程)
P1.6
MOSI(用于ISP编程)
P1.7
MOSI(用于ISP编程)
表一
·P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其它控制信号。
·P3口:
P3口是一组带有内部上拉电阻的8位双向I/0口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表2所示:
端口引脚
第二功能:
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
/INT0(外中断0)
P3.3
/INT1(外中断1)
P3.4
T0(定时/计数器0外部输入)
P3.5
T1(定时/计数器1外部输入)
P3.6
/WR(外部数据存储器写选通)
P3.7
/RD外部数据存储器读选通)
表二
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
·RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功能。
DISRT0位缺省为RESET输出高电平打开状态。
·ALE/
:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
·
程序储存允许(
)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次
有效,即输出两个脉冲。
当访问外部数据存储器,没有两次有效的
信号。
4.4、按键接口电路的设计
单片机使用的键盘分为独立式和矩阵式两种。
一:
矩阵式键盘适用于按键数量较多的场合,它有行线和列线组成,按键位于行、列的交叉点上。
行、列线分别连接到按键开关的两端,而有键按下时,行线电平状态将由与此行线相连的列线电平决定,列线电平如果为低,则行线电平为低;反之,则为高。
矩阵式键盘各按键彼此将相互发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。
二:
矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵。
独立式键盘就是各按键相互独立,每个按键各接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。
独立式按键电路配置灵活,软件结构简单。
但每个按键需占用一根输入口线,此种按键电路适用于按键较少或操作速度教高的场合独立式实际上就是一组相互独立的按键,这些按键可直接与单片机的I/O口连接,连接方法就是每个按键独立一条口线,各按键之间状态不会影响且接口简单。
考虑到这个控制器中,设定的按键不多,为了使系统简单明了,在这里选择独立式按键。
如图3所示:
*[SET]键用来设置倒计时时间,
*[SELECT]用来选择“+”“—”。
图3
4.5、指示电路的设计
指示很简单,采用LED(发光二极管),考虑到单片机端口常态是高电平,设计采用低电平点亮发光管,如图4所示。
I/O口的灌电流最大30mA左右,假设每根线20mA,S系列都低于20mA,假设单个发光管耐压2V(不同的管子不同,相差不多),系统采用5V供电。
实际选择200Ω,实验发现发光二极管显示正常。
通过程序来控制指示灯红、绿、黄的通断来模拟交通灯的指示作用。
其电路图如图4所示。
图4
4.6、显示电路的设计
数码管显示电路有多种方式,按照数据传输方式有两种:
并行形式和串行形式,下面针对两种方式进行说明。
本设计采用单片机设计,由于口线不足,而需要多位数码管显示,因此,为了更大的利用资源,节省地址线,本设计采用74LS164串行形式来控制数码管显示。
74LS164是8位移位寄存器,采用串行输入,并行输出,当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。
串行数据输入端(A,B)可控制数据。
当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。
当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。
其真值表如表3所示:
表3
单片机接口电路硬件连接图如图5所示:
图5
4.7、电源电路设计
本设计对电源部分的要求不是太高,因此对于电源的设计就是普通的5V电源,利用了典型的三端稳压管7805,来得到5V的直流稳压电源用于给整个系统几各个芯片供电。
其电路原理图形如图6下:
图6
五、软件设计
5.1、软件流程图
按交通灯的功能,系统程序必须具备按键扫描处理、实时数码管显示等任务。
系统在上电复位后,先对档位寄存器赋默认值,并进行清除超时标志位,设置定时器及中断系统的工作方式等初始化工作。
如图7所示:
图7
5.2、按键扫描处理子程序的设计
按键扫描处理子程序负责设置东西、南北走向的等待时间按,若有键按下,则作出相应处理。
图8所示为按键扫描子程序流程图。
图8
软件程序清单
SECOND1EQU30H;东西路口计时寄存器
SECOND2EQU31H;南北路口计时寄存器
DBUFEQU40H;显示码缓冲区1
TEMPEQU44H;显示码缓冲区2
KEY_SETBITP3.2;按键定义
KEY_SET1BITP3.3;按键定义
LED_G1BITP2.1;东西路口绿灯
LED_Y1BITP2.2;东西路口黄灯
LED_R1BITP2.3;东西路口红灯
LED_G2BITP2.4;南北路口绿灯
LED_Y2BITP2.5;南北路口黄灯
LED_R2BITP2.6;南北路口红灯
ORG0000H
LJMPSTART
ORG0003H
LJMPINT_INT0
ORG0100H
START:
MOVTMOD,#01H;置T0为工作方式1
MOVTH0,#3CH;置T0定时初值50ms
MOVTL0,#0B0H
SETBEA;开总中断
SETBEX0;外中断0允许
CLRTF0
SETBTR0;启动T0
CLRA
MOVP1,A;关闭不相关的LED
;*************************************
LOOP:
MOVR2,#20;置1s计数初值,50ms*20=1s
MOVR3,#20;红灯亮20s
MOVSECOND1,#25;东西路口计时显示初值25s
MOVSECOND2,#25;南北路口计时显示初值25s
LCALLDISPLAY
LCALLSTATE1;调用状态1
WAIT1:
JNBTF0,WAIT1;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值50ms
MOVTL0,#0B0H
DJNZR2,WAIT1;判断1s到否?
未到继续状态1
MOVR2,#20;置50ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT1;状态1维持20s
;*******************************************
MOVR2,#5;置50ms计数初值5*4=20
MOVR3,#3;绿灯闪3s
MOVR4,#4;闪烁间隔200ms
MOVSECOND1,#5;东西路口计时显示初值5s
MOVSECOND2,#5;南北路口计时显示初值5s
LCALLDISPLAY
WAIT2:
LCALLSTATE2;调用状态2
JNBTF0,WAIT2;查询50ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值50ms
MOVTL0,#0B0H
DJNZR4,WAIT2;判断200ms到否?
未到继续状态2
CPLLED_G1;东西绿灯闪
MOVR4,#4;闪烁间隔200ms
DJNZR2,WAIT2;判1s到否?
未到继续状态2
MOVR2,#5;置50ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT2;状态2维持3s
;****************************************
MOVR2,#20;置50ms计数初值
MOVR3,#2;黄灯闪2s
MOVSECOND1,#2;东西路口计时显示初值2s
MOVSECOND2,#2;南北路口计时显示初值2s
LCALLDISPLAY
WAIT3:
LCALLSTATE3;调用状态3
JNBTF0,WAIT3;查询100ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值100ms
MOVTL0,#0B0H
DJNZR2,WAIT3;判断1s到否?
未到继续状态3
MOVR2,#20;置100ms计数初值
DECSECOND1;东西路口显示时间减1s
DECSECOND2;南北路口显示时间减1s
LCALLDISPLAY
DJNZR3,WAIT3;状态3维持2s
;*******************************************
MOVR2,#20;置50ms计数初值
MOVR3,#20;红灯闪20s
MOVSECOND1,#25;东西路口计时显示初值25s
MOVSECOND2,#25;南北路口计时显示初值25s
LCALLDISPLAY
WAIT4:
LCALLSTATE4;调用状态4
JNBTF0,WAIT4;查询100ms到否
CLRTF0
MOVTH0,#3CH;恢复T0定时初值100ms
MOVTL0,#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 交通 信号灯 控制电路 设计