湖北理工学院基于单片机的交通灯控制系统设计汇总.docx

上传人:b****3 文档编号:10316356 上传时间:2023-05-25 格式:DOCX 页数:30 大小:330.49KB
下载 相关 举报
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第1页
第1页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第2页
第2页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第3页
第3页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第4页
第4页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第5页
第5页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第6页
第6页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第7页
第7页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第8页
第8页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第9页
第9页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第10页
第10页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第11页
第11页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第12页
第12页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第13页
第13页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第14页
第14页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第15页
第15页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第16页
第16页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第17页
第17页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第18页
第18页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第19页
第19页 / 共30页
湖北理工学院基于单片机的交通灯控制系统设计汇总.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

湖北理工学院基于单片机的交通灯控制系统设计汇总.docx

《湖北理工学院基于单片机的交通灯控制系统设计汇总.docx》由会员分享,可在线阅读,更多相关《湖北理工学院基于单片机的交通灯控制系统设计汇总.docx(30页珍藏版)》请在冰点文库上搜索。

湖北理工学院基于单片机的交通灯控制系统设计汇总.docx

湖北理工学院基于单片机的交通灯控制系统设计汇总

湖北理工学院

电气与电子信息工程学院

《基于单片机的交通灯控制系统设计》

 

课设名称:

 单片机课程设计 

专业名称:

  电气工程及其自动化            

班级:

电气工程及其自动化

学  号:

     

姓名:

指导教师:

  胡蔷黄磊  

课设时间:

201X.12.14-201X.12.25

课设地点:

K2-407单片机、微机原理实验室

电气与电子信息工程学院

《单片机课程设计》任务书

2015~2016学年第1学期

学生姓名:

专业班级:

指导教师:

胡蔷黄磊工作部门:

电气学院电气自动化教研室

一、课程设计题目:

基于单片机的交通灯控制系统设计

1.电机控制

6.篮球比赛计分器

2.简易电子琴设计

7.密码锁控制

3.公交车报站器设计

8.交通信号灯控制

4.键盘花样彩灯控制

9.温度控制系统

5.数码显示抢答器控制

10.自选

二、课程设计内容

1.根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进行方案论证和电路设计,完成仿真操作。

要求概念清楚、方案合理、方法正确、步骤完整;

2.熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;

3.熟练使用单片机汇编语言或C51进行软件设计;

4.熟练使用Proteus、Keil软件进行仿真电路测试;

5.熟练使用Protel软件设计印刷电路板;

6.学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;

7.编写设计报告,参考毕业设计论文格式。

(1)根据课题要求确定系统设计方案;

(2)绘制系统框图、系统仿真原理图(印刷电路板图),列出元器件明细表;

(3)计算电路参数和选择元器件,画出软件框图,列出程序清单;

(4)打印仿真结果,根据测试结果进行误差分析与修改调整;

(5)对设计进行全面总结。

 

三、进度安排

1.时间安排

序号

内容

学时安排(天)

1

方案论证和总体设计

2

2

硬件设计测试

2

3

软件设计

2

4

仿真测试及PCB设计

2

5

答辩

2

合计

5

设计指导地点:

K2-407单片机、微机原理实验室

2.执行要求

单片机应用课程设计共9个选题,学生可自选课题。

每组不超过2人,为避免雷同,在设计中每个同学所采用的方案不可一样。

四、课程设计考核办法与成绩评定

根据过程、报告、答辩等确定设计成绩,成绩分优、良、中、及格、不及格五等。

评定项目

基本内涵

分值

设计过程

考勤

10分

答辩

回答问题情况

20分

实物或仿真测试

正常无故障运行

20分

设计报告

完成设计任务、报告规范性等情况

50分

90~100分:

优;80~89分:

良;70~79分:

中;60~69分,及格;60分以下:

不及格

六、课程设计参考资料

[1]黄鑫,马善农,赵永科.基于CPLD的电子琴研究与设计[J].科技广场,2007

[2]吴金戌,沈庆阳,郭庭吉,8051单片机实践与应用[M].清华大学出版社,2001

[3]龙威林,杨冠声,胡山.单片机应用入门:

AT89S51和AVR[M].北京:

化学工业出版社,2008.

[4]张毅刚,MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2004

[5]李朝青.单片机原理及接口技术[M].北京:

北京航天航空大学出版色,2001

 

指导教师:

胡蔷黄磊

201X年11月8日

目录

引言4

一、交通灯控制系设计5

1.1设计功能5

1.2交通灯控制系统硬件组成5

1.3AT89C52单片机及外部晶振电路6

1.4动态数码管显示电路7

1.5信号灯8

1.6按键控制电路9

二、软件设计10

2.1主程序流程图10

2.2主程序11

