您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 单片机课程设计(多路超声波测距离)
单片机课程设计课题:超声波测距离系别:电气与信息工程学院专业:电子信息工程姓名:陈元威学号:093411118河南城建学院2014年01月01日成绩评定·一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。二、评分评分项目设计报告评分答辩评分平时表现评分合计(100分)任务完成情况(20分)课程设计报告质量(40分)表达情况(10分)回答问题情况(10分)工作态度与纪律(10分)独立工作能力(10分)得分课程设计成绩评定班级姓名学号成绩:分(折合等级)指导教师签字年月日电子信息工程093411118陈元威1一、设计目的1、培养学生正确的设计思想,提高学生理论联系实际的能力,增强严肃认真、实事求是的科学态度和勇于探索的创新精神。2、锻炼学生自学软件的能力及分析问题、解决问题的能力。3、巩固、深化和扩展学生的理论知识与初步的专业技能。二、设计要求1、设计一个超声波测距器,用于汽车倒车、建筑施工工地以及一些工业现场的位置控制;2、要求测量范围在0.10~4.00米,测量精度1厘米,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。三、总体设计本方案以stc89c52为核心,通过编程(C语言)来实现该单片机对外围电路的适时控制,并提供给外围电路各种所需的信号和接收超声波反射回来的微小信号,包括频率振荡信号,时钟信号,数据处理信号和显示信号等等。其核心功能是对距离的检测并实时的进行距离的显示,在检测距离方面通过发射端与接收端的时间差来计算,理论上所测距离与其时间差成线性关系,所以可以通过线性回归统计方法求出实际距离与所求距离的关系。该电路简化了一些外围电路,任能做到较为精确的测量工作,由于是采用程控操作,所以其移植性和可扩展性还是较好。在设计时分,分模块进行设计来实现各部分功能,简化了在设计过程中的调试难度。3.1、超声波测距的原理谐振频率高于20kHz的声波称为超声波。超声波为直线传播方式,频率越高,反射能力越强,而绕射能力越弱。利用超声波的这种特性,常常用渡越时间检测法进行距离的测量。其工作原理是:换能器向介质发射超声波,声波遇到目标后必然有反射回波作用在换能器上。若已知介质中声速为c,回波到达时刻与发射波时刻的时间差为t,就可以计算出发射点与反射点的距离s:s=c.t/2(1)3.2、超声波传感器的工作原理为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。总体上电子信息工程093411118陈元威2讲,超声波发生器可以分为两大类:即用电气方式和机械方式产生超声波。前者包括压电型、磁致伸缩型和电动型等;后者有加尔统笛、液哨和气流旋笛等。它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同,目前较为常用的是压电式超声波发生器,压电式超声波换能器是利用压电晶体谐振来工作的。内部结构如图1所示,它有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动产生超声波,这时它就是超声波发生器;如没加电压,当共振板接受到超声波时,将压迫压电振荡器作振动,将机械能转换为电信号,这时它就成为超声波接受转换器。超声波发射转换器与接受转换器其结构稍有不同。图1、超声波传感器结构以下为型号T/R40-10的超声波传感器的特性参数(T--发射,R--接收,40--中心频率单位kHZ,10--外壳直径单位mm)四、各部分电路的设计4.1、各单元模块功能介绍及电路设计该系统是以STC89C52型单片机为主体而搭建的,外部连接有时钟电路和复位电路,1602液晶显示屏和4个超声波测距模块,结构清晰,总体电路模块框图如下图2:电子信息工程093411118陈元威3图2、总体电路模块框图工作原理:超声波测距器工作原理:打开电源,整个电路通电,单片机执行程序,对系统环境初始化,设置定时器T0工作模式,启动T0,调用超声波发生子程序,等待反射超声波,计算距离,显示距离;重复。工作过程中,相关的子程序和中断程序被执行,相应硬件配合行动,显示测量结果。4.2、STC89C52型单片机介绍STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得ST89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。ST89C52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,ST89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。其引脚图如图3所示:STC89C52单片机电源电路复位电路时钟电路超声波发射模块超声波接收模块1602液晶显示电子信息工程093411118陈元威4P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0不具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p3输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用。第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)电子信息工程093411118陈元威5P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)图3、单片机芯片和其引脚图4.3、各个模块间的连接4.3.1、系统设计该系统是以STC89C52型单片机为主体而搭建的,外部连接了时钟电路、复位电路、1602液晶显示屏和4个超声波测距模块。(1)、单片机单片机的型号是STC89C52,其主要外部I/O连接如下:P0.0-P0.71602显示端口P2.0-P2.21602读\写控制P1.1、P1.3、P1.5、P1.7发波端P1.0、P1.2、P1.4、P1.6接收端电子信息工程093411118陈元威6图4、单片机模块4.3.2、电源电路1KR1D1LEDVCC321654KvccVCC图5、电源模块4.3.3、时钟电路图6、时钟模块电子信息工程093411118陈元威74.3.4、复位电路图7、复位模块4.3.5液晶显示电路图8、液晶显示模块4.3.6测距电路vcc1trig2echo3gng4gnd5csb1vcc1trig2echo3gng4csb2vcc1trig2echo3gng4csb3vcc1trig2echo3gng4csb4vccvccvccvccGNDP1.0P1.2P1.4P1.6P1.1P1.3P1.5P1.7图9、超声波测距的电路电子信息工程093411118陈元威8图10、超声波测距模块(1)工作原理a采用IO口TRIG触发测距,给至少10us的高电平信号;b模块自动发送8个40KHZ的方波,自动检测是否有信号返回;c有信号返回时,通过IO口ECHO输出一个高电平,高电平持续时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速)/2。(2)引脚定义VCC:供5V电源,TRIG:触发控制,信号输入,ECHO:回响信号输出,OUT:开关量输出(当报警模块使用),GND:为地线。五、软件和硬件的设计5.1、软件设计分析完成了系统的硬件设计之后,接下来的就是系统软件设计,此设计所需要完成的主要是针对系统功能的实现及数据的处理和应用。由以上所述系统硬件设计和各个电路功能,系统软件需要实现以下功能:1、信号控制。在系统硬件中,已经完成了发射电路、回拨检测接收电路的设计。在系统软件设计中只需完成发射脉冲信号及输出显示。2、数据存储。测距系统中需要得到发射信号与接收回波的时间差,需要读出计时器的计数值,然后存储在RAM中,而且每次发射周期的开始,需要对计数电子信息工程093411118陈元威9器清零,以备后续处理。3、信号处理。RAM中存储的计数值并不能作为距离值直接显示出来,有这个时间后,可以通过程序来计算出来。4、距离显示。5.2、软件设计思路超声波软件测距软件设计主要由主程序,发射子程序,外部中断接收子程序及显示子程序。程序可以由汇编和C来编写,汇编语言虽然有很高的效率和精确度,但使用起来比较难以掌握,本文主要采用C语言程序来完成各个功能。5.2.1、主程序主程序流程图如图11所示。主程序首先对系统环境初始化,设置T0工作模式为16位的定时器模式,及计数初值,然后使超声波发射出一串40kHZ的方波。由于采用12MHZ的晶振,机器周期为1us,当主程序检测到接收成功的标志位后,将计数器T0的数(即超声波来回所用的时间)按公式计算可测得被测物体与测距仪之间的距离,测出距离后结果在液晶屏显示,然后再循环进行下一次距离的测量。图11、主流程图结束系统初始化计算测量结果调用测距子程序调用显示子程序开始电子信息工程093411118陈元威105.2.2、超声波测距子程序超声波发射子程序在P1.1(为例)口产生40kHZ方波脉冲宽度约12us,作为超声波发射器的输出信号。一旦接收到超声波返回信号后(INT0引脚出现低电平),就立即进入中断程序。进入中断程序后就立即关闭定时器,T0停止计时,并将接收到的标志位为1,,然后在主函数里调用计算距离公式,在显示出来。流程图如图12:图12、子程序流程图5.2.3超声波延时子程序在传感器以脉冲发射方式工作下,电压很高的发射电脉冲在激励传感器的同时也进入接收部分,此时,在短时间内放大器的放大倍数会降低,甚至没有放大作用,这种现象成为阻塞。不同的检测仪阻塞成都不一样。根据阻塞区内的缺陷回波高度对缺陷进行定量会使结果偏低,甚至不能发现障碍物,这是需要注意的。发射超声波计算检测结果启动时钟开始计时时钟停止计时外部0是否有中断开始返回NY电子信息工程093411118陈元威11由于发射脉冲自身有一定的宽度,加上放大器有阻塞问题,在靠近发射脉冲一段时间范围内,所要求发现的缺陷往往不能被发现,这段时间成为盲区。延时子程序的作用就是在超声波发射的同时延迟一些时间,在打开中断,为了就是防止在超声波发射时接收器就收到发射波,这样就会产生错误,产生
本文标题:单片机课程设计(多路超声波测距离)
链接地址:https://www.777doc.com/doc-2594638 .html