交通灯单片机课程设计说明书讲解.docx

上传人:b****8 文档编号:28156962 上传时间:2023-07-08 格式:DOCX 页数:25 大小:799.98KB
下载 相关 举报
交通灯单片机课程设计说明书讲解.docx_第1页
第1页 / 共25页
交通灯单片机课程设计说明书讲解.docx_第2页
第2页 / 共25页
交通灯单片机课程设计说明书讲解.docx_第3页
第3页 / 共25页
交通灯单片机课程设计说明书讲解.docx_第4页
第4页 / 共25页
交通灯单片机课程设计说明书讲解.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

交通灯单片机课程设计说明书讲解.docx

《交通灯单片机课程设计说明书讲解.docx》由会员分享,可在线阅读,更多相关《交通灯单片机课程设计说明书讲解.docx(25页珍藏版)》请在冰豆网上搜索。

交通灯单片机课程设计说明书讲解.docx

交通灯单片机课程设计说明书讲解

编号:

 微机综合实践课程说明书

题目:

交通灯控制系统

学  院:

机电工程学院

专业:

机械设计制造及其自动化

学生姓名:

学号:

指导教师单位:

机械制造教研室

姓名:

恽志东

职称:

副教授

 

2013年12月30日

 

摘要

本次设计通过对目前交通控制进行深入分析的基础上,运用检测传感、实时智能化控制的技术,将调整车辆通行的时间算法与单片机控制作用相结合,做出了以单片机为核心的交通灯控制系统方案。

交通灯控制系统由单片机I/O口、交通灯状态显示、数码管时间显示、复位电路等几部分组成。

本次设计对十字路口的设计分为两种:

一种是手动控制,一种是自动控制。

通过开关P1.0实现其手动控制和自动控制,再通过按键P1.1,当各个方向全为红灯时,蜂鸣器发出报警声,从而完善交通灯控制系统。

通过用红、黄、绿灯的不同组合来指挥车辆的通行,用数码管作为通行时间的倒计时显示并与交通灯保持同步,在保证安全的情况下,改善交通运输的能力。

通过采用C51编程,编写了主程序,中断程序等,经过系统调试,实现了对十字路口交通灯的模拟。

关键词:

单片机交通灯十字路口

 

引言

交通是城市经济活动的命脉,对城市经济的发展、人们生活水平的提高起到十分重要的作用。

城市的交通状况,制约着城市经济的建设。

城市道路的建设有限与车辆的增加无限导致了城市交通拥挤。

自从开始使用计算机控制系统后,不管在控制硬件里取得了什么样的进展,交通控制领域的控制逻辑方面始终没能取得重大突破。

自从交通灯出现至今,其内部的电路控制系统不断的被改进,设计方法也多种多样,从而使交通灯显得更加智能化、科学化、简便化。

随着电子和计算机技术的发展,电子电路分析取得了突破性的进展,电子设计自动化成为现代电子控制系统的主要部分,这些为交通灯电路设计奠定了扎实的基础。

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

信号灯的出现,使交通得以有效管制。

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

绿灯是通行的信号,面对绿灯的车辆可以通行。

红灯是禁止信号,面对红灯的车辆必须在停车线停车。

黄灯是警告信号,面对黄灯的车辆不能越过停车线。

随着经济发展,道路拥挤现象越来越严重,造成的经济损失越来越大。

现在的交通系统已不能满足经济发展的要求。

在交通中引入了单片机交通灯控制代替交管人员在交叉路口,交通灯在运行效率上有很好的效益、更加节约资源,在一定程度上降低了工作人员的劳动强度。

 

1设计内容

1.1设计任务

(1)设计一交通灯控制系统,控制东西方向的红黄绿灯及南北方向的红黄绿灯。

(2)可实现手动和自动控制。

P1.0=0自动控制,P1.0=1手动控制。

手动控制时,开关(P1.1)当P1.1=0,各方向均为红灯,当P1.1=1时,各方向均为黄灯闪烁。

(3)自动控制时,实现东西绿灯亮5s,南北红灯亮5s;东西黄灯亮3s,南北红灯亮3s;东西红灯亮5s,南北绿灯亮5s;东西红灯亮3s,南北黄灯亮3s;

1.2应用与意义

当前,在世界范围内,一个以微电子技术,计算机通讯技术为先导;一个以信息技术及信息产业的信息革命。

而计算机技术怎样与实际应用更有效的结合并有效地发挥其作用是一个热门话题。

这次的设计只要从单片机的应用上来实现十字路口交通灯的只能化管理,从而可以便捷的的控制车辆的通行,实现交通秩序的稳定,提高人们出行的安全性。

2总体方案设计

方案一:

采用40脚、片内带4kBFlashROM的STC89C51单片机作为控制核心,

采用四组高亮红、绿、黄三种颜色的发光二极管作为东西南北四个路口的通行指示灯。