三、仿真调试13

四、设计总结15

五、参考文献16

引言

随着我国经济的发展,私家车的数量突飞猛进,导致交通问题日益严重,尤其大中型城市的城市交通,更面临着严峻的考验。

使得城市交通问题越来越引起人们的关注,人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。

世界上最早的交通信号控制系统是1963年建于加拿大多伦多的交通信号检测与控制系统。

也是城市交通管理系统的一个雏形。

相继出现的城市道路中心式交通控制系统在美国、欧洲和日本等国逐渐形成。

传统的交通信号灯采用白炽灯作为发光部件, 存在耗电量大、亮度不够、容易损坏等缺点, 给道路交通管理带来一些不便。

发光二极管( LED) 具有发光亮度高、颜色鲜艳醒目、电光转换效率高、耗电量少、寿命长、响应时间快等优点。

采用超高亮度 LED 的新型交通灯比传统交通灯在各项性能上都有很大提高, 整机可靠性大大提高, 随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,也成为目前广泛采用的方法,在国内外得到广泛应用。

城市道路交通自动控制系统的发展是以城市交通信号控制技术为前导,与汽车工业并行发展的。

在其各个发展阶段,由于交通的各种矛盾不断出现,人们总是尽可能地把各个历史阶段当时的最新科技成果应用到交通自动控制中来,从而促进了交通自动控制技术的不断发展。

早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。

世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,1868年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但一次煤气爆炸事故致使这种交通信号灯几乎销声匿迹了近半个世纪。

1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。

1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点。

交通控制研究的发展,旨在解决人类交通因需求的增多而日益繁重带来的问题,局限于道路建设的暂时不足和交通工具的快速增长,就要使更多的车辆安全高效的利用有限的道路资源,避免因无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪,另外,针对整个交通线路车辆的多少实时调整和转移多条线路的分流也十分必要。

交通网络是城市的动脉,象征着一个城市的工业文明水平。

交通关系着人们对于财产,安全和时间相关的利益。

具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行舒畅,物流准时到位,甚至是生命通道的延伸。

一、交通灯控制系设计

1.1设计功能

东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。

红灯亮禁止通行,绿灯亮允许通行。

黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。

1基本部分:

按照上述控制要求,用发光二极管代替交通灯,用软件绘制电路图,可以实现红绿灯的转换以及控制路口的基本功能并仿真调试实现之。

2其他部分:

功能一:

有倒计时时间显示。

功能二:

有倒计时功能和最后三秒南北红灯东西黄灯(东西红灯南北黄灯)闪烁的功能。

功能三:

当出现紧急情况时可以控制交通灯南北通行、东西禁行或者南北禁行、东西通行以及全部禁行。

功能四:

可以模拟车流量的变化从而改变东西南北通行时间的变化。

图1-1档位对应图

 

1.2交通灯控制系统硬件组成

本控制系统主要由紧急按键电路,晶振电路,LED显示电路,信号灯电路等组成。

其中,复位采用上电复位和人工开关复位,使系统在启动运行时能够部件都置于一个确定的初始状态。

晶振电路主要功能是AT89C52芯片定计时的。

七段数码管显示电路的作用是显示各车道的通行时间,以使司机能够更好的把握能否通行。

其中单片机AT89C52是本系统的核心器件,它的价格便宜,可靠性高,实用性强,安装简便,在现实中广泛使用。

本系统组成框图如下

图1-2系统组成框图

1.3AT89C52单片机及外部晶振电路

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

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

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

每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。

晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。

在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。

高级的精度更高。

有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。

晶振的作用是为系统提供基本的时钟信号。

通常一个系统共用一个晶振,便于各部分保持同步。

有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。

图1-3单片机晶振原理图

1.4动态数码管显示电路

数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。

本次实验使用的是共阳数码管,公共端是D8、D9,公共端置1,则某段选线置0相应的段就亮。

公共端D8控制左面的数码管;公共端D9控制右面的数码管。

左图为数码管的引脚、段选线和数据线的对应关系为:

图1-4数码管相关原理图

1.5信号灯

如图所示信号灯使用了十二个发光二极管来代替。

发光二极管采用共阳极接法并且串连一个限流电阻;阴极则接入单片机P1口,通过P1口来控制信号灯的亮灭。

图1-5信号灯组成图

1.6按键控制电路

按键电路主要是当出现紧急状况时使用的他包括:

1.南北通行东西禁行

2.东西禁行南北通行

3.全部禁行

4.复位

5.车流量模拟按钮

图1-6按键原理图

 

二、软件设计

2.1主程序流程图

 

图2-1主程序流程图

程序采用C语言进行编程设计,为了增加程序的可读性我们采用模块化结构。

1.主程序模块:

