交通灯课程设计.docx

上传人:b****4 文档编号:4082115 上传时间:2023-05-06 格式:DOCX 页数:29 大小:456.89KB
下载 相关 举报
交通灯课程设计.docx_第1页
第1页 / 共29页
交通灯课程设计.docx_第2页
第2页 / 共29页
交通灯课程设计.docx_第3页
第3页 / 共29页
交通灯课程设计.docx_第4页
第4页 / 共29页
交通灯课程设计.docx_第5页
第5页 / 共29页
交通灯课程设计.docx_第6页
第6页 / 共29页
交通灯课程设计.docx_第7页
第7页 / 共29页
交通灯课程设计.docx_第8页
第8页 / 共29页
交通灯课程设计.docx_第9页
第9页 / 共29页
交通灯课程设计.docx_第10页
第10页 / 共29页
交通灯课程设计.docx_第11页
第11页 / 共29页
交通灯课程设计.docx_第12页
第12页 / 共29页
交通灯课程设计.docx_第13页
第13页 / 共29页
交通灯课程设计.docx_第14页
第14页 / 共29页
交通灯课程设计.docx_第15页
第15页 / 共29页
交通灯课程设计.docx_第16页
第16页 / 共29页
交通灯课程设计.docx_第17页
第17页 / 共29页
交通灯课程设计.docx_第18页
第18页 / 共29页
交通灯课程设计.docx_第19页
第19页 / 共29页
交通灯课程设计.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

交通灯课程设计.docx

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

交通灯课程设计.docx

交通灯课程设计

 

《单片机技术》课程设计说明书

基于单片机的简易交通灯设计

院、部:

电气与信息工程学院

学生姓名:

方挣挣

指导教师:

桂友超职称讲师

专业:

电子信息工程

班级:

电子1004班

完成时间:

2013-6-4

 

摘要

 

对基于单片机的交通灯控制系统进行了设计。

系统功能为:

以MCS-51系列单片机作为控制核心,设计并制作交通灯控制系统,东西南北四个方向具有左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可转为特种车辆放行,其他车辆禁止通行状态。

在对系统功能分析的基础上,选择性能较优的LED动态循环显示方案进行了设计。

设计包括硬件和软件两大部分。

硬件部分包括单片机最小系统、交通灯显示二部分。

选用Atmel公司的AT89S52单片机作为控制核心,东西南北四个方向设置了LED时间显示和交通灯显示,时间显示采用二位LED显示器,交通灯显示则采用红绿黄三种高亮发光二极管来模拟。

软件采用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时显示子程序、交通灯模拟显子程序四部分。

关键词:

单片机;AT89S52;交通灯

 

ABSTRACT

TrafficlightcontrolsystembasedonSCM(SingleChip

Microcomputer)isdesignedinthispaper.Systemrequiresthat

MCS-51seriesSCMisusedasCPU.Trafficlightcontrolsystem

shouldbedesignedandmade.Therearefourgroupslightwhich

indicatetoturnleft,turnright,andgostraightaheadand

pedestrianaccessineast,west,northandsouthfour

directions.Timershowstrafficconversionremaindertime.

Whenspecialvehicles,suchas119,120gothrough,thesystem

canautomaticallyallowspecialvehiclesrunningandother

vehiclesisprohibited.

Basedonanalysisofthesystemfunctions,threeschemesareputforward.Bycomparison,LEDdynamiccycledisplayscheme

hasbetterfunctionsanditisselectedtobedesigned.The

designincludeshardwarepartandsoftwarepart.Hardwarehas

threeparts.TheyareSCMsystem,LEDtimedisplay,traffic

lights.AT89S52SCMisselectedascontrolCPU.LEDdisplayand

trafficlightsaresetineast,west,northandsouthfour

directions.ThreeLEDmonitorsareusedtoshowtime.Highlight

andred-greentwoclortrafficlightsareusedastraffic

lights.Softwareisdesignedbymodule.Itisdividedintomain

program,timerinterruptingservicesubroutine,LEDdisplay

subroutine,trafficdisplaysubroutine.

Keywords:

scm;AT89S52;trafficlight

 

1设计课题任务、功能要求说明及总体方案介绍

1.1设计课题任务与功能要求

设计一个具有特定功能的十字路口交通灯。

该交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

按开始键则开始工作,按结束键则返回“P.”状态。

要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。

有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。

1.2设计课题总体方案介绍及工作原理说明

本设计采用单片机以及其外部设备组成硬件电路,其中包括单片机、数码管显示器、按键。

数码管的P0口接段控,P2口接位控。

键盘接在P1口上。

除此之外还有晶振电路,复位电路,电源电路和下载口电路。

方案设计框图如图1所示:

 

图1系统设计框

2设计课题硬件系统的设计

2.1设计课题硬件系统各模块功能简要介绍

2.1.1主控制系统模块

图2.1.1主控制系统模块

2.1.2按键电路