采用两组一位共阴极数码管作为四个路口的通行倒计时显示器,由于显示时间是一位数,所以数码管显示采用静态显示方式,这样可以实现较小的电流能得到较高的亮度。

方案一结构框图如下所示,按照这种结构设计,单片机端口资源刚好满足要求。

方案一各部分解释:

1.C89C51RC的引脚双列直插40只引脚按其功能来分,可分为3类:

(1)电源及晶振引脚:

Vcc、GND;XTAL1、XTAL2。

(2)I/O口引脚:

P0、P1、P2、P3。

(3)控制引脚:

P1.0~P1.7

2.两组数码管:

显示时间

3.四组红黄绿灯组

方案二:

采用40脚、片内带8kBFlashROM的AT89S52单片机作为控制核心,采用四组高亮单色发光二极管作为东西南北四个路口的通行指示灯,采用两组8*8点阵作为四个路口的通行倒计时显示器,点阵显示采用动态扫描方式。

方案二各部分解释:

1.AT89S52的引脚双列直插40只引脚按其功能来分,可分为3类:

(1)电源及晶振引脚:

Vcc、GND;XTAL1、XTAL2。

(2)I/O口引脚:

P0、P1、P2、P3。

(3)控制引脚:

P1.0~P1.7,RXD、TXD。

2.两组8*8点阵:

显示时间

3.四组红黄绿灯组

4.两个74HC573:

包含八进制3态非反转透明锁存器。

两种方案的特点比较如下:

方案一具有电路简单,设计方便,显示亮度高,耗电较少,可靠性高等特点;方案二的图案显示逼真,单片机占用端口资源少,缺点是需要大量的硬件,电路复杂,耗电量大,不太适合于模型制作;可见方案一优于方案二,因此本设计选用方案一:

采用数码管静态显示的方案进行设计。

方案一结构框图

方案二结构框图

3电路原理图的设计

采用LED的交通灯控制系统电路图,系统由控制模块、交通灯显示模块、时间显示模块、电源输入模块四部分组成。

3.1控制模块

(1)控制模块电路3-1所示。

主控制器采用STC89C51RC。

3-1控制模块电路

STC89C51RC的晶振及复位电路按任务要求设计电路,元器件参数如图3-1所示,晶振T1的频率为12MHZ。

P1.2~P1.4是控制东西方向的红黄绿灯,P1.5~P1.7是用于控制南北方向的红绿灯。

P0口、P2口分别是控制南北方向和东西方向的数码显示。

由于STC89C51RC是片内4KB的Flash程序存储器,所以片内外存储器选择引脚VDD接+5V电源。

(2)STC89C51RC各引脚

1、增强型CPU,单时钟,机器周期,指令代码完全兼容传统8051

2、工作电压:

5.5V

3、工作频率范围:

0~35MHZ,相当于普通8051的0~420MHZ

4、应用程序空间:

4KB

5、通行I/O,复位后为:

准双向口/弱上拉可设置成四种模式:

准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过100Ma

7、ISP/IAP,无需专用编辑器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序。

9、内部集成MAX810专用复位电路(晶振频率在24MHZ以下时,要选择高的复位门槛电压,如4.1V以下复位,晶振频率在12MHZ以下时,可选择低的复位门槛电压,如3.7V以下复位,复位脚接1K电阻接地)

10、内置一个对内部Vcc进行掉电检测电路,可设置为中断或复位,5V单片机掉电检测门槛电压为4.1/3.7V附近

11、时钟源:

外部高精度晶体/时钟,内部R/C振荡器,用户在下载程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。

常温下内部R/C振荡器频率为:

4MHZ~8MHZ。

精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准

12、2个16位定时器(与传统8051兼容的定时器/计数器,16位定时器T0和T1)

14、外部中断I/O口有5路,支持传统的下降沿中断或低电平触发中断。

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

WDT溢出将使该引脚输出高电平,设置SFRAUXR的DISRTO位可打开或关闭该功能。

DISRTO位缺省为RESET输出高电平打开状态。

ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。

PSEN:

程序储存允许(PSEN)输出时外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令时,每个机器周期两次PSEN有效,即输出两个脉冲。

当访问外部数据存储器,没有两次有效的PSEN信号。

EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器,EA端必须保持低电平。

XTAL1:

振荡器反相放大器及内部时钟发生器的输入端。

XTAL2:

来自反向振荡器的输出。

3.2交通灯显示模块

交通灯显示模块如图3-2所示。

交通灯采用高亮共阴红黄绿三色发光二极管,实现车辆南北通行,东西车辆停止或者实现车辆南北停止,东西车辆通行。

3.3时间显示模块

车辆通行剩余时间显示模块如图3-3所示。

路口通行剩余时间采用高亮红色共阳LED发光二极管显示时间。

