交通灯 单片机课程设计.docx
- 文档编号:9418611
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:24
- 大小:401.44KB
交通灯 单片机课程设计.docx
《交通灯 单片机课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯 单片机课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
交通灯单片机课程设计
BeijingInstituteofPetrolchemicalTechnology
接口技术综合设计
红绿灯控制系统的设计与实现
院(系、部):
信息工程学院
自动化专业
姓名:
学号:
班级:
自092
指导教师:
2012年4月11日
摘要
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据制定时间,通过8051芯片设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至数码管);本系统实用性强、操作简单、扩展功能强。
关键词
单片机中断PCB电路板
摘要2
关键词2
I.绪论4
1.1课程设计意义4
1.2课程设计选题4
II.设计思路、基本原理和框图5
2.1设计思路5
2.2基本原理5
2.3总体设计框图6
III.交通灯自动控制电路硬件设计6
3.1单片机的结构6
3.1.1电源:
6
3.1.⒉时钟7
3.1.⒊控制线7
3.1.⒋I/O线7
3.2主要元器件选择7
3.3设计显示部分7
3.4交通路口模型及设计参数8
3.6参数设定8
3.6.18255初始化8
3.6.2交通灯的输出状态参数9
3.7物理接线电路图9
IV.交通灯自动控制电路软件设计11
4.1单片机中断系统基本结构11
4.2设计指标12
4.3延时的设定12
4.4程序流程图13
V.感想与致谢14
VI.参考文献14
VII.附录14
1.程序源代码14
2.电路板PCB图19
.绪论
1.1课程设计意义
随着我国经济的飞速发展,城市人口越来越多,居民出行次数和机动车拥有量不断增加,城市道路拥挤、车流量不均衡等问题日趋严重。
提高城市路网的通行能力、实现道路交通的科学化管理迫在眉睫,如何才能保持城市交通的安全便捷、高效畅通和绿色环保,已成为政府政策规划的一个重点问题。
作为一种交通规则的指示,交通灯它起着及其重要的作用。
它不再仅仅拥有交通指示的作用,还有其它特殊情况的处理,比如对闯红灯的肇事者进行的监督,紧急救护车的通过时保持道路畅通,等等都需要非常的处理,这也是对交通灯功能的新要求。
而且,也从最初的只有红,黄,绿三种灯的指示到现在的倒计时电子显示,让人们从单一的信号判别到时间的准确明了有了进一步认知。
这都表明交通灯的研究还具有它实际的意义。
红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。
并在一定程度上尽可能的降低由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。
依靠交通信号灯的自动指挥系统,可以实现十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
交通信号灯控制方式很多。
通过对十字路口交通灯控制系统的设计与制作,使我们进一步巩固和加深了对所学的基础理论、基本技能和专业知识的认识掌握。
同时也培养自身综合运用所学过的基础理论、基础知识和基本技能进行分析和解决实际问题的能力,更使我们受到了PLC系统开发的综合训练,从而能够使我们进行PLC系统设计和实施,并且掌握典型自动控制系统的工作原理和设计思路。
更重要的是:
通过对十字路口交通灯系统的每个环节的实际制作,锻炼了自身的刻苦钻研、勇于探索、实事求是、善于与他人合作的工作作风,这为我们将来的上岗实习做好了充分的准备。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
通过这次实验,让学生得到接口技术实际应用系统开发的综合训练,提高学生单片机综合系统的开发的能力。
1.2课程设计选题
利用单片机的定时器产生秒信号,使用8051单片机实现十字路口的红、绿、黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。
系统的工作应符合一般交通灯控制的要求。
.设计思路、基本原理和框图
2.1设计思路
设计基于单片机的智能交通红绿灯控制系统,倒计时等信息能通过数码管或点阵发光管显示,设计时应考虑交通红绿灯控制的易操作性及智能性。
以单片机的最小系统为基础设计硬件,用汇编语言实现编程控制。
采用分模块设计的思想,程序设计实现的基本思想是一个计数器,选择一个单片机,其内部为一个计数,是十六进制计数器,模块化后,通过设置或程序清除来实现状态的转换,由于每一个模块的计数多不是相同,这里的各模块是以预置数和计数器计数共同来实现的,所以要考虑增加一个置数模块,其主要功能细分为,对不同的状态输入要产生相应状态的下一个状态的预置数。
交通灯的自动控制系统的主要功能包括:
普通交通灯的显示,LED倒计时显示,突发事件的外部处理和交通路口的模拟。
本设计的控制系统由以下电路模块组成:
振荡器和时钟电路:
这部分电路主要由80C51单片机和一些电容,晶振组成。
设计控制部分:
主要由80C51单片机的外部中断电路组成。
设计显示部分:
LED数码显示部分。
LED数码显示部分由七段数码显示管组成。
2.2基本原理
主体电路由交通灯自动控制模块。
这部分电路主要由80C51单片机的I/O端口,定时计数器,外部中断扩展等组成。
定时器产生秒信号,控制十字路口的红、绿、黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。
要求能用按键设置两个方向的通行时间(绿、红灯点亮时间)和暂缓通行时间(黄灯点亮时间)。
系统的工作应符合一般交通灯控制的要求。
2.3总体设计框图
.交通灯自动控制电路硬件设计
3.1单片机的结构
单片微机(Single-ChipMicrocomputer)简称为单片机。
它在一块芯片上集中成了中央处理单元CPU,随机存储器RAM,只读存储器ROM,定时/计数和多功能输入/输出I/O口,如并行口I/O,串行口I/O和转换A/D等就其组成而言,一块单片机就是一台计算机。
单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。
单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。
通常,单片机由单个集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
由于它具有体积小,功能强和价格便宜等优点,因而被广泛地应用于产品智能化和工业控制自动化上。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
以8051单片机为例讲解单片机的引脚及相关功能,40个引脚按引脚功能大致可分为4个种类:
电源、时钟、控制和I/O引脚。
3.1.1电源:
ØVCC-芯片电源,接+5V
ØVSS-接地端
注:
用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。
但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。
3.1.⒉时钟
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
3.1.⒊控制线
ØALE/PROG:
地址锁存允许/片内EPROM编程脉冲
ØALE:
用来锁存P0口送出的低8位地址
ØPROG:
在EPROM编程期间,此引脚输入编程脉冲
ØPSEN:
外ROM读选通信号
ØRST/VPD:
复位/备用电源
ØRST(Reset):
复位信号输入端
ØVPD:
在Vcc掉电情况下,接备用电源
ØEA/Vpp:
内外ROM选择/片内EPROM编程电源
ØEA:
内外ROM选择端
ØVpp:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp
3.1.⒋I/O线
P0、P1、P2、P3口,共32个引脚,P3口还具有第二功能
ØP30RXD串行输入口
ØP31TXD串行输出口
ØP32INT0外部中断0(低电平有效)
ØP33INT1外部中断1(低电平有效)
ØP34T0定时计数器0
ØP35T1定时计数器1
ØP36WR外部数据存储器写选通(低电平有效)
ØP37RD外部数据存储器读选通(低电平有效)
3.2主要元器件选择
电路板一块,AT89S51单片机一片,7448芯片2片,七段数码管八个。
发光二极管12个(4个绿的,4个红的,4个黄的用于交通控制)。
3.3设计显示部分
LED数码显示部分.LED数码显示部分由七段数码显示管组成。
发光二极管显示原理:
发光二极管是采用砷化镓,镓铝砷和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性。
发光二极管在制作时,使用的材料不同,那么就可以发出不同颜色的光.
下面以四位数码管动态显示为例,介绍显示部分
数码管动态显示
在图四个LED中动态显示内部RAM65H~68H单元中的数据。
(65H~68H单元中的数据可任意设定为0~F)。
LED为共阴极数码管,0~F的共阴极码为
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,00H。
根据8255的/CS管脚与A0、A1管教的接线确定各口地址。
8255PB口,控制LED七段,8255PA口,控制四个LED的位PA.0控制最右边LED。
3.4交通路口模型及设计参数
3.6参数设定
3.6.18255初始化
P27
P26
P25
P24
P23
P22
P21
P20
P07
P06
P05
P04
P03
P02
P01
P00
A15
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
控制字
0
1
1
1
7FFF
1
1
1
1
1
端口A
0
1
1
1
7FFC
1
1
1
0
0
端口B
0
1
1
1
7FFD
1
1
1
0
1
端口C
0
1
1
1
7FFE
1
1
1
1
0
3.6.2交通灯的输出状态参数
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0
X绿
X红
X黄
Y绿
Y红
Y黄
红-绿
0
1
0
1
0
0
红-黄
0
1
0
0
0
1
绿-红
1
0
0
0
1
0
黄-红
0
0
1
0
1
0
注.8051工作于方式0,PA/PB/PC都为输出
3.7物理接线电路图
.交通灯自动控制电路软件设计
4.1单片机中断系统基本结构
中断是一项重要的计算机技术,是处理正常工作与紧急状态的好办法,是实现人机实时交互的重要途径,在单片机应用系统中,中断技术得到了广泛应用。
下面详细介绍单片机中断系统基本结构,与中断相关的特殊寄存器的设置及中断应用系统编程方法。
当CPU查询到系统有中断请求时,如果系统处于中断允许状态,CPU将停止当前的工作,响应中断请求,转向中断服务,中断服务完成后,返回原程序继续执行当前任务,这叫单片机中断。
8051系列单片机中断系统结构如图4-1所示.能让CPU产生中断的信号源叫中断源.8051单片机有NT0,INT1,T0,T1,TI,RI六个中断源,但只有EX0,ET0,EX1,ET1,ES五个向量,下面简要介绍六个中断源。
单片机中断系统基本结构
INT0,INT1.外部中断源.由P3.2和P3.2引脚输入。
具有低电平和脉冲两种触发方式,在每个机器周期的S5P2采样引脚信号,如有效则由硬件将它的中断请求标志IE置1,请求中断。
当CPU响应中断时,由硬件复位。
T0,T1.定时/计数器中断.当定时/计数器产生溢出时,置位中断请求标志TF请求中断处理。
RI,TI.串行中断.是接收,TI为发送。
单片机串行口接收到一个字符后RI置1,发送完一个字符TI置1。
值得注意的是,RI,TI在响应中断后,必须由用指令将其复位。
中断响应.CPU在执行程序的过程中,在每个机器周期的S5P2对中断标志位按中断优先级进行查询,一旦查询到有中断请求,CPU只要不在执行同级或高级的中断服务程序和当前指令(RETI指令或访问IE,IP的指令除外)执行完毕两种情况,则响应中断。
如果当前正在执行的指令是RETI或访问IE,IP的指令,则当前指令执行完毕后,CPU才可响应中断。
中断响应时间可以从中断信号被查询开始算起,中断响应时间在以下三种情况下,响应时间还会更长:
ØCPU正在执行一个比要响应的中断源优先级相等或更高的中断源的中断服务程8序,此时须等到中断服务程序执行完毕才可中断响应。
Ø正在执行的当前指令不是在最后一个机器周期,只有指令执行完后才响应中断。
Ø如果当前执行的是RETI或访问IE,IP的指令,则当前指令执行完毕后,CPU需再执行一条指令才可以中断响应,因此附加等待响应时间不会超过5个机器周期。
中断入口.单片机响应中断后,将转向特定的入口进行中断服务,单片机的中断入口地址如下表所示。
中断源
入口地址
IE0(外部中断0)
0003H
TF0(定时器0溢出中断)
000BH
IE1(外部中断1)
0013H
TF1(定时器1溢出中断)
001BH
RI+TI(串行口中断)
0023H
相邻中断源的入口地址间隔为8个单元。
通常的情况下,中断服务程序的长度不止8个字节,因此,常在入口地址处存放一条无条件转移指令,通过这条转移指令转向对应的中断服务程序入口,中断服务程序以RETI为结束。
中断请求的撤销:
CPU响应中断请求,在中断返回(RETI)之前,该中断请求应被撤除,否则会引发另一次中断。
定时/计数器中断请求撤销:
CPU在响应中断后,由硬件自动清除中断请求标志TF。
外部中断请求撤销:
如果采用脉冲触发方式,CPU在响应中断后,由硬件自动清除
中断请求标志IE;对于电平触发方式的外部中断请求,中断标志的撤销是自动的,由于造成中断请求的低电平继续存在,所以在响应中断后再次会产生中断请求,为此响应中断后要撤销外部信号。
单片机有INT0,INT1两个外部中断源,INT0对应单片机P3.0,INT1对应P3.2。
单片机的外部中断与特殊寄存器IE。
TCON,IP有关。
4.2设计指标
Ø红灯时间为30秒,绿灯时间25秒,黄灯5秒;
Ø主、支干道黄灯通行时间与黄灯亮的时间均同一计数器以秒为单位做减计数;
Ø在减计数回0的瞬间,完成十字路口通行状态的转换;
Ø计数器的状态由数码管显示,红、黄、绿信号灯由发光二极管模拟。
4.3延时的设定
内部定时器的溢出中断来确定1秒的时间,或者采用软件延时的方法。
4.4程序流程图
Y
N
N
Y
Y
N
显示程序流程图
.感想与致谢
.参考文献
[1]赵建领,51单片机开发与应用技术详解.北京:
电子工业出版社,2009
[2]张毅刚,单片机原理与应用技术,北京:
电子工业出版社,2010
.附录
1.程序源代码
ORG0000H
LJMPMAIN;跳转到主程序的开始处
ORG000BH;定时器0的入口地址
LJMPT0_TIM
/*---------------宏定义--------------------------------------*/
my8255_AEQU7FFCH
my8255_BEQU7FFDH
my8255_CEQU7FFEH
my8255_MODEEQU7FFFH
Red_timeEQU1EH
Gre_timeEQU19H
Yel_timeEQU05H
TTEQU10H
/*-----------------------MAIN------------------------------*/
MAIN:
MOVSP,#40H
MOVTMOD,#01H;设置T0为方式1
MOV10H,#20
MOVR1,#Red_time;X方向上的红灯时间
MOVR2,#Gre_time;X方向上的绿灯时间
MOVR4,#Red_time;Y方向上的红灯时间
MOVR5,#Gre_time;Y方向上的绿灯时间
MOV30H,#1
MOV31H,#1
MOV32H,#1
MOVA,#80H
MOVDPTR,#my8255_MODE
MOVX@DPTR,A;8255初始化
MOVR7,00H;路灯的状态
SETBET0;允许T0申请中断
SETBEA;总中断允许
MOVTH0,#3CH;T0装入计数初值
MOVTL0,#0B0H
SETBTR0;启动T0
HERE:
LCALLDISPLAY
SJMPHERE
DISPLAY:
MOVA,30H
ORLA,31H
ORLA,32H
JZDIS1;转移到黄红
MOVA,30H
ORLA,31H
JZDIS2;转移到绿红
MOVA,30H
JZDIS3;转移到红黄
MOVR7,#00010100B/*显示红绿R1,R5*/
MOVA,R7
MOVDPTR,#my8255_C
MOVX@DPTR,A
MOVA,R1
MOVB,#10
DIVAB
MOV67H,B
MOV68H,A
MOVB,#10
MOVA,R5
DIVAB
MOV65H,B
MOV66H,A
DIR:
MOVR3,#11111110B;4个数码管位选初始值
MOVA,R3;R3中暂存位选值
MOVR0,#65H;要动态显示数据所存放的首地址
LD0:
MOVDPTR,#my8255_A
MOVX@DPTR,A
MOVA,@R0
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVDPTR,#my8255_B
MOVX@DPTR,A
lCALLDELAY
MOVA,R3
JNBAcc.3,LD1
RLA
MOVR3,A
INCR0
LJMPLD0
LD1:
LJMPFINISH
DIS1:
MOVR7,#00001010B;显示R4(黄,红)
MOVA,R7
MOVDPTR,#my8255_C
MOVX@DPTR,A
MOVA,R4
MOVB,#10
DIVAB
MOV67H,B
MOV68H,A
MOV65H,B
MOV66H,A
LJMPDIR
DIS2:
MOVR7,#00100010B;显示R2,R4(绿,红)
MOVA,R7
MOVDPTR,#my8255_C
MOVX@DPTR,A
MOVA,R2
MOVB,#10
DIVAB
MOV67H,B
MOV68H,A
MOVA,R4
MOVB,#10
DIVAB
MOV65H,B
MOV66H,A
LJMPDIR
DIS3:
MOVR7,#00010001B;显示R1(红,黄)
MOVA,R7
MOVDPTR,#my8255_C
MOVX@DPTR,A
MOVA,R1
MOVB,#10
DIVAB
MOV67H,B
MOV68H,A
MOV65H,B
MOV66H,A
LJMPDIR
FINISH:
RET
/*---------------------------延时程序---------------------------*/
DELAY:
SETBRS0
CLRRS1
MOVR7,#50
DEL1:
MOVR6,#123
NOP
DEL2:
DJNZR6,DEL2
DJNZR7,DEL1
CLRRS0
CLRRS1
RET
/*-----------------时钟中断-----执行1s钟-------------------*/
T0_TIM:
PUSHPSW
CLRRS0;工作在0区
CLRRS1
MOVTH0,#3CH
MOVTL0,#0B0H
DJNZ10H,RETURN
MOV10H,#20
/*---------------------交通灯显示控制-----------------------------*/
DECR1;X红灯时间减1(RI=30,R5=25)
DECR5;Y绿灯时间减1
CJNER5,#0,RETURN;绿灯时间是否为零
INCR5;调节时间LCALLDISPLAY;(R5=0,R1~)
INCR1;
MOV30H,#0
DECR1
CJNER1,#0,RETURN
INCR1
MOV31H,#0
/*------------------------------相对方向--------------------------*/
DECR4;Y红灯时间减1
DECR2;X绿灯时间减1
CJNER2,#0,RETURN
INCR2
INCR4
MOV32H,#0
DECR4
CJNER4,#0,RETURN
MOV30H,#1
MOV31H,#1
MOV32H,#1
/*--------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 单片机课程设计 单片机 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)