图2.1.2按键电路

按键电路的设计就是在一端公共接地,另一端通过上拉电阻接到P1口,当有按键按下,相应的口就会变成低电平,产生一个下降沿。

2.1.3流水灯电路

图2.1.3流水灯电路

流水灯电路直接挂接在单片机的P3口上,采用共阳接法。

2.1.4数码管电路

图2.1.4数码管电路

数码管的段控口接在单片机的P0上,而位控口通过三极管接在单片机的P2口上。

2.1.5下载口电路

图2.1.5下载口电路

下载口的1脚接P1.5口,2脚悬空,3脚接单片机的复位口,4脚接P1.7口,5脚接P1.6口,6脚接vcc,7、8、9、10脚接地。

3设计课题软件系统的设计

3.1设计课题软件系统各模块功能简要介绍

3.1.1数码管显示子程序

显示函数主要完成数码管的动态显示,将相应的段控码送往P0口,相应的位控码送往P2口。

实现显示需要的字符信息。

3.1.2延时子程序

其中包括延时1ms函数。

延时函数在显示函数中用到,由于时间比较短,就采用纯软件的方法延时。

3.1.3主程序

主函数是程序的入口,在主函数中一直键扫描,当没有键按下时一直保证显示P点。

当S1键按下后,开启交通灯;当S2键按下后,关闭交通灯,当S3键按下后,是应急车道通车。

3.1.4初始化函数

初始化函数主要是对定时计数器0、定时计数器1的一些设置和中断的一些控制。

3.1.5定时器0中断函数

函数是对交通灯主通道和次通道进行定时,以刷新数码管显示;还控制黄、绿、红灯的显示。

3.1.6定时器1中断函数

此函数主要是对应急事件10s的定时,以及对主、次通道黄灯闪烁的定时控制。

3.2设计课题软件系统程序流程框图

3.2.1主程序流程图

 

图3.2.1主程序流程图

 

3.2.2数码管显示函数流程图

 

 

图3.2.2数码管显示函数流程图

 

3.2.3定时器中断0函数流程图

图3.2.3定时器0中断函数流程图

 

3.2.4定时器中断1函数流程图

图3.2.4定时器1中断函数流程

 

4设计结论及体会

4.1设计课题的设计结论及使用说明

本次课程设计完成了交通灯所要求的基本功能,经测试,也看到了各灯亮的情况。

在设计过程中,遇到了很多困难,但积累了许多宝贵经验。

本次设计中,S1键按下后,开启交通灯;当S2键按下后,关闭交通灯,当S3键按下后,是应急车道通车。

4.2设计课题的误差分析

该交通灯在运行中存在一定的误差。

由于编程时采用的是定时器定时,时间不能保证的很精确,因此会产生一定的误差。

同时也存在很多硬件系统上的问题。

如12MHZ晶振,虽说频率稳定度很高,但终究还是有误差的。

并且也有外部因素的影响,如温度温度、湿度等干扰。

故应该让单片机工作在适宜的环境下,同时采用实时时钟芯片,这样能将误差降低到最小。

 

4.3仿真结果图

图4.3.1上电显示班级、学号

图4.3.2应急时间

图4.3.3红灯等待时间

4.4实物结果图

图4.4.1上电显示班级、学号

图4.4.2通车时间

 

图4.4.3红灯等待时间

图4.4.4应急时间

 

4.5心得体会

第一,在编写软件中,在此过程中我更为熟练得掌握汇编语言各种指令的使用方法,掌握了keil软件的使用。

第二,在软件调试过程中,使我又一次复习了keil和proteus联合使用的方法。

在调试时曾经遇到数码管倒计时显示时间两位不能同时显示,后来经过查找资料不断调试才领悟到原来在显示的过程中要循环显示才能使得显示稳定下来。

第三,通过这次课程设计,我掌握了用单片机设计交通灯的基体方法,增强了我寻找问题,解决问题的能力。

培养了我的设计思维,此次课程设计的成功不仅帮助我更好地掌握书本知识,尤其重要的是增强了我的自信,培养了我独立思考的能力。

但是此次设计不中之处是不能实现左右弯灯,不有人行道控制灯,不能进行流量控制。

 

结束语

本次课程设计的过程是艰辛的,不过收获却是很大的。

本次课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。

在此,由于自身能力有限,在课程设计中碰到了很多的问题,但通过查阅相关书籍、资料以及和周围同学交流后都得以一一解决。

由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。

但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则效率还不是很高等等,这需要在实践中进一步完善。

 

致谢

 

本课题在选题及进行过程中得到了桂友超老师的指导以及同学的热心帮助,在这里特意感谢在课程设计中帮助过我的老师和同学们。

感谢桂老师的严格要求,严教之下才会更加认真的去学,将知识归于己用,所以很感谢桂老师。

在此,谨向老师们致以衷心的感谢和崇高的敬意!

