交通灯控制系统设计单片机交通灯课程设计.docx

上传人:b****1 文档编号:15069304 上传时间:2023-06-30 格式:DOCX 页数:18 大小:260.91KB
下载 相关 举报
交通灯控制系统设计单片机交通灯课程设计.docx_第1页
第1页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第2页
第2页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第3页
第3页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第4页
第4页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第5页
第5页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第6页
第6页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第7页
第7页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第8页
第8页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第9页
第9页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第10页
第10页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第11页
第11页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第12页
第12页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第13页
第13页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第14页
第14页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第15页
第15页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第16页
第16页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第17页
第17页 / 共18页
交通灯控制系统设计单片机交通灯课程设计.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

交通灯控制系统设计单片机交通灯课程设计.docx

《交通灯控制系统设计单片机交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯控制系统设计单片机交通灯课程设计.docx(18页珍藏版)》请在冰点文库上搜索。

交通灯控制系统设计单片机交通灯课程设计.docx

交通灯控制系统设计单片机交通灯课程设计

v

单片机课程设计

交通灯系统控制

姓名:

仅供参考,莫转载

组员:

仅供参考,莫转载

班级:

仅供参考,莫转载

学号:

仅供参考,莫转载

指导教师:

仅供参考,莫转载

烟台大学

机电汽车工程学院

目录

摘要……………………………………………...

(2)

第一章绪论……………………………………………...(3)

1.1概述

1.2设计目的

1.3设计任务和内容

1.4设计要求

1.5框图设计

第二章硬件设计……………………………………….(7)

2.1总体设计

2.2电路原理图

2.3元件清单

第三章软件设计……………………………………….(11)

3.1程序流程图

3.2程序清单

参考文献……………………………………………….(14)

设计总结……………………………………………….(15)

附录……………………………………………….(16)

摘要

交通在人们的日常生活中占有重要的地位,随着我国经济的高速发展,私家车、公交车的增加,无疑会给我国道路交通系统带来沉重的压力,很多大城市都不同程度的受到交通堵塞问题的困扰。

交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

本设计采用AT89S52单片机为中心器件来设计交通灯控制器,系统使用性强、操作简单、扩展性强。

本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。

本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、紧急情况中断系统、复位电路等几大部分组成;软件上采用汇编语言编写主程序、中断程序、延时程序等。

经过整机调试,实现了对十字路口交通灯的模拟。

第一章绪论

1.1概述

近几年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动传动系统控制检测日新月异更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据硬件结构,以及针对对具体应用对象特点的软件结合,加以完善。

交通信灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

1.2设计目的

(1)加强对单片机和汇编语言的认识,充分掌握和理解设计的工作原理、设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。

(2)用单片机模拟实现具体应用,使个人设计能够真正使用。

(3)把理论知识与实践相结合,充分发挥个人能力,在实践中锻炼。

(4)提高利用已学过的知识分析和解决问题的能力。

(5)提高实践动手能力。

1.3设计任务和内容

1.3.1设计任务

结合教材及参考资料,用AT89S52单片机模拟实现十字路口的交通灯亮灭、倒计时显示、紧急情况处理等功能。

1.3.2设计内容

(1)填写设计任务书。

(2)进行总体设计,画出原理图。

(3)利用AutoCAD软件画出PCB板。

(4)编写并调试程序。

1.4设计要求

用AT89S52单片机控制一个交通信号灯系统,晶振12Hz。

假设A车道与B车道交叉组成十字路口,A是主道,B是直道。

设计要求如下:

(1)用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。

(2)正常情况下,A、B两车道轮流放行,A车道放行50s,其中五秒用于警告;B车道放行30s,其中5s用于警告。

(3)在交通繁忙时,交通信号灯控制系统应有手控开关,可认为的改变信号灯的状态,以缓解交通拥挤的状况。

在B道放行期间,若A道有车而B道无车,按下开关K1使A车道放行15s;在A车道放行期间,若B车道有车而A车道无车,按下K2使B车道放行15s。

(4)有紧急车辆通过时,按下K3开关使A、B车道均为红灯,禁行20s。

1.5系统设计

交通控制系统主要控制A、B两车道的交通,以AT89S52单片机为核心芯片,通过控制三色LED的亮灭来控制各车道的通行;另外通过3个按键来模拟各车道有无车辆的情况和有紧急车辆的情况。

根据设计要求,制定总体设计思想如下:

正常情况下运行主程序,采用0.5s延时子程序的反复调用来实现各种定时时间。

一道有车而另一道无车时,采用外部中断1执行中断服务程序,并设置该中断为低优先级中断。

有紧急车辆通过时,采用外部中断0执行中断服务程序,并设置该中断为高优先级中断,实现二级中断嵌套。