3.4电源电路

电源电路如图3-4所示。

整个系统采用电源电压+5V。

3.5全红灯报警电路

电路如图3-5所示。

当四个路口的交通灯全为红灯时,发出报警声,提醒工作人员检查电路及元器件。

这个属于硬件扩展部分,目的是提高交通灯控制系统工作的可靠性,使系统调节车辆运输更加安全,也便于工作人员提前知道系统出现问题,便于维修,节约劳动成本。

 

 

3-2交通灯显示模块

3-3时间显示模块电路

图3-4

图3-5

4系统软件设计

4.1延时子程序

延时子程序只要负责赋值后,初值减1,直到减为0,当重新赋值,重复以上动作。

这是因为机器送数是很快的,系统来不及反应,人的肉眼无法识别出来,加上这段延时程序,可以是灯的闪烁时间达到肉眼可以识别的程度。

流程图如图4-1

图4-1延时程序流程图

4.2中断程序

通过中断程序,实现对交通灯的延时功能,实现交通灯的交替亮灭,使车辆正常通行。

中断程序实现了南北红灯从8s开始倒计时,东西绿灯从5s开始倒计时,之后黄灯从3s倒计时;东西红灯从8s开始倒计时,南北绿灯从5s开始倒计时,之后黄灯从3s倒计时。

实现了软件上的扩展,在实现原有功能的前提下,使系统更加的完善,更加符合交通运输的要求。

流程图如图4-2

图4-2中断流程图

中断程序:

voidint1()interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

time++;

if(flag==0)

{

if(time==20)

n1=1;

if(time>40)

{n1=0;

time=0;

}

}

if(flag==1)

{if(time%20==0)

{t1--;

t2--;

if(time==100)

{n0++;

t2=3;

}

if(time==160)

{n0++;

t2=8;

t1=5;

}

if(time==260)

{n0++;

t1=3;

}

if(time==320)

{n0=0;

time=0;

t1=8;

t2=5;

}

}

}

}

表4-2十字路口交通灯状态表

状态1

南北红灯亮5s

状态3

南北绿灯亮5s

东西绿灯亮5s

东西红灯亮5s

状态2

南北红灯亮3s

状态4

南北黄灯亮3s

东西黄灯亮3s

东西红灯亮3s

4.3主程序

主程序主要负责总体程序的管理,包括人机的管理与初始化两部分。

在这次设计中采用了动态扫描方式。

主程序的流程图如图4-3所示。

图4-3主程序流程图

4.4交通灯控制系统(一套)元件清单

器件名称

规格及尺寸

数量

器件名称

规格及尺寸

数量

单片机

STC89C51RC

1

电阻

220欧

12

晶振

12MHZ

1

LED灯

红色

4

微动开关

1

黄色

4

小的按键

立式

2

绿色

4

电容

30pf

2

插针

一排

电解电容

10uf

1

数码管底座

1排

排阻

1k

2

底座

40DIP

1

数码管

一位共阴极

2

覆铜板

10mm*11mm

1

三极管

S9013

1

小的LED灯

红色

2

蜂鸣器

1

USB口

1

电阻

10k

1

电阻

1k

2

5系统调试

5.1调试所用的软件

(1)KeiuVision3,主要是负责软件的输入及其调试,其软件截图如图5-1所示。

图5-1

(2)Protel99SE,主要是负责编辑电路及电路的仿真等,其软件截图如图5-2所示。

(3)STC-ISP,负责将以编程好的程序下载到单片机最小系统中,其软件截图如图5-3所示。

图5-2

图5-3

5.2调试过程遇到的问题

(1)交通灯显示正常,但是数码管显示不正常。

解决方法:

经过用万用表测量各条电路中的电流就电压值,知道是三极管的插脚放置的位置不对,经过网上查询三极管的插脚放置方法,重新调整焊接,经过测试数码管正常工作。

(2)交通的的显示没有实现其预定的功能

解决方法:

经过软件测试,证明是程序缺陷,通过软件调整程式,使其实现所要求的功能。

(3)蜂鸣器当红灯全红时,不响

解决方法:

经过用万用表测试电流与电压,发现其焊点不牢、电路断路,通过重新焊接,接接通电路,使其达到所需的功能。

5.3综合调试效果图

(1)自动控制部分

(2)手动控制部分

 

6总结

交通灯控制在交通系统中有着举足轻重的地位。

本次课程设计主要是基于单片机交通灯控制系统的设计。

主要步骤有:

系统方案的设计、系统硬件设计、软件编程与仿真调试等。

通过完成这次设计,使其实现了一下功能:

(1)通过交通灯方案的设计,实现了东西方向和南北方向的通行和停止状态和时间的分配;

(2)以STC89C51RC单片机为核心的硬件系统,实现了手动控制与自动控制。