主要完成系统初始化以及相关子程序的调用。

2.定时中断服务程序模块:

用来产生0.5秒和1秒的定时信号,每定时一秒数码管的数值进行减一操作。

3.数码管扫描显示子程序:

为9位数码管动态显示提供驱动信号,通过P0和P2口来输出;其中P0口为段选口,低电平有效,P2口为位选口,高电平有效

4.外部中断0服务程序模块:

该模块主要用来处理车流量变化时来调整南北和东西向的通行时间的长短,通过外部按键来模拟实现。

5.外部中断1服务程序模块:

紧急情况处理程序,当按下外部按键时可以实现任意方向通行禁行或者全部禁行。

2.2主程序

voidmain()

{

TMOD=0x01;

TH0=(65536-50000)/256;//定时器计数初值

TL0=(65536-50000)%256;

ET0=1;

EX0=1;

IT0=1;

EX1=1;

IT1=1;

TR0=1;

EA=1;

P1=0xed;

while

(1)

{

if(TR0!

=0)

{b1=nb/10;

b2=nb%10;

c1=dx/10;

c2=dx%10;

P0=tab[d];

P27=1;

delay(256);

P27=0;

P0=tab[b1];//数码管显示输出

P20=1;

delay(256);

P20=0;

P0=tab[b2];

P21=1;

delay(256);

P21=0;

P0=tab[c1];//数码管显示输出

P22=1;

delay(256);

P22=0;

P0=tab[c2];

P23=1;

delay(256);

P23=0;

}

else

{

P20=0;

P21=0;

P22=0;

P23=0;

}

}

}

三、仿真调试

通过前面的软硬件结合设计后我们需要对设计好的系统进行仿真调试以检验是否能够达到设计的基本要求和功能.

图3-1东西通行图3-2南北通行

 

图3-3东西通行40秒图3-4南北通行20秒

图3-5黄灯亮图3-6黄灯灭

 

图3-7南北通东西禁图3-8南北禁东西通

四、设计总结

这次课程设计历时整整两个星期。

通过这两个星期的课程设计,我发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。

在课程设计过程中,光有理论知识是不够的,还必须懂一些实践中的知识。

这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。

刚开始的时候,我们就分配好了各自的任务,然后我们积极查询相关资料,并且经常聚在一起讨论各个方案的可行性。

在课程设计中只有一个人知道原理是远远不够的,必须让每个人都知道,否则一个人的错误,就有可能导致整个工作失败。

团结协作是我们成功的一项非常重要的保证。

而这次设计也正好锻炼我们这一点,这也是非常宝贵的。

本次课程设计也巩固和加深了我对电子线路基本知识和理解,提高了综合运用所学知识的能力,增强了根据课程需要选学参考资料,查阅手册、图表和文献资料的自学能力。

然后深入研究,提出方案,对比后得出最终的可行方案。

同时我也初步学习到了关于课程设计的基本方法、步骤和撰写设计论文的格式。

通过本次课程设计基本达到了设计预期要求实现了交通灯控制系统的正常运行。

当然在设计过程中我们也遇到了各种各样的问题,经过反复的要思考,一遍一遍的检查和调试最终克服了出现的这些问题。

由于能力有限,该交通灯控制系统设计还有许多不足的地方可以改进。

希望大家可以提出宝贵的意见和建议,最后由衷的感谢我们的指导老师。

五、参考文献

[1]黄鑫,马善农,赵永科.基于CPLD的电子琴研究与设计[J].科技广场,2007

[2]吴金戌,沈庆阳,郭庭吉,8051单片机实践与应用[M].清华大学出版社,2001

[3]龙威林,杨冠声,胡山.单片机应用入门:

AT89S51和AVR[M].北京:

化学工业出版社,2008.

[4]张毅刚,MCS-51单片机应用设计[M].哈尔滨工业大学出版社,2004

[5]李朝青.单片机原理及接口技术[M].北京:

北京航天航空大学出版色,2001

电气与电子信息工程学院

《基于单片机交通灯控制系统设计》成绩评定表

姓名

学号

专业班级

电气工程及其自动化

课程设计名称:

单片机课程设计

答辩或质疑记录:

1.在设计采用定时几以及工作方式?

答:

在本课程设计中采用定时器T0,工作在方式一,一个十六位的定时器。

2.定时器每次定时时间是多少?

答:

定时器每次定时时间为50毫秒,进入中断20次相当于1秒。

3.相位是什么?

答:

一个十字路口的两个方向的直行和左转都完成后所用的时间和过程称之为相位。

相位是根据各个路口的车流量经过计算后来定的。

所以每个路口的相位不一样。

开始先是测算流量,测算一个时间段内各个方向的各种交通流量(行人、非机动车、机动车)的流量以及最高峰流量。