1.6框图设计

基于AT89S52单片机的交通信号灯控制系统有电源电路、单片机主控电路、按键控制电路和道路显示电路几部分组成,框图如1-1所示。

按键电路

晶振电路

复位电路

电源电路

1.7知识点

本项目需要学习和查阅资料,掌握和了解如下知识:

●+5V电源原理及设计。

●单片机复位电路工作原理及设计。

●单片机晶振电路工作原理及设计。

●按键电路的设计。

●驱动电路74LS07的特性及使用。

●LED的特性及使用。

●AT89S52单片机引脚。

●单片机汇编语言及程序设计。

 

第二章硬件设计

2.1总体设计

整个设计以AT89S52单片机为核心,由I/O扩展,LED数码管显示,紧急情况中断电路,复位电路组成。

硬件模块如图示:

图2-1基于AT89S52单片机的交通信号灯控制系统框图

2.2电路原理图

用十二只发光二级管模拟交通信号灯,以AT89S52单片机的P1口控制着12只发光二级管,由于单片机带负载的能力有限,因此,在P1口与发光二级管之间用74LSO7作驱动电路,P1口输出低电平

时,信号灯亮;输出高电平时,信号灯灭。

在正常情况和交通繁忙时,A、B两车道的6只信号灯的控制状态有5种形式,即P1口控制功能及相应控制码如图表2-2所示。

分别以按键K1、K2模拟A、B道的车辆检测信号,开关K1按下时,A车道放行;开关K2按下时,B车道放行;开关K1和K2的控制信号经异或取反后,产生中断请求信号(低电平有效),通过外部中断1向CPU发出中断请求;因此产生外部中断1中断的条件为:

INT1=K1+K2,可集成块74S266来实现(此处用74LS86与74LS04组合实现)。

采用中断加查寻扩展法,可以判断出要求放行的是A车道(按下车道K1)还是B车道(按下开关K2)。

以按键K0模拟紧急车辆通过开关,当K0为高电平时属于正常情况,当K0为低电平时,属于紧急车辆通过情况,直接将K0信号接至INT0(P3.2)脚即可实现外部中断0中断。

2.4单片机AT89S52芯片

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,AT89S52拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

 

表2-2交通信号灯与控制状态对应关系

控制状态

P1控制口

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

未用

未用

B道

绿灯

B道

黄灯

B道

红灯

A道

绿灯

A道

黄灯

B道

红灯

A道放行B道禁止

A道放行B道禁止

A道放行B道禁止

A道放行B道禁止

A道放行B道禁止

F3H

F5H

DEH

EEH

F6H

1

1

1

1

1

1

1

1

1

1

1

1

0

1

1

1

1

1

0

1

0

0

1

1

0

0

1

1

1

1

1

0

1

1

1

1

1

0

0

0

综上所述,可设计出基于AT89S52单片机控制信号灯模拟控制系统的电路图见附录。

2.4元件清单

基于AT89S52单片机的交通信号灯控制系统元件清单如表2-4所示。

表2-4交通信号灯控制系统元件清单

元件名称

型号

数量

用途

元件名称

型号

数量

用途

单片机

AT89S52

1

控制核心

集成块

74LS04

1

按键电路

晶振

12MHz

1

晶振电路

集成块

74LS86

1

按键电路

电容

30pF

2

晶振电路

电阻

4.7kΩ

2

按键电路

电解电容

10uF

1

复位电路

按键

4

按键电路

电阻

10kΩ

1

复位电路

电阻

300Ω

12

LED限流

驱动器

74LS07

1

LED驱动

电源

+5v

1

提供+5v

发光二级管

LED

12

黄、红、绿灯

2.574LS07驱动器

74LS07是六高压输出缓冲驱动器,其引脚图和逻辑图

第三章软件设计

主程序采用查询的方式定时,由R2寄存器确定调用0.5s延时子程序的次数,从而获取交通灯的各种时间。

子程序采用定时器1方式1查询定时,定时器定时50ms,R3寄存器确定50ms循环10次,从而获取0.5s的延时时间。

有车车道循环放行的中断服务程序首先要保护现场,因为需要用到延时子程序和P1口,故需要保护的寄存器有R3、P1、TH1、TL1,保护现场是还要关中断,以防止高优先级中断(紧急车辆通过所产生的中断)出现导致程序混乱。

开中断,由软件查询P3.0和P3.1口,判断哪一道有车,再根据查询情况执行相应的服务,待交通灯信号出现后延时20s,确保紧急车辆通过交叉路口,然后,恢复现场,返回主程序。

3.1程序流程图

交通信号灯模拟控制系统程序流程图如图3-1所示。

3.2程序清单

交通灯模拟控制系统程序清单见附录。

 

有车车道放行时的中断服务程序