另外,还要感谢所有同学对我的指导和帮助,是他们不厌其烦的帮助我学习自己不懂的东西。

正是由于他们的帮助才让这此课程设计最终可以顺利有效的做完。

 

参考文献

[1]李广弟、朱月秀、冷祖祁,《单片机基础》,北京航空航天大学出版社。

[2]华成英童诗白,《模拟电子技术基础(第四版)》,高等教育出版社。

[3]康华光,《电子技术基础数字部分(第五版)》,高等教育出版社。

[4]杨居义,《单片机课程设计指导》,清华大学出版社。

 

附录A

 

图A1电路原理图

 

图A2PCB图

 

附录B

表1设计所用元器件清单

序号

名称、大小

数量

1

电阻200Ω

1个

2

电阻470Ω

24个

3

电阻1KΩ

3个

4

电阻4.7KΩ

1个

5

电容22μF

1个

6

电容33pF

2个

7

18B20

1个

8

AT89S52

1个

9

单排插

40个

11

四位一体共阳极数码管

2个

12

LED

9个

13

PNP

9个

14

四脚按钮

9个

15

六脚开关

1个

16

USB电源接口

1个

17

下载口

1个

18

晶振12MHz

1个

 

附录C

/*项目名称:

交通灯*/

/*时间:

2013.6.1*/

/*作者:

方挣挣*/

/*P2口位控口,P0口段控口,P1口按键,P3口发光二极管*/

/********************************************************************/

#include

#defineucharunsignedchar

#defineuintunsignedint

/*共阳数码管字型码数组*/

/*0,1,2,3,4,5,6,7,8,9,P.,灭*/

charcodedis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x21,0xff};

/*共阳数码管位控码数组(从右往左点亮,反向驱动)*/

charcodeweikong_code[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

charfind_code[8];

sbitS2=P1^0;//S1键启动交通灯控制器

sbitS3=P1^1;//S2键回归“班级”状态

sbitS4=P1^2;//S3键处理紧急状况

uchartime;

voidDelayX1ms(uintcount)//1ms延时函数

{

uintj;

while(count--!

=0)

{

for(j=0;j<80;j++);

}

}

/*********************显示函数*****************************/

voiddisp()

{

chari;

chark;

for(i=0;i<8;i++)

{

P2=weikong_code[i];

k=find_code[i];

P0=dis_code[k];

DelayX1ms

(1);

}

}

/********************1s延时********************************/

voiddelay1s()

{

TMOD=0X01;

EA=1;

ET0=1;

TH0=0x3C;//定时器定时50Ms

TL0=0XB0;

TR0=1;

PT0=1;

do{disp();}while(time!

=20&&S3&&S4);//有条件转移

TR0=0;

time=0;

}

voidtime_()interrupt1//中断程序

{

time++;

TH0=0x3C;

TL0=0XB0;

}

/********************500ms函数********************************/

voiddelay500ms()

{

TMOD=0X01;

EA=1;

ET0=1;

TH0=0x3C;

TL0=0XB0;

TR0=1;

PT0=1;

do{disp();}while(time!

=10);//有条件转移

TR0=0;

time=0;

}

/**************************紧急函数**************************/

voidjinji()

{

ucharf;

for(f=10;f>0;f--)

{

P3=0x6F;

find_code[1]=f/10;

find_code[0]=f%10;

delay500ms();

delay500ms();

disp();

}

}

/**********************主函数******************************/

voidmain()

{

while

(1)

{

charm,a;//上电显示“班级、学号”状态

TR0=0;

find_code[0]=9;

find_code[1]=1;

find_code[2]=10;

find_code[3]=4;

find_code[4]=0;

find_code[5]=0;

find_code[6]=1;

find_code[7]=11;

disp();

while(!

S2)

{

TR0=1;

find_code[0]=12;

find_code[1]=12;

find_code[2]=12;

find_code[3]=12;

find_code[4]=12;

find_code[5]=12;

find_code[6]=12;

find_code[7]=12;

while(S3)

{

P3=0XAF;

for(m=60;m>0&&(S3);m--)

{

if(!

S4)

jinji();

find_code[1]=m/10;

find_code[0]=m%10;

delay1s();

disp();

}

for(a=3;a>0&&S3;a--)

{

if(!

S4)

jinji();

find_code[1]=a/10;

find_code[0]=a%10;

P3=0xeF;

delay500ms();

P3=0xcF;

delay500ms();

disp();

}

P3=0X77;

for(m=30;m>0&&(S3);m--)

{

if(!

S4)

jinji();

find_code[1]=m/10;

find_code[0]=m%10;

delay1s();

disp();

}

for(a=3;a>0&&S3;a--)

{

if(!

S4)

jinji();

find_code[1]=a/10;

find_code[0]=a%10;

P3=0X7F;

delay500ms();

P3=0X7B;

delay500ms();

disp();

}

}

P3=0xFF;

}

}

}

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

当前位置:首页 > 自然科学 > 物理

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

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