十字路口自动红绿灯指挥系统课程设计.docx

上传人:b****8 文档编号:11950760 上传时间:2023-06-03 格式:DOCX 页数:21 大小:713.55KB
下载 相关 举报
十字路口自动红绿灯指挥系统课程设计.docx_第1页
第1页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第2页
第2页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第3页
第3页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第4页
第4页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第5页
第5页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第6页
第6页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第7页
第7页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第8页
第8页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第9页
第9页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第10页
第10页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第11页
第11页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第12页
第12页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第13页
第13页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第14页
第14页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第15页
第15页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第16页
第16页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第17页
第17页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第18页
第18页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第19页
第19页 / 共21页
十字路口自动红绿灯指挥系统课程设计.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

十字路口自动红绿灯指挥系统课程设计.docx

《十字路口自动红绿灯指挥系统课程设计.docx》由会员分享,可在线阅读,更多相关《十字路口自动红绿灯指挥系统课程设计.docx(21页珍藏版)》请在冰点文库上搜索。

十字路口自动红绿灯指挥系统课程设计.docx

十字路口自动红绿灯指挥系统课程设计

 

课程设计(论文)

 

题目名称十字路口自动红绿灯指挥系统

课程名称综合电子课程设计

学生姓名

学号

系、专业信息工程系通信工程

指导教师

 

2013年12月27日

 

摘要

近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。

本设计的模拟交通灯系统是利用单片机AT89C52作为核心元件,实现了通过信号灯对路面状况的智能控制。

从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。

系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。

本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,通行时间调整和紧急处理等功能。

关键词:

AT89C52单片机、倒计时、循环显示

 

目录

第1章绪论1

1.1课题来源1

1.2课题研究的目的意义1

1.3课题研究内容1

第2章系统方案设计2

2.1总体设计方案方框图2

2.2方案论证3

第3章电路设计4

3.1工作原理4

3.2AT89C52介绍4

第4章程序设计6

4.1系统主程序设计6

4.2主函数7

4.3延时函数9

第5章系统仿真10

5.1PROTEUS简介10

5.2系统仿真10

5.3系统运行截图11

总结13

致谢14

参考文献15

附录一:

程序代码实现16

附录二:

系统实物图20

第1章绪论

1.1课题来源

由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:

交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大。

日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。

随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。

老师为了让我们深入了解并加强我们的实际操作能力,老师便提供课题十字路口自动红绿灯指挥系统的设计给我们这一组成员。

1.2课题研究的目的意义

(1)进一步熟悉和掌握单片机的结构和工作原理。

 

(2)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。

 

(3)通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。

 

(4)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。

(5)通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。

本次课程设计重点在于软件算法的设计及硬件的设计,需要有很巧妙的程序算法及硬件的焊接。

这次我们选了十字路口自动红绿灯的设计,使我们平时的学习运用到实践中去,让我们更加了解通信原理及单片机这两门课程,也让我们对这两门课程加以实践。

1.3课题研究内容

十字路口自动红绿灯指挥系统

主要要求及指标:

自动完成绿-黄-红-绿工作循环;每种信号灯亮的时间不等,如:

绿灯亮20秒-黄灯亮5秒-红灯亮15秒,如此循环;用倒计时的方法,数字显示当前信号的剩余时间,提醒行人和司机;信号灯的时间分别可调,以适应不同路口、不同路段交通流量的需求。

第2章系统方案设计

2.1总体设计方案方框图

复位P0.0-P0.7控制LED数码管

数字0-9的显示

P1.0-P1.2控制绿黄红灯P2.0-P2.1控制AD0-AD1

图2.1.1基于单片机的方案

单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。

本系统在此基础上,加入了紧急情况处理与时间调整功能。

图2.1.2系统的总体框图

据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块接受输出。

系统的总体框图如上所示。

单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。

在此过程中随时调用急停按键和时间调节中断。

2.2方案论证

2.2.1电源提供方案

为使模块稳定工作,须有可靠电源。

因此考虑了两种电源方案:

方案一:

采用独立的稳压电源。

此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。

方案二:

采用单片机控制模块提供电源。

改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

综上所述,我选择第二种方案。

2.2.2显示界面方案

该系统要求完成倒计时功能。

基于上述原因,我考虑了二种方案:

