精编完整版基于单片机的交通灯毕业论文报告Word文档下载推荐.docx
《精编完整版基于单片机的交通灯毕业论文报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《精编完整版基于单片机的交通灯毕业论文报告Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
![精编完整版基于单片机的交通灯毕业论文报告Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2023-1/26/72e9f3bf-b1e7-408f-a151-c306830acb0e/72e9f3bf-b1e7-408f-a151-c306830acb0e1.gif)
(4)撰写课程设计报告
3.撰写课程设计报告
课程设计报告内容包括题目、摘要、目录、正文、结论、致谢、参考文献等。
学生在完成上述全部工作之后,应将全部内容以先后顺序写成设计报告一份,阐述整个设计内容,要求重点突出、特色鲜明、语言简练、文字通畅,字迹工整。
报告书以A4纸打印,装订成册(文字不少于3000字)。
目录
目录3
摘要:
4
1.设计任务要求及目的5
1.1设计任务5
1.2基本要求5
1.3设计目的5
2.设计思路6
2.1设计原理:
6
2.2设计方案及其总体设计框图6
3.交通灯控制系统的硬件设计7
3.1系统硬件电路构成及外部硬件件的选取7
3.2系统工作原理8
3.3单片机小系统的基本组成及硬件图11
3.4外围电路工作原理及系统硬件图11
4.系统软件程序的设计14
5.课程设计心得体会15
参考文献16
附录:
17
摘要:
实现这井然秩序靠的是交通信号灯的自动指挥系统的交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51和可编程并行IO接口芯片80C51为中心器件来设计交通灯控制器,完成对A、B道上均有车辆要求通过时各自顺时放行;
在一道有车而另一道无车和有紧急车辆要求通过时,系统做出正确应急控制。
本系统实用性强、操作简单、扩展功能强。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,本系统还应根据具体硬件结构软硬件结合加以完善。
1.设计任务要求及目的
1.1设计任务
(1)单片机最小系统的焊制并以其为核心,设计制作一个交通灯控制系统。
(2)按设计要求使用Proteus软件绘制电路图。
(3)编写相应程序,按要求实现相应控制。
(4)已编写的程序用Proteus仿真,对程序进行反复调试。
(5)按要求撰写课程设计报告。
1.2基本要求
1.3设计目的
(1)使学生基本电子元器件加深了解,并掌握各个器件对物理量的的识别和检测方法。
(2)提高学生的动手能力,并在实践中巩固升华理论知识。
(3)熟练应用相应软件如Proteus等对电路的设计和仿真。
(4)在熟练掌握单片机的基本原理同时能将其应用于系统的设计。
提高学生的动手兴趣,激发自主学习意识并在理论知识应用中使创新意识得到培养。
2.设计思路
本次课程设计是基于单片机的道路交通灯的设计,需要掌握KEIL及Proteus等仿真软件,在开始课程设计的时候我们要理解并掌握单片机的基本原理和使用、开发技巧。
根据设计任务要求选择相应器件,根据所需要实现的功能编写程序,之后进行软件仿真运行联调,验证系统是否完成相应功能,完成预期效果。
经过方案对比筛选,可以选用AT89C52单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,车流量检测传感器采集流量数据,光敏传感器捕获违规信号,若干按键组成时间设置和模式选择按钮和紧急按钮等,以及用1个蜂鸣器进行报警。
2.2设计方案及其总体设计框图
(1)温度计设计系统流程图
单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。
本系统在此基础上,加入了违规检测电路和车流量检测电路为单片机采集数据,单片机对此进行具体处理,及时调整控制指挥,为了超越视觉指挥的局限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。
程序设计流程图如图1所示。
图1设计流程图
3.交通灯控制系统的硬件设计
3.1系统硬件电路构成及外部硬件件的选取
本系统以单片机为核心,组成一个集车流量采集、处理、自动控制为一身的闭环控制系统。
系统硬件电路由车流量检测电路、单片机、违规检测电路,状态灯,LED显示,按键,蜂鸣器组成。
其中P0,P1,用于送显两片LED数码管,P2用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P3.2即INT1接违规检测电路和紧停东西时间设置键J,P3.3即INT1接车流量检测电路,P3.6接南北时间设置键S,P3.7接自动模式选择返回键F,P3.4接蜂鸣器。
AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S52具有如下特点:
40个引脚,8kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入输出(IO)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通口,此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
图2AT89S52引脚图
3.2系统工作原理
系统上电或手动复位之后,系统等待模式选择设置键按下,模式分两种:
红绿灯时间自动和红绿灯时间设置。
若此时F键按下,则设置为自动模式,若此时按下的是S键,则设置为时间设置模式,依次按S若干次,J键若干次可设置好两个方向的红绿灯时间,再按F键确认。
其实这个过程就是将存储时间值的寄存器进行设置,以及标志是否要进行车流量检测及调整。
接下来,系统必须先显示状态灯及LED数码管,将状态码值送显P2口,将要显示的时间值的个位和十位分别送显P0和P1口,在此同时以50ms为周期,用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。
时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,
当然,还要开启两个外部中断,其一为违规信号或禁停信号输入,一旦信号有效,中断开始,进入中断服务子程序,开启蜂鸣器禁止全部通行,当按下F键,中断结束返回。
其二为车流量检测信号输入,若检测到车辆经过,进入相应的中断子程序,将存储车流量的寄存器加1,然后中断结束返回。
每满一个状态循环周期,若为自动模式,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的。
如图3所示。
图3基于单片机的交通灯控制系统电路图
3.3单片机小系统的基本组成及硬件图
图4单片机小系统的基本组成及硬件图
3.4外围电路工作原理及系统硬件图
为了达到对红绿灯的时间控制,需要对道路上的车流量进行检测。
本次设计用一种手动的操作方式,即车流量的检测电路用拨断开关代替。
其基本思路为:
当车流量大时,有拨断开关送出一个高电平。
另外,再单片机和坡度按开关之间加了光电隔离。
基于光电隔离的作用,再加上拨断开关和LED,为了避免干扰信号,可以加入光电耦合器。
如图所示,当开关状态如图所示时,LED点亮,同时低电平被单片机捕获。
当开关拨下时LED熄灭,同时高点平被单片机捕获,这样单片机通过捕获的
电平状态做出相应的控制,与LED的状态即车流量的状态互相配合协调。
电路上电后,进入普通模式。
按K0时,A道通车,按K1时,B道通车。
按K2时,所有道禁行,按”恢复”后,电路进入普通模式。
图5外围电路工作原理及系统硬件图
图6外围电路工作原理软件仿真图
4.系统软件程序的设计
全部控制程序实际上分为若干模块:
键盘设置处理程序,状态灯控制程序,LED显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。
整个软件程序方面主要分两大部分:
按键处理程序和50ms扫描程序。
流程图如图6所示。
图7系统总的流程图
5.课程设计心得体会
本次对交通灯的课程设计,使我对单片机的设计有进一步的了解,我发现单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,这些只有我们去试着做了,才能真正的掌握,只学习理论有些东西是很难理解的并且意识到要理论联系实际,把我们所学的理论知识用到实际当中,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。
要设计一个电路总要先用仿真仿真成功之后才实际接线的。
但是最后的成品却不一定与仿真时完全一样,因为,再实际接线中有着各种各样的条件制约着。
而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。
所以,在设计时应考虑两者的差异,从中找出最适合的设计方法。
从本次实践首先,巩固了单片机基础理论知识。
这次课程设计主要是单片机设计的一些相关知识,在整个实习过程中,都离不开对单片机技术课程知识的再学习。
我在最开始,就先将实习用到的知识通过翻阅数电书回顾了一遍,这样的回顾让我对知识的理解更加透彻,对后来的快速设计起了很好的铺垫作用。
而且还参考了数字电路实验指导书,关于芯片的管脚,里面有清晰的描述。
其次,学会用LED、单片机、导线等组装各种功能的电路。
虽然这不是第一次用电路板,因为之前的课内实验也用过,但当时的运用也只是插些集成模块和电阻电容之类的,用了电路板的很小部分。
最后是理论联系实际。
据老师介绍,这是大学里一次比较大型的动手实践机会。
课程设计,通过选择的题目,根据要求,运用所学知识将其付诸实践来完成。
这并不是在课堂上的单纯听懂,或者课后看书过程中的深入理解,这需要的是一种理论联系实践的能力。
理论知识往往都是在一些理想状态下的假设论,而实际的动手操作则完全不同,需要考虑实际中的很多问题。
有些知识在理论上可能完全没错但到了实际中则不然。
总而言之,在本次课程设计中收获最大的就是----学会从不同角度思考同一个问题,提出不同的解决方案,从而提高解决实际问题的能力。
参考文献
[1]曹天汉,单片机原理与接口技术,电子工业出版社,2006
[2]科技教育创新中国科技信息2010年第11期
[3]童诗白.模拟电子技术基础[M].北京:
高等教育出版社,2005.
[4]臧春华.电子线路设计与应用[M].北京:
高等教育出版社,2005.
[5]邱关源罗先觉.电路(第五版)[M].北京:
高等教育出版社,2006.
[6]阎石.数字电子技术(第五版)[M].北京:
高等教育出版社,2005.
[7]张阳天韩异凡ProtelDXP电路设计[M].北京:
高等教育出版社,2005
附录:
#include<
reg52.=P2^5;
sbitbred=P2^4;
sbitbyellow=P2^3;
sbitbgreen=P2^2;
sbitkey0=P3^5;
sbitkey1=P3^6;
sbitkey2=P3^7;
sbitjinji=P3^4;
sbitfuwei=P1^7;
unsignedcharshijian=0,shanshuo=0,xuanzeshu=1;
voidmain()
{
TMOD=0X01;
IE=0X82;
TR0=1;
P2=0X00;
while
(1)
{
if(key0==0)
{
TR0=0;
ared=0;
bred=1;
ayellow=0;
byellow=0;
agreen=1;
bgreen=0;
jinji=1;
}
if(key1==0)
TR0=0;
ared=1;
bred=0;
agreen=0;
bgreen=1;
jinji=1;
if(key2==0)
jinji=0;
if(fuwei==0)
xuanzeshu=1;
}
}
voidt0int()interrupt1
switch(xuanzeshu)
case1:
ared=0;
byellow=0
;
if(++shijian!
=100)
return;
shijian=0;
xuanzeshu=2;
break;
case2:
if(++shijian!
=8)
shijian=0;
ayellow=1;
if(++shanshuo!
=4)
shanshuo=0;
xuanzeshu=3;
case3:
=80)
xuanzeshu=4;
case4:
if(++shijian!
byellow=1;
=4)
return;
xuanzeshu=1;
电气信息工程系单片机课程设计成绩评定表
课题名称
设计任务与要求
1.基本要求
设计和调试一个交通灯控制程序。
(3)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2开关模拟,有紧急车时UINT0为高电平。
指导教师评语
成绩:
指导教师: