智能交通灯的设计4讲解.docx
《智能交通灯的设计4讲解.docx》由会员分享,可在线阅读,更多相关《智能交通灯的设计4讲解.docx(22页珍藏版)》请在冰豆网上搜索。
智能交通灯的设计4讲解
课程设计报告
题目:
智能交通灯控制
学生姓名:
王盼高
学生学号:
0908020236
系别:
自动化
专业:
自动化
届别:
2012届
指导教师:
苗磊
智能交通灯控制
学生:
王盼高
指导老师:
苗磊
电气信息工程学院:
自动化系
1课程设计的任务与要求
1.1课程设计的任务
用AT89C51单片机实现对交通灯的智能控制。
1.2课程设计的要求
本系统需要采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器,实现以下功能:
(1)初始东西绿灯亮,南北红灯亮,东西方向通车。
(2)南北红灯亮30秒,东西绿灯亮25秒。
(3)东西黄灯闪烁3次、5秒,南北路口绿灯亮同时东西路口红灯亮,南北方向开始通车。
(4)延时25,南北方向绿灯灭,黄灯闪烁3次,然后又切换成东西方向通车,如此重复。
(5)当发生交通意外(中断产生)时,全部亮红灯,进行交通事故的处理。
当事故处理完毕(再次按中断键),重新按上述方式工作。
(6)系统出现故障时可以按复位进行重启。
1.3课程设计的研究基础
本次课程设计是基于C语言程序设计、单片机、基于Proteus的51系列单片机设计与仿真等课程的理论基础上进行的。
2智能交通灯控制系统方案制定
2.1方案提出
方案一:
由于本系统为交通灯系统,重要的部分为控制部分,信号灯部分,及时间显示部分。
其中最重要的为控制部分,本方案中采用PLC做为控制器。
PLC控制器具有体积小、能耗低编程简单等优点,但其软件移植性差、运行速度慢、数据处理能力低等缺点。
图1方案一框图
方案二:
使用单片机作为控制单元,单片机价格较为低廉,可编程性和可扩展性强,而且单片机对数据的处理能力要强,可以与整个城市的交通系统组成大的智能的控制系统。
图2方案二框图
2.2方案比较
方案一:
使用PLC作为控制单元,将其与显示单元和交通灯连接在一起,再对PLC进行编程系统即可运行,而且其抗干扰能力差,但价格较贵且模拟运行不方便。
方案二:
使用单片机作为控制单元,编程简单,易于仿真实现。
成本低,且其扩展性和数据处理能力要比PLC强。
2.3方案论证
由于此次设计用于学习,能更好的仿真实现且成本较低的将作为首选,而单片机作为物廉价美、功能也符合设计要求将必然会成为此次设计的首选。
2.4方案选择
根据对两种方案的比较,方案二由于易于仿真,成本低,故而作为此次设计的最终选定方案。
3.系统方案设计
3.1各单元模块功能介绍及电路设计
交通灯单元:
使用Proteus元器件库中的交通灯,交通上有红黄绿三个灯,跟现实中智能交通灯控制路口的灯一样,红灯表示禁止通行、黄灯表示警告、绿灯表示允许通行。
其电路图如图所示:
图3交通灯
显示单元:
每个方向由一个两位的数码管显示时间,行人和过往车辆通过时间能更安全的在交通路口行驶。
其电路图如图所示:
图4数码管
控制单元:
本系统采用AT89C51单片机控制,单片机用来控制不同信号灯的显示以及时间显示,是整个控制系统的核心部分。
其电路如图所示:
图5单片机
3.2电路参数的计算及元器件的选择
在本系统中无电路参数需要计算,在系统的设计过程中选择交通灯是已有的交通灯而不用三中颜色的LED灯是为了使整个设计更美观。
3.3特殊器件的介绍
排阻:
是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。
所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。
排阻的作用:
内存芯片下方均匀分布的“芝麻粒”,实际上是位于内存颗粒和金手指之间的“排阻”。
排阻,是一排电阻的简称。
我们知道,内存在处理、传输数据时会产生大小不一的工作电流。
而在内存颗粒走线的必经之处安装一排电阻,则能够帮助内存起到稳压作用,让内存工作更稳定。
从而提升内存的稳定性,增强内存使用寿命。
内存右边角上的“小绿豆”,我们一般称之为SPD。
SPD是一存储体,它存储了厂商对内存的详细配置信息:
如内存的工作电压,位宽,操作时序等。
每次开机后自检时,系统都会首先读取内存SPD中的相关信息,来自动配置硬件资源,以避免出错。
上拉、限流。
和普通电阻一样,相比而言简化了PCB的设计、安装,减小空间,保证焊接质量。
排阻的实物图与在系统中的图示:
图6排阻
AT89C51单片机:
AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示
图7AT89C51外形及引脚排列
主要特性:
与MCS-51兼容
4K字节可编程FLASH存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24MHz
三级程序存储器锁定
128×8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路[2][4]
3.4系统整体电路图
图8整体电路图
4智能交通灯控制系统仿真和调试
4.1仿真软件介绍
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
功能特点
Proteus软件具有其它EDA工具软件(例:
multisim)的功能。
这些功能是:
1.原理布图
2.PCB自动或人工布线
3.SPICE电路仿真
革命性的特点
1.互动的电路仿真
用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
2.仿真处理器及其外围电路
可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。
还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。
配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。
[1][5]
4.2系统仿真实现
(1)HEX文件的生成
1)单击软件开发系统KeiluVision,单击“KeilnVision”菜单中的“Project”,在此下拉菜单中单击“NewProject”选项后,弹出“CreatNewProject”对话框,键入新项目名称。
然后在弹出的“SelectDevice”对话框中选择单片机的类型AT89C51。
2)单击“uVision”菜单中的“File”,在此下拉菜单中,选择“New”后,打开一个空的文本编窗口,在此窗口中键入程序,创建新的源程序“温度控制电机系统.C文件。
3)在左边的“Project”窗口的“File”页中单击文件组,再单击鼠标右键后,在弹出的窗口中选中“AddFilestoGroup‘SourceGroup1’”选项,将相应的源程序文件导入到“SourceGroup1”中。
4)在“Project”下拉菜单中,选择“OptionsforTarget”,将会弹出“OptionsforTarget”对话框,在此对话框中“Output”选项卡中的“CreateHEXFile”选项。
5)在“Project”下拉菜单中,选择“RebuildallTargetFiles”项,若程序编译成功将生成“温度控制电机系统.HEX”文件。
(2)调试与仿真[3]
1)在ProtuesISIS编辑窗口中,单击鼠标右键将AT89C51单片机选中并单击鼠标左键,弹出“EditComponent”对话框,在对话框的“ClockFrequency”栏中设置单片机晶振频率为11.0592Hz,在“ProgramFile”栏中单击图标
,选择之前生成的“温度控制电机系统.HEX”文件。
2)在ProtuesISIS编辑窗口的“File”菜单中选择“SaveDesign”选项,保存设计,生成“温度控制电机系统.DSN”文件。
3)在ProtuesISIS编辑窗口中单击
或在“Debug”菜单中选择
,运行结果如下图所示。
单击DS18B20中的
或
,表示外界温度发生变化,观察显示器和电机的变化是否符合要求。
4.3系统测试
在Proteus中画出本系统原理图,通过Proteus的仿真功能,可以得到与要求相符的结果。
(1)正常工作时:
图9正常工作
(2)当出现特殊情况时,可以临时暂停
图10特殊情况
4.4数据分析
通过对系统的整体测试,得到的结论是系统的整个运行都符合设计的要求。
5总结
5.1设计小结
本次实验采用了C语言编程方式,实现了交通灯的控制,完全达到了本次试验的要求,本次实验只是进行了仿真。
在本次实验中,我学习了很多平时不懂的知识。
在选题后,我复习了以前学习的单片机知识,并查阅了各种交通灯方面的知识,在开始动手之后我查阅了需要的芯片资料如AT89C51等。
在试验中我学会使用Protues软件的使用,以前的电路图是通过Protel来画出的,在设计中使用Produce软件时发现与Protel有许多相似的地方。
设计时画了系统的总体框图,可以更好的了解本次实验,是实验时思路更加清晰,可以及时的发现问题,改正问题。
通过本次毕业设计,我学到了很多,发现了自己的许多不足,恳请各位老师批评指正,以使我在以后的学习和实践中加以改进和提高。
5.1收获体会
通过这次交通灯的课程设计,使我得到了一次用专业知识、专业技能分析和解决现实问题的能力。
使我在单片机的基本原理、单片机应用学习过程中,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为一名合格的应用型人才打下良好的基础。
综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更深层次的理解和认识。
在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到解决。
还有交通灯是我们生活中非常常见的一种东西,对于我们学以致用的这种能力得到了很好锻炼,能够为我们以后的工作于学习打下基础。
由于本人的水平有限,设计中难免会有一些不合理的部分,系