手动控制实现了检测违规传感信号,蜂鸣器发出声音,提醒工作人员维修系统;自动控制实现了输出控制交通灯亮灭的状态及数码管的倒计时显示。

(3)在车辆通行系统中采用模糊控制方法,因此在设计时序调查车辆通行状况,在通过单片机控制器的相关算法以此来确定交通灯的亮灭时间。

 

谢辞

通过交通灯控制系统的设计,让我对单片机有了更深一步的了解。

单片机的重点主要在于相关算法的计算,从而进行相应的编程,我们学习理论上的知识,有时很难与实际联系,只有通过把所学的知识应用到实际中,编程只有在经常的学习以及应用中才能得到提高,有时理想中的编程不一定能实现我们想要的功能,只有通过不断的调试,方能使软硬件实现协调。

在设计电路中,首先要先画电路图进行仿真,之后再腐蚀铜板,得到所需要的电路。

但是的到的电路可能与所画的电路存在区别,可能是铜板在腐蚀过程中出现问题或者是在焊接过程中出现问题,在仿真过程中不成功的电路也有可能因为芯片本身的特性而成功。

所以,在设计过程中,需考虑芯片的选择及电路图的画法。

通过本次课程设计,巩固了单片机的基础理论知识。

在开始课程设计的时候,先将实习所需的知识先温习了一遍,这样可以唤醒所学的知识,对老师所讲的也能理解的更深刻一些,对后来的设计起到了很大的作用。

通过对芯片的选择,浏览了很多芯片说明书,关于芯片引脚有了更加清晰的了解。

其次学习了LED、单片机、导线等各种功能的电路。

课程设计,通过选择的题目,根据任务,运用所学的知识完成。

这并不是在课堂上单纯的听听,或者课后的深入理解,这是理论联系实际的过程。

理论知识往往是在一些理想状态下的假设,而实际的动手操作则完全不同,需要考虑实际中的很多问题,解决理论没有提到的很多问题。

有些知识在理论中没有错,但在实际中却行不通。

总而言之,在这次课程设计中学会了从不同的角度思考同一个问题,提出不同的解决方案,提高了解决实际问题的能力。

 

参考文献

[1]赵全利,单片机原理及其接口技术,机械工业出版社,2007

[2]蒋万君,在论循环时序电路的简单设计,机电一体化,2005

[3]周立功,增强型C51单片机速成与实战,北京航空航天大学出版社,2004

[4]何立民,单片机应用技术选编,北京航空航天大学出版社,2004

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

[6]李东生,Protel99SE电路设计技术入门与应用,电子工业出版社,2002

[7]谭博学,集成电路原理与应用,电子工业出版社,2008

[8]彭为,单片机典型系统设计实例精讲,电子工业出版社,2006

[9]谭浩强,C程序设计,清华大学出版社,1999

[10]胡文金,单片机应用技术实训教程,重庆大学出版社,2005

[11]童诗白,模拟电子技术基础,北京高等教育出版社,2005

[12]曹天汉,单片机原理与接口技术,电子工业出版社,2006

 

附录

附录一:

源程序代码

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitk0=P1^0;

sbitk1=P1^1;

ucharzid[]={0xdb,0xd7,0x6f,0xaf};//自动控制时的四种状态

ucharshoud[]={0xb7,0xff};//黄灯亮、灭

uchars0[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管显示0到9

uchars[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};//数码管显示0到9

ucharflag,n0,n1,t1=8,t2=5;

uinttime;

voiddelay(uintxms)//延时程序

{

uinti,j;

for(i=xms;i>0;i--)

{

for(j=110;j>0;j--);

}

}

voidmain()

{TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

while

(1)

{

if(k0==0)

{delay(10);

if(k0==0)//自动控制

{flag=1;

TR0=1;

P1=zid[n0];

P0=s0[t1];

P2=s[t2];

delay

(1);

}

}

else//手动控制

{

if(k1==0)

{

delay(5);

if(k1==0)//全红

{P1=0xcf;

P0=0xff;

P2=0xff;

TR0=0;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

delay

(1);

}

}

else//黄灯闪烁

{flag=0;

TR0=1;

P1=shoud[n1];

P0=s0[0];

P2=s[0];

delay

(1);

}

}

}

}

voidint1()interrupt1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

time++;

if(flag==0)

{

if(time==20)

n1=1;

if(time>40)

{n1=0;

time=0;

}

}

if(flag==1)

{if(time%20==0)

{t1--;

t2--;

if(time==100)

{n0++;

t2=3;

}

if(time==160)

{n0++;

t2=8;

t1=5;

}

if(time==260)

{n0++;

t1=3;

}

if(time==320)

{n0=0;

time=0;

t1=8;

t2=5;

}

}

}

}

附录二:

仿真电路图

(1)交通灯电路图

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

当前位置:首页 > 总结汇报

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

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