主程序

紧急情况时的中断程序

 

参考文献

[1]单片机原理及应用,李华,王思明,兰州大学出版社,2009

[2]单片机基础[M].北京,李广弟,北京航空航天大学出版社,1994

[3]单片机实用系统设计技术[M].北房小翠,国防工业出版社,1999

[4]单片机原理及接口技术,胡汉才,清华大学出版社,1995

[5]单片机课程设计指导,李光飞,北京航空航天大学出版社,2007

 

设计总结

本系统就是充分利用了AT89S52芯片的I/O引脚。

系统采用了MSC-51系列单片机AT89S52为中心器件来设计模拟交通灯控制器,实现了能根据实际车流量通过S52芯片的P0口设置主干道A红、绿灯燃亮时间的功能;P1控制次干道B红绿灯燃亮时间,以及紧急情况下的中断。

系统不足之处不能控制车的左右转、以及自动根据车流改变红绿灯时间等,由于本身地理位置以及车流量情况所定,如果有需要可以设计扩充原系统来实现。

通过课程设计,使得我得到了一次用专业知识、专业技能分析、团队合作和解决问题全面系统的锻炼。

在设计过程中发现自己的不足,及时请教老师和同学,或者上网查找相应的资料,对自己的知识是一个很大的补充,也加深了对所学知识的更深理解使我在单片机的原理、单片机应用系统开发过程中,以及在汇编程设计思路技巧的掌握方向都迈进了一步,为以后成为应用型人才打下了基础。

 

附录2:

源程序

ORG0003H

LJMPINTT0;转向紧急车辆中断服务程序

ORG0013H

LJMPINTT1;转向有车车道中断服务程序

ORG0200H

MAIN:

MOVSP,#30H

SETBPX0;置外部中断0为高优先级中断

MOVTCON,#00H;置外部中断0、1为电平触发

MOVTMOD,#10H;置定时器1为方式1

MOVIE,#85H;开CPU中断,开外中断0、1中断

LOOP:

MOVP1,#0F3H;A道绿灯放行,B道红灯放行

MOVR1,#90H;置0.5s循环次数(0.5×90=45s)

DIP1:

ACALLDELAY;调用0.5s延时子程序

DJNZR1,DIP1;45s不到继续循环

MOVR1,#06H;置A绿灯闪烁循环次数

WAN1:

CPIP1.2;A绿灯闪烁

ACALLDELAY;闪烁次数未到继续循环

DJZNR1,WAN1;A黄灯警告,B红灯禁止

MOVP1,#0F5H;置0.5s循环次数(0.5×4=2)

YL1:

ACALLDELAY

DJZNR1,YL1;2s未到继续循环

MOVP1,#0DEH;A红灯,B绿灯

MOVR1,#32H;置0.5s循环次数(0.5×50=25)

DIP2:

ACALLDELAY

DJNZR1,DIP2;25s未到继续循环

DJNZR1,#06H

WAN2:

CPLP1.5;B绿灯闪烁

ACALLDELAY

DJNZR1,WAN2

MOVP1,#0EEH;A红灯,B黄灯

MOVR1,04H

YL2:

ACALLDELAY

DJNZR1,YL2

AJMPLOOP;循环执行主程序

INTT0:

PUSHP1;P1口数据呀栈保护

PUSHTH1;TH1压栈保护

PUSHTL1;TL1压栈保护

MOVP1,#0F6H;A、B道均为红灯

MOVR2,#40H;置0.5s循环初值(20s)

DEY0:

ACALLDELAY

DJNZR2,DEY0;20s未到继续循环

POPTL1;弹栈恢复现场

POPTH1

POPP1

RETI;返回主程序

INTT1:

CLRE;关中断

PUSHP1;压栈保护现场

PUSHTH1

PUSHTL1

SETBEA;开中断

JBP3.0,BOP;A道无车转向B道

MOVP1,#0F3H;A道绿灯,B道红灯

SJMPDEL1;15s延时

BOP:

JBP3.1,EXIT;B道无车退出中断

MOVP1,#0DEH;A红灯,B绿灯

DEL1:

MOVR5,#30;置0.5s循环初值

NEXT:

ACALLDELAY

DJNZR5,NEXT;15s未到继续循环

EXIT:

CLREA

POPTL1;弹栈恢复现场

POPTH1

POPP1

SETBEA

RETI

DELAY:

MOVR3,#0AH;0.5s子程序(50ms×10=0.5)

MOVTH1,#3CH;置50ms初值X=CB0H

MOVTL1,#0B0H

SETBTR1

LP1:

JBCTF1,LP2

SJMPLP1

LP2:

MOVTH1,#3CH

MOVTL1,#0B0H

DJZNR3,LP1

RET

END

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2