交通灯课程设计报告.docx

上传人:b****7 文档编号:9670353 上传时间:2023-02-05 格式:DOCX 页数:33 大小:398.38KB
下载 相关 举报
交通灯课程设计报告.docx_第1页
第1页 / 共33页
交通灯课程设计报告.docx_第2页
第2页 / 共33页
交通灯课程设计报告.docx_第3页
第3页 / 共33页
交通灯课程设计报告.docx_第4页
第4页 / 共33页
交通灯课程设计报告.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

交通灯课程设计报告.docx

《交通灯课程设计报告.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计报告.docx(33页珍藏版)》请在冰豆网上搜索。

交通灯课程设计报告.docx

交通灯课程设计报告

摘要

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

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

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。

那么靠什么来实现这井然秩序呢?

靠的是交通信号灯的自动指挥系统。

交通信号灯控制方式很多。

本系统采用MSC-51系列单片机AT89S52为中心器件来设计交通灯控制器,实现了能根据实际车流量通过单片机芯片的P2口设置红、绿灯燃亮时间的功能;显示时间直接通过单片机的P0、P3口输出,系统实用性强、操作简单、扩展性强。

 

关键词:

单片机交通灯控制器

 

目录

1概述……………………………………………………………………………3

1.1红绿灯发展史……………………………………………………………3

1.2单片机概述………………………………………………………………3

1.3芯片简介…………………………………………………………………4

2系统总体方案及硬件设计……………………………………………………7

2.1设计的目的意义…………………………………………………………7

2.2单片机控制的交通灯控制系统设计要求………………………………8

2.3系统方框图………………………………………………………………8

2.4工作原理…………………………………………………………………8

2.5系统硬件电路……………………………………………………………9

3软件设计………………………………………………………………………13

3.1程序流程图………………………………………………………………13

3.2紧急状态通行子程序流程图……………………………………………13

3.3按键扫描流程……………………………………………………………14

3.4主程序……………………………………………………………………15

4Proteus软件仿真……………………………………………………………15

4.1使用KeiluVision3生成HEX文件……………………………………16

4.2在PROTUES软件中仿真…………………………………………………16

5课程设计体会…………………………………………………………………18

参考文献………………………………………………………………………18

附1:

源程序代码……………………………………………………………19

附2:

系统原理图……………………………………………………………26

 

一.概述

1.1红绿灯发展史

当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。

但这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。

这是世界上最早的交通信号灯。

1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。

它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。

1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。

红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。

带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。

红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。

红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。

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

1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。

绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。

左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。

红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。

黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

1.2单片机概述

单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。

单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。

通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:

中央处理器、存储器和I/O接口电路等。

因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。

 

1.3芯片简介

MCS-51单片机内部结构

8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。

8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

数据存储器(RAM)

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

图1.8051内部结构

 

·程序存储器(ROM):

8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

·定时/计数器(ROM):

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用来控制程序转向。

·并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

·全双工串行口:

8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

·中断系统:

8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。

·时钟电路:

8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。

INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。

下图是MCS-51系列单片机的内部结构示意图2。

 

MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:

MCS-51的引脚说明:

MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

现在我们对这些引脚的功能加以说明:

如图3

 

图3.芯片引脚图

Pin9:

RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。

初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。

RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。

然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。

8051的复位方式可以是自动复位,也可以是手动复位,见下图4。

此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。

 

图4.各种复位电路

·Pin30:

ALE/

当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。

而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。

更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。

如果单片机是EPROM,在编程其间,

将用于输入编程脉冲。

·Pin29:

当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。

·Pin31:

EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。

如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。

显然,对内部无程序存储器的8031,EA端必须接地。

在编程时,EA/Vpp脚还需加上21V的编程电压。

 

二.系统总体方案及硬件设计

2.1设计的目的意义

·综合利用所学单片机知识完成一个单片机应用系统设计并仿真实现,从而加深对电子电路、单片机软硬知识的理解,获得初步的应用经验,为走出校门从事电子设计的相关工作打下基础。

·进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤

·掌握Protel、Proteus、Wave、keil等软件的使用方法;

·掌握键盘和显示器在的单片机控制系统中的应用。

·掌握撰写课程设计报告的方法。

2.2单片机控制的交通灯控制系统设计要求