方案一:

采用数码管显示。

这种方案只显示有限的符号和数码字符,简单,方便。

方案二:

采用点阵式LED显示。

这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。

综上所述,我选择第一种方案。

2.2.3输入方案:

题目要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:

方案一:

采用8155扩展I/O口及键盘,显示等。

该方案的优点是:

使用灵活可编程,并且有RAM,及计数器。

若用该方案,可提供较多I/O口,但操作起来稍显复杂。

方案二:

直接在I/O口线上接上按键开关。

由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。

 

第3章电路设计

3.1工作原理

单片机最小系统。

一个AT89C52单片机做为控制电路,运用其P1口来控制六个LED彩灯,通过P1给LED彩灯输入不同的电平信号,来实现LED彩灯按要求点亮。

P3口接中断按钮。

LED数码管是由a、b、c、d、e、f、g、h这8段发光二极管组成的“8”字型显示器件,共阳极管数码显示电路,公共端接正,对应段为低电平发光,D00—D7与显示字型码关系如表3.1所示。

显示字符

0

1

2

3

4

5

6

7

8

9

D7

h

1

1

1

1

1

1

1

1

1

1

D6

g

1

1

0

0

0

0

0

0

0

0

D5

f

0

1

1

1

0

0

0

1

0

0

D4

e

0

1

0

1

1

1

0

1

0

1

D3

d

0

1

0

0

1

0

1

0

0

1

D2

c

0

0

1

0

0

0

0

0

0

0

D1

b

0

0

0

0

0

0

1

0

0

0

D0

a

0

1

0

0

1

1

0

0

0

0

显示编码

C0

F9

A4

D0

99

92

82

F8

80

90

表3.1.1共阳数码管字型码

3.2AT89C52介绍

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

如图3.2.1所示:

 

 

图3.2.1单片机最小系统

第4章程序设计

4.1系统主程序设计

图4.1.1主流程图

4.2主函数

voidmain()

{

SP=0x6f;

P0=0xff;

P2=0xff;

P1=0x00;

Init_Timer();

while

(1)

{

Seg_Disp();

if(time_Count==200)

{

time_Count=0;

ge--;

if(t==3)

{

P1=0x01;

if(ge==0)

{

t=2;

ge=5;//黄灯显示时间5s,即可以适应不同的路段

}

}

if(t==2)

{

P1=0x02;

if(ge==0)

{

t=1;

ge=15;//红灯显示时间15秒,即可以适应不同的路段

}

}

if(t==1)

{

P1=0x04;

if(ge==0)

{

ge=0;

t=0;

}

}

if(t==0)

{

P1=0x04;

if(ge==0)

{

t=3;

ge=20;//绿灯显示时间20s,即可以适应不同的路段

}

}

}

}

}

4.3延时函数

voiddelay(ucharz)

{

uchara,b;

for(a=0;a<150;a++)

{

for(b=0;b

}

}

4.4定时器初始化

voidInit_Timer()

{

TMOD=0x01;

TH0=(65536-5000)/256;

TL0=(65536-5000)%256;

ET0=1;

TR0=1;

EA=1

第5章系统仿真

5.1PROTEUS简介

Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。

因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。

对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。

运行proteus 的ISIS 程序后,进入该仿真软件的主界面。

在工作前,要设置view 菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。

通过工具栏中的p(从库中选择元件命令)命令,在pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source 菜单的Definecode generation tools 菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source 菜单的Add/removesource files 命令下,加入单片机硬件电路的对应程序;通过debug 菜单的相应命令仿真程序和电路的运行情况。

5.2系统仿真

图5.2.1系统仿真图

5.3系统运行截图

5.3.1绿灯显示20秒

 

图5.3.1绿灯显示20秒

5.3.2黄灯显示5秒

图5.3.2黄灯显示5秒

5.3.3红灯显示15秒

图5.3.3红灯显示15秒

 

总结

在这次实验中,我主要负责实物的制作,以及实验论文的总体设计与编排。

这次课程设计主要设计交通灯,让它自动完成绿-黄-红-绿工作循环,每种信号灯亮的时间不等,如:

绿灯亮20秒-黄灯亮5秒-红灯亮15秒,如此循环,用倒计时的方法,数字显示当前信号的剩余时间,提醒行人和司机,信号灯的时间分别可调,以适应不同路口、不同路段交通流量的需求,这在程序中体现,只要改变相应的数值就能实现。

回顾起此次单片机课程设计,我仍感慨颇多,学到了很多的东西。

同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没有学到过的知识。

在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定的出入的,所以有些问题不但要深入地理解,而且要不断地更正以前的错误思维。

一切问题必须要靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。

对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计中的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。

因此可以说单片机的设计是软件和硬件的结合,二者是密不可分的。

通过这次课程设计我发现单片机原理应用行很强,只看也不中,只有自己动手去做才会发现自己确实有太多的不足,许多的原理,程序看似简单,真正去做才知道知识并没有自己想象的那样扎实。

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

树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。

而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。

此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。

 

致谢

在此次设计中,黄老师作为我的指导老师,至始至终都给予我了不少帮助,从下任务书开始,就帮我制定规划,提醒我应注意的问题,借给我资料和实验器材,和我一起调程序,并提出了很多的修改意见以及完善方案。

此外还认真批阅了我的论文,指出其中很多瑕疵和不清晰的地方,更重要的是在我遇到困难时对我的鼓励,让我不懈怠、不退缩、也让我更有信心,可以说我的每一点进展都与黄老师的付出是分不开的。

当然还在此,我向身边关心我的老师、同学致以诚挚的谢意!

有其他老师和同学都帮了我不少忙,在此不再赘述。

谨祝老师们工作顺利,万事如意,桃李满天下;同学们学业有成,前程似锦!

 

参考文献

[1]赵晶.Protel99高级应用[M].人民邮电出版社,2006.

[2]谷树忠.ProtelDXP实用教程[M].电子工业出版社,2003.

[3]刘湘涛、江世民.单片机原理与应用[M].电子工业出版社,2006.

[4]孙育才.ATMEL新型AT89S51系列单片机及其应用[M].清华大学出版社,2005.

[5]李华.MCU-51系列单片机实用接口技术[M].北京:

北京航空航天大学出版社,1993.

[6]张迎新、雷道振.单片机初级教程[M].北京航天航空大学出版社,2006.

 

附录一:

程序代码实现

#include

#defineucharunsignedchar//定义为uchar类型

#defineuintunsignedint//定义为uint类型

ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//数码管显示0~9

uchart=3;

uchartime_Count;//进行计时

ucharge=21;//初始值,绿灯显示时间(21-1)s,即可以适应不同的路段

voiddelay(ucharz)//一个延时函数

{

uchara,b;

for(a=0;a<150;a++)

{

for(b=0;b

}

}

voidInit_Timer()//定时器的初始化

{

TMOD=0x01;

TH0=(65536-5000)/256;

TL0=(65536-5000)%256;

ET0=1;

TR0=1;

EA=1;

}

voidSeg_Disp()//将个位十位分别显示在数码管上面

{

P2=0xfe;

P0=table[ge%10];

delay

(1);

P2=0xfd;

P0=table[ge/10];

delay

(1);

}

voidmain()//程序运行的主函数

{

SP=0x6f;

P0=0xff;

P2=0xff;

P1=0x00;

Init_Timer();

while

(1)

{

Seg_Disp();

if(time_Count==200)

{

time_Count=0;

ge--;

if(t==3)

{

P1=0x01;

if(ge==0)

{

t=2;

ge=5;//黄灯显示时间5s,即可以适应不同的路段

}

}

if(t==2)

{

P1=0x02;

if(ge==0)

{

t=1;

ge=15;//红灯显示时间15秒,即可以适应不同的路段

}

}

if(t==1)

{

P1=0x04;

if(ge==0)

{

ge=0;

t=0;

}

}

if(t==0)

{

P1=0x04;

if(ge==0)

{

t=3;

ge=20;//绿灯显示时间20s,即可以适应不同的路段

}

}

}

}

}

voidtimer0()interrupt1using1//定时器0的操作计时

{

TH0=(65536-5000)/256;

TL0=(65536-5000)%256;

time_Count++;

}

 

附录二:

系统实物图

图5.4.1十字路口自动红绿灯指挥系统实物图

图5.4.2十字路口自动红绿灯指挥系统实物演示图

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

当前位置:首页 > 经管营销 > 经济市场

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

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