然后根据交通流量的规律来计算它们运行所需要的时间,然后才确定每个路口红灯和绿灯的时间,进而确定相位。

成绩评定依据:

平时表现(10%):

课设报告(50%):

操作能力(20%):

答辩情况(20%):

最终评定成绩(以百分制评定)

 

附件

 

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitP10=P1^0;sbitP11=P1^1;

sbitP12=P1^2;sbitP13=P1^3;

sbitP20=P2^0;sbitP21=P2^1;

sbitP22=P2^2;sbitP23=P2^3;

sbitP24=P2^4;sbitP25=P2^5;

sbitP26=P2^6;sbitP27=P2^7;

bitt=0,t1;

 

ucharcodetab[]={0xc0,0xf9,0xa4,

0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//显示码

uchara=0,b1,b2,c1,c2,d=0;

charnb=30,dx=30,d1=30,d2=30,d3=30,d4=30,t2=0;

voiddelay(uintx)

{

uinti,j;

for(i=0;i

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

}

 

voidmain()

{

TMOD=0x01;

TH0=(65536-50000)/256;//定时器计数初值

TL0=(65536-50000)%256;

ET0=1;

EX0=1;

IT0=1;

EX1=1;

IT1=1;

TR0=1;

EA=1;

P1=0xed;

while

(1)

{

if(TR0!

=0)

{b1=nb/10;

b2=nb%10;

c1=dx/10;

c2=dx%10;

P0=tab[d];

P27=1;

delay(256);

P27=0;

P0=tab[b1];//数码管显示输出

P20=1;

delay(256);

P20=0;

P0=tab[b2];

P21=1;

delay(256);

P21=0;

P0=tab[c1];//数码管显示输出

P22=1;

delay(256);

P22=0;

P0=tab[c2];

P23=1;

delay(256);

P23=0;

}

else

{

P20=0;

P21=0;

P22=0;

P23=0;

}

 

}

}

 

voidint0()interrupt0

{

d++;

if(d==1)

{

d1=20;//南北20东西40

d2=20;

d3=40;

d4=40;

}

if(d==2)

{

d1=25;//南北25东西35

d2=25;

d3=35;

d4=35;

}

 

if(d==3)

{

d1=35;//南北35东西25

d2=35;

d3=25;

d4=25;

}

if(d==4)//南北40东西20

{

d1=40;

d2=40;

d3=20;

d4=20;

}

if(d==5)

{d=1;

d1=20;//南北20东西40

d2=20;

d3=40;

d4=40;

}

 

}

voidint1()interrupt2

{

TR0=0;//关掉定时器

if(P24==0)

{

P1=0xde;

}

 

if(P25==0)

{

P1=0xed;

}

 

if(P26==0)

{

P1=0xcf;

}

}

voidtime0()interrupt1

{

TH0=(65536-50000)/256;//定时器计数初值

TL0=(65536-50000)%256;

a++;

if(a==10)

{

a=0;

t2++;

if(t2==2)

{

t2=0;

nb--;

dx--;

}

//东西黄灯闪烁//

if(dx==3&&t==0&&t2==1)

{

P1=0xe7;//亮

}

if(dx==2&&t==0&&t2==0)

{

P1=0xef;//灭

}

if(dx==2&&t==0&&t2==1)

{

P1=0xe7;

}

if(dx==1&&t==0&&t2==0)

{

P1=0xef;

}

if(dx==1&&t==0&&t2==1)

{

P1=0xe7;

}

if(dx==0&&t==0&&t2==0)

{

P1=0xef;

}

if(dx==0&&t==0&&t2==1)

{

P1=0xe7;

}

 

//南北黄灯闪烁//

if(nb==3&&t==1&&t2==1)

{

P1=0xdb;//亮

}

if(nb==2&&t==1&&t2==0)

{

P1=0xdf;//灭

}

if(nb==2&&t==1&&t2==1)

{

P1=0xdb;

}

if(nb==1&&t==1&&t2==0)

{

P1=0xdf;

}

if(nb==1&&t==1&&t2==1)

{

P1=0xdb;

}

if(nb==0&&t==1&&t2==0)

{

P1=0xdf;

}

if(nb==0&&t==1&&t2==1)

{

P1=0xdb;

}

//重置计数初值

if(nb<0||dx<0)

{

if(t1==1)

{

t1=!

t1;

nb=d3;

dx=d4;

}

else

{

nb=d1;

dx=d2;

t1=!

t1;

}

if(t==1)

{P1=0xed;}//东西通行

else

{P1=0xde;}//南北通行

t=!

t;

}

}

}

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

当前位置:首页 > 解决方案 > 学习计划

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

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