(1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。

(2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;

(3)黄灯亮时,要求每秒闪亮一次。

(4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。

(5)一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统能立即让有车道放行。

(6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2开关模拟。

2.3系统方框图

 

图5

 

2.4工作原理

由软件设置交通灯的初始时间,南北方向30秒,东西方向20秒,数码管的段码用相同的口线,通过P0口连接单片机,东西方向和南北的二极管均使用P2口控制,南北占用是P2口的P2.4、P2.5、P2.6口,东西占用P2口的P2.1、P2.2、P2.3口,用单片机来控制各种信号灯的燃亮时间。

本设计与设计要求有些出入,共设置开关按键七个,实现时间调节(即时间加、时间减)、时间调节对象切换、紧急通行、单方向通行、返回初始状态功能。

按程序初始状态为南北通行,30秒的倒计时,东西红灯亮,25秒倒计时。

2.5系统硬件电路

电路电源:

电路电源采用USB口供电,5伏直流

单片机最晶振复位电路:

图7.单片机晶振复位电路

单片机最小系统以89c51为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求.89c51单片机系列是在MCS-51系列的基础上发展起来的,是当前8位单片机的典型代表,采用CHMOS工艺,即互补金属氧化物的HMOS工艺,CHMOS是CMOS和HMOS的结合,具有HMOS高速度和高密度的特点,还具有CMOS低功耗的特点.

时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的晶振,一个机器周期为1us,C1,C2为30pF。

复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效.上电自动复位通过电容C3和电阻R2来实现,按键手动复位是图中复位键来实现的。

显示部分:

虽然系统要求南北和东西方向的信号灯时间不一样,但均可以利用单片机的P0口来做数码管的段码驱动,南北方向的位线使用P1.2和P1.3,东西方向的则使用P1.0和P1.1端口来进行位选。

本次实习数码管使用的是共阴数码管,数码管的每段的电流是10毫安。

电路图如图所示:

图8.数码显示电路

 

信号灯部分:

本设计利用单片机的P2口来驱动和控制各种信号灯的燃亮和燃亮时间,在实际生活中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,我们采用电源直接接发光二极管,再经电阻接至单片机的引脚,提高驱动能力,单片机来控制发光二极管,信号灯依次闪亮

图9.信号灯控制电路

按键控制电路:

如图10所示,开关控制由K1到K7七个连接到单片机的控制按钮组成。

通过软件编程,实现以下功能:

K1:

时间加按键,实现时间的调节,每按下去一次,时间加一秒。

K2:

时间减按键,实现时间的调节,每按下去一次,时间加一秒。

K3:

返回按键,实现时间调节,路口通行设置后的返回,按下后返回初始状态。

K4:

切换按键,实现南北向、东西向的时间控制的切换,按一次切换时间调节对象的切换。

K5:

紧急通行按键,按下后实现十字路口禁止通行的功能,即南北向东西向红灯均亮,不进行计时。

K6:

东西通行按键,按下后仅东西通行,即南北向红灯亮,东西向绿灯亮,不进行计时。

K7:

南北通行按键,按下后仅南北通行,即东西向红灯亮,南北向绿灯亮,不进行计时。

 

 

图10.按键控制电路

 

三.软件设计

3.1程序流程图

 

图.11

3.2紧急状态通行子程序流程图

 

图.12

 

3.3按键扫描流程

 

图.13

 

图14.

 

3.4主程序

主程序

voidmain()

{

TMOD=0X01;

TH0=0XD8;

TL0=0XF0;

EA=1;

ET0=1;

TR0=1;

EX0=1;

EX1=1;

logo();

P2=0Xbd;//开始默认状态,东西绿灯,南北黄灯

sec_nb=sec_dx+5;

while

(1)

{

key();//调用按键扫描程序

display();//调用显示程序

Buzzer();

}

}

说明:

voiddelay(intms);//延时子程序

voidkey();//按键扫描子程序

voidkey_to1();//键处理子程序

voidkey_to2();

voidkey_to3();

voiddisplay();//显示子程序

voidlogo();//开机LOGO

voidBuzzer();

四.Proteus软件仿真

Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,深受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

本次仿真即使用KeiluVision3和Protues软件。

4.1使用KeiluVision3生成HEX文件

在KeiluVision3中新建工程文件,设置芯片为ATM89C51,编写程序编译汇编并创建生成HEX文件,如下图所示:

 

图.15

4.2在PROTUES软件中仿真

然后在PROTUES仿真中绘制好硬件电路图,然后装入程序,如下图:

 

装入好程序后即可运行,进行仿真,仿真图如下:

 

图.17

 

五.课程设计体会

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。

回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好,仿真软件运用不够熟练……通过这次课程设计之后,我懂得只有把以前所学过的知识不断温习才能牢固地掌握。

另外,通过本次实习,我也学会了利用网络,图书馆查阅资料来解决问题地方法,并发现一些了很不错的知识性的论坛,从中我受益匪浅,也使我明白,只有不断地开阔眼界,不断地了解新知识,不断地与人交流,才能使自己的思想与能力得到更大的提高。

同时我也认识到团队协作的精神的重要性,有些问题是一个人难以解决的,而大家一齐动手,不仅能提高解决问的效率,而且在讨论中,大家的思维也能得到发散。

团结协作是我们实习成功的一项非常重要的保证,这次实习也给我们留下了非常宝贵的经验,这将是我们以后工作学习中的宝贵财富。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在同学和老师的帮助下完美解决,在此我表示忠心的感谢!

同时也感谢学校给了我们这次动手实践的宝贵机会!

参考文献

[1]余发山,王福忠.单片机原理及应用技术.徐州:

中国矿业大学出版社,2008

[2]张靖武,周灵彬.单片机原理、应用与PROTEUS仿真.北京:

电子工业出版社,2009

[3]白延敏.51单片机典型系统开发实例精讲.北京:

电子工业出版社,2009

[4]欧阳文.ATMEL89系列单片机的原理与开发实践.北京:

中国电力出版社,2007

 

附1源程序代码

/*交通灯控制系统C语言源程序*/

/*2010/6/6/

#include

#defineucharunsignedchar

#defineuintunsignedint

uchardatabuf[4];

uchardatasec_dx=20;//东西数默认

uchardatasec_nb=30;//南北默认值

uchardataset_timedx=20;

uchardataset_timenb=30;

intn;

uchardatab;//定时器中断次数

sbitk1=P1^6;//定义5组开关

sbitk2=P1^7;

sbitk3=P2^7;

sbitk4=P3^0;

sbitk5=P3^1;

sbitYellow_nb=P2^5;//南北黄灯标志

sbitYellow_dx=P2^2;//东西黄灯标志

sbitGreen_nb=P2^4;

sbitGreen_dx=P2^1;

sbitBuzz=P3^7;

bitBuzzer_Indicate;

bittime=0;//灯状态循环标志

bitset=1;//调时方向切换键标志

ucharcodetable[11]={//共阴极字型码

0x3f,//--0

0x06,//--1

0x5b,//--2

0x4f,//--3

0x66,//--4

0x6d,//--5

0x7d,//--6

0x07,//--7

0x7f,//--8

0x6f,//--9

0x00//--NULL

};

//函数的声明部分

voiddelay(intms);//延时子程序

voidkey();//按键扫描子程序

voidkey_to1();//键处理子程序

voidkey_to2();

voidkey_to3();

voiddisplay();//显示子程序

voidlogo();//开机LOGO

voidBuzzer();

//主程序

voidmain()

{

TMOD=0X01;

TH0=0XD8;

TL0=0XF0;

EA=1;

ET0=1;

TR0=1;

EX0=1;

EX1=1;

logo();

P2=0Xbd;//开始默认状态,东西绿灯,南北黄灯

sec_nb=sec_dx+5;

while

(1)

{

key();//调用按键扫描程序

display();//调用显示程序

Buzzer();

}

}

//函数的定义部分

voidkey()//按键扫描子程序

{

if(k1!

=1)

{

delay(10);

if(k1!

=1)

{

while(k1!

=1)

{

key_to1();

for(n=0;n<40;n++)

{display();}

}

}

}

if(k2!

=1)

{

delay(10);

if(k2!

=1)

{

while(k2!

=1)

{

key_to2();

for(n=0;n<40;n++)

{display();}

}

}

}

if(k3!

=1)

{

TR0=1;//启动定时器

Buzzer_Indicate=0;

sec_nb=set_timenb;//从中断回复,仍显示设置过的数值

sec_dx=set_timedx;

if(time==0)

{P2=0Xe7;sec_nb=sec_dx+5;}

else{P2=0xbd;sec_dx=sec_nb+5;}

}

if(k4!

=1)

{

delay(5);

if(k4!

=1)

{

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

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1