CHANGZHOU INSTITUTE OF TECHNOLOGY科研实践题目:基于单片机的测速器设计二级学院(直属学部):延陵学院专业:电气工程及其自班级:10电Y1 学生姓名:叶翔学号:10120731 指导教师姓名:范力旻职称:副教授2013年12月30日至2014年1月10日1.绪论 (3)1.1 课题研究背景及意义 (3)1.2 课题研究的内容 (3)2.测速器的系统概论 (5)2.1 系统的主要功能 (5)2.2 系统需求分析 (5)2.3 测速器的工作流程 (5)3总体设计方案 (8)3.1 单片机的选择 (8)3.1.1单片机的引脚功能介绍 (8)3.2测速器方案论证 (9)3.2.1方案的提出 (9)3.2.2方案的比较及确定 (11)4.硬件设计 (12)4.1总体设计结构图 (12)4.2最小系统电路设计 (12)4.2.1时钟频率电路图 (12)4.2.2复位电路图设计 (13)4.3输入电路设计 (16)4.3.1键盘电路的设计 (16)4.3.2功能键系统设计 (16)4.4输出电路设计 (17)4.4.1数码管显示电路 (17)4.4.2报警电路的设计 (18)5.Proteus仿真 (19)5.1 proteus软件的介绍及使用 (19)5.2测速器proteus软件的仿真 (19)6.实物制作 (22)6.1电路板焊接 (22)6.2电路板调试 (22)7.总结和展望 (23)7.1科研实践总结 (23)7.2对未来的展望 (23)附录 (24)1.参考文献 (24)2.元器件清单 (24)3原理图 (26)4实物图 (27)5.程序代码(C语言): (28)1.绪论1.1 课题研究背景及意义随着汽车工业和高速公路建设的发展,每年由各种交通事故造成的人员伤亡数目惊人,造成了巨大的经济损失。
据统计,造成各种交通事故的主要原因是车辆的超载和超速行驶,而后者随机性很大,纠章困难,而且由于中国公路条件复杂,不同等级的公路允许的最高速度不同,现有的限速装置难以适应这种情况。
针对这种状况,开发具有智能决策模块的汽车。
近年来随着科技的飞速本设计是发展,为了克服传统模拟车速显示仪表显示数不准确及没有超速提示的缺点,数字化仪表迅速的进入汽车仪表行业,成为一种趋势,本文从驾驶员自身安全角度出发,设计了一种检测车辆超速的报警系统。
该报警系统允许驾驶员通过自带键盘设置本车辆安全行驶的最高速度当车辆处于行驶状态中,该系统通过速度传感器时刻监测机动车辆。
并通过LED显示车辆的实际车速和用户设置的安全参数.当发现车辆速度超过驾驶员设置的最高值时,蜂鸣器开始报警,警告灯不断闪烁,提醒驾驶员减速。
达到防患于未然的目的。
单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。
此设计就是一种利用8051单片机对机动车超速行驶情况进行蜂鸣报警和灯光报警的系统。
该系统结构简单,可靠性高,操作方便,可广泛应用于摩托车、汽车等机动车辆。
1.2 课题研究的内容本文要求设计一个具有数字显示功能的单片机系统,实现车辆当前速度输出,当达到所设定的速度上限时并报警,以保证驾驶人员的人身安全。
首先要进行系统的总体方案设计,在设计中一般应考虑以下几点:(1) 遵循从整体到局部的设计原则。
在过程中,应遵循从整体到局部的设计原则,把复杂难处理的问题分为若干个较为简单的、容易处理的问题,分别加以解决。
(2) 经济性要求。
为了获得较高的性能价格比,设计时不应盲目追求复杂高级的方案。
在满足性能指针的前提下,应尽可能采用简单的方案,因为方案简单意味着所用的元器件少,可靠性高,而且比较经济。
(3) 可靠性要求。
所谓可靠性是指产品在规定的条件下和规定的时间内完成规定功能的能力。
可靠性指针除了可用完成功能的概率表示外,还可以用平均无故障时间、故障率、失效率或平均寿命等来表示。
2.测速器的系统概论2.1 系统的主要功能软件分为主程序、数据处理子程序、按键子程序、中断服务子程序、LED数码显示子程序、声光报警器报警程序等。
主程序主要完成硬件初始化、子程序调用以及显示、报警等功能。
数据处理子程序主要完成监测车辆速度即主要是计算出车辆的时速,为报警子程序提供参考数据;按键中断子程序主要实现合法参数的输入;报警子程序主要实现在车辆超速行驶状态下发出报警信号,包括SPEAKER输出子程序和警报灯的闪烁子程序;显示子程序设计采用数字化显示用户设定的最高时速和车辆实际时速,用MAX7219芯片驱动LED进行动态显示2.2 系统需求分析1. 利用霍尔传感器产生里程数的脉冲信号。
2. 对脉冲信号进行计数。
实现:利用单片机自带的计数器T1对霍尔传感器脉冲信号进行计数。
3. 对数据进行处理,要求用LED显示里程总数和即时速度。
实现:利用软件编程,对数据进行处理得到需要的数值。
最终实现目标:自行车的速度里程表具有里程、速度测试与显示功能,采用单片机作控制,显示电路可显示里程及速度。
2.3 测速器的工作流程对于本课题所研制的车速报警系统而言,其基本出发点就是利用现有工艺条件,采用现代计算机软件处理技术,提高系统的精度等级和工作的稳定性,拓展其功能,并赋予其智能化特征,使报警器不仅能够及时准确地显示车辆的当前速度信息,同时尽可能地减少不必要的人工操作,使报警能随时随地不间断进行并保证报警的工作效率。
有鉴于此,同时根据系统的要求,确定系统总设计方案如图所示:抢答器工作流程图如图2-1所示开始初始化初始化T0关中断接收传感信号开中断按键输入Vm计算车速V>V声光报警显示结束图2-1 速度仪工作流程图工作过程描述:因条件有限改选为使用按键测速,计数器T1计算每按键一次所用的时间t,就可以计算出即时速度v。
当里程键按下时,里程指示灯亮,LED切换显示当前里程,与当速度键按下时,速度指示灯亮,LED切换显示当前速度。
当显示当前速度超过设定上限速度,便产生报警提示。
3总体设计方案3.1 单片机的选择ATMEL公司的89C52单片机,是增强型RISC内载Flash的单片机,芯片上的Flash存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易,更新换代方便。
89C52单片机采用增强的RISC结构,使其具有高速处理能力,在一个时钟周期内可执行复杂的指令,每MHz可实现1MIPS的处理能力。
89C52单片机工作电压为2.7~6.0V,可以实现耗电最优化。
由于单片机的种类很多,在选择单片机时要依据实际设计要求选择合适的单片机。
例如当设计仅仅需要一个单片机定时器那么选择89C1051或89C2051即可,而不选择89C52,因为后者的价格较高一些。
当然若程序和数据区的要求较高那么选择的单片机还要满足程序空间的要求。
表3-1 51和52的比较定时器中断数据存储器程序存储器51128B 4KB 2 5 系列256B 8KB 3 8 52系列在本课题中,由于程序代码生成的.HEX格式的文件大小可能大于4KB,所以选用52系列单片机,即选用ATMEL公司的AT89C52。
3.1.1单片机的引脚功能介绍AT89C52是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K Bytes的可反复擦写的只读程序存储器(EPROM)和256 字节的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大,AT89C52单片机适合于许多较为复杂控制场合应用。
图3-2 AT89C52引脚图AT89C52提供以下标准功能:8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,5个中断源,一个全双工串行通信口,片内具有振荡器及时钟电路。
AT89C52管脚图如图3-2所示。
3.2测速器方案论证车速报警系统系统组成主要由单片机控制模块、霍尔传感器、LED数码显示器及声光报警器组成。
针对任务要求,我们发现此项设计在单片机接口芯片以及按键电路上有不同的选择。
因此,设计方案的比较主要对此展开。
3.2.1方案的提出方案一:采取通过带有I/O接口和计时器的静态RAM8155芯片与设定速度的键盘电路,速度显示电路,8155芯片具有256个字节的RAM,两个8位、一个6位的可编程I/O口和一个14为计数器。
系统的硬件电路简图如图1-1所示。
图3-3 系统硬件电路简图霍尔传感器用来产生脉冲方波,键盘输入用来设定限制速度,当车速超过最大速度Vm 时,声光报警电路将发出报警信号。
单片机外部中断口接霍尔传感器的输出,车轮每转一圈产生一次INT0中断请求,单片机对INT0中断请求的次数进行计数。
并将在1秒内的计数值转换成机动车的时速,送至显示缓冲区以供显示程序调用。
具体算法如下:设单片机每秒计数值为n ,即n r/s 。
设机车车轮的周长为d m ,则机车的时速V=d ×n ×3.6km/h 。
硬件电路方框图霍尔传感器的输出信号经AT89C51的INT0口输入并存储在内部R0M 中,AT89C51外扩一片8155芯片,其PB 口作为LED 数码管的段选线,PA4~PA0作为LED 的位选线和键盘的列线,PCO 和PC1口作为键盘的行线,从而组成10个按键的键盘。
AT89C51的P2.6口外接三极管放大器用来驱动声光报警电路,P2.6不断地输出101010⋯⋯ 的高低电平,驱动声光报警电路报警。
只要使声光报警电路报警重复输出256Hz 及350Hz 的叫声各0.73s ,便可以模拟警车的叫声,产生警示作用。
机车的上限速度Vm 通过键盘设置并存储起来。
单片机检测霍尔传感器输出的信息,计算出机车当前的速度v ,并送LED 显示。
当V ≥Vm 时,控制声光报警电路报警发出警示音。
8键盘 输入LED 数码机车霍尔 AT89S52单片机节气门开方案二:利用高集成化的串行输入/输出的共阴极LED驱动显示器MAX7219及按键电路实现。
MAX7219芯片用来显示当前及设定速度,当速度超过最大速度Vm时,声光报警电路发出报警,按键设定用来设定报警速度(最大速度Vm)。
3.2.2方案的比较及确定方案一和方案二比较,方案一采用8155芯片使用单片机引脚较多,采用键盘电路较复杂,而且只能显示当前速度,驾驶员对速度上限透明度不高,总体电路较复杂;方案二采用的MAX7219是一个高集成化的串行输入/输出的共阴极LED驱动显示器,每片可驱动8位7段加小数点的共阴极数码管,可以数片级联,而与微处理器的连接只需3根线,且速度设定只需通过几个按钮实现即可,并且可以实时实现速度上限的增减,因而硬件电路简单,人眼视觉效果好,可以方便的为驾驶员提供信息,易于实现维护,且MAX7219内部设有扫描电路,除了更新显示数据时从单片机接收数据外,平时独立工作,极大地节省了MCU有限的运行时间和程序资源。