




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子信息工程系毕业论文江阴职业技术学院毕业论文课题:超声波测距仪的设计与实现 专 业 学生姓名 班 级 学 号 指导教师 完成日期 摘 要超声波具有指向性强,能量消耗慢,传播距离较远等优点,所以在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种。它广泛应用于建筑施工,防盗,倒车,水位测量以及一些工业现场。本设计采用以STC89C52单片机为核心的低功耗,高性能,微型化液晶显示的超声波测距仪的硬件电路和软件设计方法。系统的设计主要包括两部分:即硬件电路和软件部分。硬件电路主要包括单片机电路、超声波的发射和接收电路、显示电路等。发射探头的信号经放大发射出去,单片机开始计时,超声波遇到障碍物返回,接收电路经过放大滤波等环节,然后被单片机接收,单片机停止计时并计算距离。软件部分主要由住程序、发射子程序、接收子程序、显示子程序等组成。它控制单片机进行数据发送与接收,正确的数据液晶显示。该设计合理、工作稳定、易于实时控制,在精度方面达到工业实用要求。AbstractUltrasonic wave has strong directivity, the energy consumption is slow, communication distance etc., so in the use of sensor technology and automatic control technology combining the ranging scheme, the ultrasonic ranging is currently the most common one. It is widely used in building construction, anti-theft, reversing, level measurement and some industrial site.The design used in the STC89C52 MCU as the core of low power, high performance, miniaturized liquid crystal display ultrasonic rangefinder hardware circuit and software design method. System design mainly includes two parts : the hardware circuit and the software part. The hardware electric circuit mainly comprises a singlechip circuit, an ultrasonic emitting and receiving circuit, display circuit. Transmit probe signals are amplified to launch, the microcontroller start timing, ultrasonic obstacle return, receiving circuit through an amplifying and filtering etc, and then be single-chip receiver, microcontroller stops timing and distance calculation. The software part is mainly composed of a live program, subroutine, subroutine, showing emission receiving subprogram. The control of single-chip microcomputer for data transmission and reception, the correct data of liquid crystal display. The design is reasonable, stable, easy to control, the accuracy achieved practical requirements of industrial.目 录摘 要IAbstractI目 录II第一章 绪论11.1 课题设计目的及意义11.1.1 设计的目的11.1.2 设计的意义11.2 超声波测距仪的现状和发展2第二章 总体方案设计32.1 方案一:采用单片机来控制的超声波测距仪32.2 方案二:采用CPLD来控制的超声波测距仪32.3 方案三:采用锁相环频率合成技术实现超声波测距32.4 系统各模块的方案选择42.4.1 显示部分的选择42.4.2 单片机的选择42.5 超声波测距原理5第三章 超声波测距仪的硬件设计63.1 系统整体电路设计63.2 超声波发射电路的设计63.3 超声波的接收电路的设计73.4 液晶显示电路设计83.5单片机控制电路123.5.1 STC89C52简介及引脚功能说明123.5.2 复位电路153.5.3 时钟电路16第四章 超声波测距仪的软件设计174.1 超声波测距仪的算法设计174.2主程序流程图184.3 超声波发射子程序和超声波接收中断程序设计194.4 LCD显示模块204.5 主要模块的C程序20第五章 系统调试225.1 硬件调试225.2 系统硬软件的联调225.2.1 USB转串口驱动安装225.2.2 下载程序235.3 误差分析255.3.1 温度引起的误差255.3.2 串扰问题引起的误差25第六章 结论266.1 设计的目的266.2 总结与心得26致 谢27参考资料28附录29附录 系统电路原理图29附录 PCB原理图30附录 程序31附录 实物图40- III -第一章 绪论 1.1 课题设计目的及意义1.1.1 设计的目的 随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。但就目前的急速水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,满足日益发展的社会需求,如声纳的发展趋势基本:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需求;继续发展采用低频线谱检测的潜艇拖拽线列阵声纳,实现超远程的被动探测和识别;研制更适合与前还工作的潜艇声纳,特别是解决浅海水中目标识别问题;搭理降低潜艇自噪声,改善潜艇声纳的工作环境。毋庸置疑,无线的超声波测距仪将于自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。1.1.2 设计的意义由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿命等特点。因此可广泛应用于纸业、矿业、电厂、化工业、水处理厂、污水处理厂、农业用水、环保检测、食品(酒业、饮料业、添加剂、食用油、奶制品)、防汛、水文、明渠、空间定位、公路限高等行业中。可在不同环境中进行距离准确度在线标定,可直接用于水、酒、糖、饮料等液位控制,可进行差值设定,直接显示各种液位罐的液位、料位高度。因此,超声在空气中测距在特殊环境下有较广泛的应用。利用超声波检测往往比较迅速、方便、计算简单、易于实现实时控制,并且在测量精度方面能达到工业实用的指标要求,因此为了使移动机器人能够自动躲避障碍物行走,就必须装备测距系统,以使其及时获取距障碍物的位置信息(距离和方向)。因此超声波测距在移动机器人的研究上得到了广泛的应用。同时由于超声波测距系统具有以上的这些优点,因此在汽车倒车雷达的研制方面也得到了广泛的应用。1.2 超声波测距仪的现状和发展随着电子技术的发展出现了微波雷达测距、激光测距及超声波测距。前2种方法由于技术难度大成本高一般仅用于军事工业而超声波测距则由于其技术难度相对较低且成本低廉适于民用推广。这项技术也可用于工业测量领域。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波常常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在移动机器人的研制上也得到了广泛的应用。随着自动测量和微机技术的发展,超声波测距的理论已经成熟,超声波测距的应用也非常广泛。超声测距是一种非接触式的检测方式。与其它方法相比,如电磁的或光学的方法,它不受光芒、被测对象颜色等影响。对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力。因此在液位测量、车辆自动导航、物体识别等方面有广泛应用。特别是应用于空气测距,由于空气中波速较慢,其回波信号中包含的沿传播方向上的结构信息很轻易检测出来,具有很高的分辨力,因而其正确度也较其它方法为高;而且超声波传感器具有结构简单、体积小、信号处理可靠等特点。因此本设计也是利用超声波来测量距离。展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,满足日益发展的社会需求,如声纳的发展趋势基本:研制具有更高定位精度的被动测距声纳,以满足水中武器实施全隐蔽攻击的需求;继续发展采用低频线谱检测的潜艇拖拽线列阵声纳,实现超远程的被动探测和识别;研制更适合与前还工作的潜艇声纳,特别是解决浅海水中目标识别问题;搭理降低潜艇自噪声,改善潜艇声纳的工作环境。毋庸置疑,无线的超声波测距仪将于自动化智能化接轨,与其他的测距仪集成和融合,形成多测距仪。随着测距仪的技术进步,测距仪将从具有单纯判断功能发展到具有学习功能,最终发展到具有创造力。在新的世纪里,面貌一新的测距仪将发挥更大的作用。第二章 总体方案设计2.1 方案一:采用单片机来控制的超声波测距仪 采用单片机来控制的超声波测距仪是先由单片机产生一个信号,经过信号线,把信号引入到与超声波发射器相连的信号引脚上,再由超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来。超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即S=CT/2.其中:S为被测距离,C为超声波传播速度,T为回波时间。2.2 方案二:采用CPLD来控制的超声波测距仪 采用CPLD来控制的超声波测距仪,主要是在软件上运用VHDL(Very High Spe ed Integrated Circuit Hardware Description Language)编写程序使用MAX+plus II软件进行软硬件设计的仿真和调试,最终实现测距功能。使用本方案的优点在于在超声波测距仪设计中采用的是MAX7000s系列中的EPM7128SLC84-15的CPLD器件,其最高频率可达175.4MHz,可用于组合逻辑电路、时序逻辑电路、算法、双端口RAM等的设计.充分利用了其多达128个宏单、68pin可编程I/O口,使该器件可以将分频功能、计数功能、显示编码功能、振荡功能全部集于一体。又因其延时平均的特点,保证了测距结果精度高、响应速度快。缺点是方案中需要一块FPGA,一块双口RAM,还需要一块用来存储波形数据的EEPROM,那么设计的成本较高。同时在FPGA中还要用硬件描述语言(VHDL语言)编写程序来实现硬件电路功能.由于EPM7128SLC84-15的算法复杂,所以在软件实现起来编程也复杂。 2.3 方案三:采用锁相环频率合成技术实现超声波测距 采用锁相环频率合成技术,也可以实现我们所需要的超声波测距仪。具体方案如下:首先通过频率合成技术产生超声波所需要的频率,在通过信号线将采用锁频率相合成技术得到的频率引到超声波的发射头上,这样就可以实现超声波测距。它的优点就是工作频率可调,也可以达到很高的频率分辨率;缺点是要求使用的滤波器通带可变,实现很困难。 综上所述,我选择的方案:采用单片机来控制的超声波测距仪 。基于单片机的超声波测距仪用单片机控制超声波的发射、接受电路以及进行数据处理,再用液晶显示屏进行数据的显示。因为声音的速度会随着温度的变化而改变,所以在设计中可以扩展温控装置,实现更准确的测距。发射器向由超声某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计数。相对于其他两种方案,单片机实现控制的设计精确,更为灵活,程序的更改也较为灵活方便,设计的可行性也很好,有很强的实用性和拓展性。在平常的学习过程中,通过老师的指导,为此设计奠定了坚实的专业基础。2.4 系统各模块的方案选择2.4.1 显示部分的选择方案一:用数码管来显示测量数据。它的优点是价格低,亮度高,显示大。驱动部份的软件简单 。方案二:用液晶显示测量数据。它的优点是无辐射 ,无闪烁 ,能耗小,节能电源,而且液晶显示的字符数量比较多,可以显示正负数值以及灵活的切换,用数码管不能显示正负而且操作复杂。从这一点我选择了用液晶显示。2.4.2 单片机的选择方案一:使用AT89C51单片机做为CPU来实现超声波测距仪程序的工作和显示,它的优点是可编程可擦除的,与工业标准的MCS-51指令集和输出管脚相兼容,而且价格便宜,可以反复使用100次以上。缺点是:它的内存比较小。方案二:使用STC89C52单片机来做CPU,从而实现超声波测距仪的测距和数据的显示。它的主要优点是高抗静电,宽电压不怕电压抖动,宽温度范围-4085。I/O口,电源供电系统,看门狗电路,复位电路时钟电路经过特殊处理,而且加密性强,可以用USB来下载程序。综上所述我选择了STC89C52单片机做为CPU。2.5 超声波测距原理谐振频率高于20 kHz 的声波称为超声波。超声波为直线传播方式, 频率越高, 反射能力越强, 而绕射能力越弱。利用超声波的这种特性, 常常用渡越时间检测法进行距离的测量。超声波测距的原理一般采用渡越时间法TOF(timeofflight),也可以称为回波探测法,如图2-1所示。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在介质中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据传声介质的不同,可分为液介式、气介式和固介式三种。根据所用探头的工作方式,又可分为自发自收单探头方式和一发一收双探头方式。超声波在空气中(20)的传播速度为340m/s(实际速度为344m/s这里取整数),根据计时器记录的时间就可以计算出发射点距障碍物的距离,公式S=ct/2。图2-1超声波测距原理图由于超声波也是一种声波,其声速c与温度有关,表2-1列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正。表2-1声速与温度的关系温度()3020100102030100声速(m/s)313319325323338344349386第三章 超声波测距仪的硬件设计3.1 系统整体电路设计整体电路的控制核心为单片机STC89C52, 该芯片为52内核8位单片机,适用于常用控制检测电路。超声波发射和接收电路都对相应的信号进行整形和放大,以保证测量结果尽可能的精确。TRIG为单片机发送触发信号的引脚,ECHO为超声波模块送回回响信号的引脚,接到单片机P3.2脚上。超声波测距仪的硬件设计包括:超声波发射模块、超声波接收模块、单片机控制模块和1602液晶显示模块。图3-1系统框图3.2 超声波发射电路的设计由单片机产生的40kHz的方波需要进行放大,才能驱动超声波传感器发射超声波发射驱动电路其实就是一个信号放大电路 。在本设计中,我选用的超声波发射模块,由单片机产生40KHz的方波,直接驱动CD4049芯片,后面的CD4049则对40KHz频率信号进行处理,使超声波传感器产生谐振。 图3-2超声波发射电路3.3 超声波的接收电路的设计超声波接收电路包括:接收探头,信号放大和波形变换电路。超声波接收探头必须与发射探头相同,否则影响接收效果甚至不能进行测距。由于超声波探头的信号非常弱,必须对信号进行放大,放大后的正弦波不能被微处理器处理,所以必须进行波形变换。超声波探头接收到信号后,通过声电转换,产生一正弦信号,其频率为传感器的中心频率,即40KHZ。该信号通过C1高通滤波器后经放大,最后经二极管整形输出到单片机中断口。图3-3超声波接收电路图图3-4超声波时序图以上时序图表明只要提供一个10us以上的脉冲触发信号,该模块内部将发出8个40KHZ周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测量的距离城正比。由此通过发射信号到收到的回响信号时间间隔就可以计算得到距离。3.4 液晶显示电路设计在本设计中,我选用的是SMC1602液晶显示模块。SMC1602是一种16字2行的字符型液晶显示模块。SMC1602电路由DDRAM,CGROM,IR,DR,BF等大规模集成电路组成,设计时只要把标准的ASC码放入DDRAM,内部控制线路就会自动将数据传送到显示器上,并显示该ASC码对应的字符。(一):1602的引脚功能及说明该芯片的部分引脚功能具体如下:表3-1引脚功能表RS:寄存器选择端RS为0时,选择命令寄存器IRRW:读写控制端RW为1时,选择读出ENABLE:使能控制端ENABLE为1时使能该液晶屏共有16个引脚,其中DB0-DB7是数据/命令传输口,15、16脚BLK和BLA是背光电源和地,1、2脚分别是VSS和VCC,液晶显示的地和电源,3脚VL是液晶显示偏压信号,用于调整1602的显示对比度,一般会外接电位器一调整偏压信号,注意此引脚电压为0时可以得到最强的对比度,所以接入变阻器R2后可以实现对液晶显示对比度的调节。4、5、6脚分别是RS、RW、EA端口,也是控制端口,所有的对液晶的读写数据,写命令等操作都需要这三个端口来控制。4脚为高电平时,可以对1602进行数据字节的传输操作,而为低电平时,进行的命令字节的传输操作。命令字节就是对1602的一些工作方式设置的字节。 当5脚为高电平时,可对1602进行读数据操作,反之进行写操作。6脚其实是1602的数据控制时钟信号,利用该信号的上升沿实现对1602的数据传输。表3-2接口信号说明符号引脚说明引脚号符号VSS电源地9D2VDD电源正极10D3VL液晶显示偏压11D4D0Data I/O15BLAD1Data I/O16BLK(二):1602的时序1:基本操作时序(1)读状态:输入:RS=L,RW=H,E=H 输出:D0-D7=状态字(2)写指令:输入 RS=L,RW=L,D0-D7=指令码,E=高脉冲(3)读数据:输入 RS=H,RW=H,E=H 输出:D0-D7=数据(4)写数据:输入 RS=H,RW=L,D0-D7=数据,E=高脉冲 输出:无2:写操作时序图3-5写操作时序图从以上时序图,我们可以看出,当要写指令字,设置1602的工作方式时,需要把RS置为高电平,RW置为低电平,然后将数据送到数据口D0-D7,最后E引脚一个高脉冲将数据写入。当我要写入数据字,在1602上实现显示时,需要把RS置为高电平,RW置为低电平,然后将数据送到数据口D0-D7,最后E引脚一个高脉冲将数据写入。当要写命令字节的时候,时间由左往右,RS变为低电平,R/W变为低电平,注意看是RS的状态先变化完成。然后这时,DB0-DB7上数据进入有效阶段,接着E引脚有一个整脉冲的跳变,接着要维持时间最小值为tpw=400ns的E脉冲宽度。然后E引脚负跳变,RS电平变化,R/W电平变化。这样便是一个完整的1602写命令的时序。3:读操作时序图3-6读操作时序图以上时序图可以看出,当RW为高电平时,可对1602进行读数据操作,RS也为高电平,使能端也为高电平,D0-D7数据口接收数据。很简单,我们在时序图里和时序参数图里可以找到TR1,对应时序参数表,可以查到这个是E上升沿/下降沿时间,最大值为25ns,表示E引脚上的电平变化,必须在最大为25ns之内的时间完成。表3-31602时序参数对STC1602有以下几点说明:1:LCD1602对写进去的数据字节呢是以ASCII码识别的,所以写进去用以显示的字符数据必须是某一个ADCII码,当然如果你不想查ASCII表的话,可以用字符来代替,即用单引号包含的字符常量。所以,也由此推出,0和30H(0的ASCII码)是等价的。 2: 操作1602,要先对1602进行初始化,数据手册里写的比较清楚,并且对各个命令字的写入并没有先后要求。 3: 1602是有自定义字符的功能的,大家熟悉基本操作之后可以尝试自行拓展 4: 在每次写完数据之后,应该要将E引脚置为低电平,为下一次E的高脉冲做准备。延伸来说,这叫释放时钟线,要养成释放时钟线的好习惯。对配合时序大有裨益。 5: 可以将所要显示的字符一次定义在一个字符数组里,以调用字符数组的形式调用显示数据,这样程序会变得简洁而高效。3.5单片机控制电路3.5.1 STC89C52简介及引脚功能说明图3-7STC89C52管脚图该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。由STC89C52组成的单片机系统原理图如图3.5.1-2所示。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。图3-8单片机系统原理图图中TRIG引脚为单片机发送触发信号的引脚,ECHO引脚为超声波模块送回回响信号的引脚,接至单片机外部中断P3.2脚上,可以利用外部中断测量回响信号宽度。DS18B20引脚外接单总线数字温度传感器DS18B20,当需要温度补偿时选用。L2发光管保留给用户定义,实现用户功能。P0口用来送显示信号给LCD的数据,P20P22送命令到LCD控制LCD的显示方式。P3.7为DS18B20温度数据采集端,这个为扩展口,可有用户自己选定。P1.0接测量按键。 3.5.2 复位电路RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。产生复位信号的电路框图如图3-9所示:89C52图3-9复位信号电路图整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3-10所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的。本设计采用的是按键电平复位。RST89C52图3-10复位操作原理图3.5.3 时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3.5.3-1 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.212MHz之间选择,电容值在530pF之间选择,电容值的大小可对频率起微调的作用。RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。外部方式的时钟电路,RXD接地,TXD接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。以下为系统的温度补偿电路:图3-11温度补偿电路图第四章 超声波测距仪的软件设计4.1 超声波测距仪的算法设计超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间就可算出超声波发生器与反射物体的距离。距离的计算公式为: d=s/2=(ct)/2 其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离 。图4-1软件总体流程图4.2主程序流程图图4-2主程序流程图软件分为两部分,主程序和中断服务程序。主程序完成初始化工作、各路超声波发射和接收顺序的控制。 主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。置位总中断允许位EA并给显示端口P0和P1清0。然后调用超声波发生子程序送出一个超声波脉冲。 当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按公式计算,即可得被测物体与测距仪之间的距离,设计时取20时的声速为344m/s,则有: d=(ct)/2 。 测出距离后结果将传给LCD数码显示。为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。 4.3 超声波发射子程序和超声波接收中断程序设计超声波发生子程序的作用是通过单片机发送8个超声波脉冲信号(频率约40kHz的方波),同时把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序运行准确。图4-3外部中断流程图图4-4定时中断流程图 定时中断服务子程序完成单方向超声波的发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。超声波测距仪主程序利用外中断1检测返回超声波信号,一旦接收到返回超声波信,立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断1关闭,并将测距成功标志字赋值2以表示此次测距不成功。 图4-5显示流程图4.4 LCD显示模块1602写数据void write(uchar del) 1602命令函数void enable(uchar del) 1602延时函数void delay() 1602初始化void L1602_init(void) 1602读数据Void read(uchar del) 1602显示L1602_string(1,1,Distance Result:) 4.5 主要模块的C程序外部中断初始化:void INT0_Init(void) IT0 = 0; /负边沿触发中断 EX0=0; /关闭外部中断定时器0初始化 void Timer0_Init()TMOD = 0x11; /定时器0和1工作在16位方式TH0 = TIMER0H;TL0 = TIMER0L; TR0 = 1; /启动定时器ET0 = 1; /允许定时器0中断启动模块,Trig管脚20us正脉冲 :void Start_Module() /启动模块 Trig=1; /启动一次模块 delay_20us(); Trig=0;管脚、常量、变量定义和函数声明/管脚定义sbit Trig = P13;sbit Echo = P32; /回波必须接在外部中断引脚上/定义标志volatile bit FlagSucceed = 0; /测量成功标志volatile bit FlagDisplay = 0; /显示标志/定义全局变量U16 DisplayCount=0;U16 time=0;U32 distance=0;/函数声明void delay_20us();void Start_Module();void INT0_Init(void);void Data_Init();void Timer0_Init();void Timer1_Init();/数据初始化void Data_Init()Trig = 0;第五章 系统调试5.1 硬件调试硬件调试中,首先是线路的检查。焊接完实验后检查是否有错焊、漏焊、虚焊,电解电容是否接反,走线是否正确。检查无误后,再次就是上电检查,这时,STC89C52等芯片不要插上。在正式上电前,用万用表测量一下电源与地是否短路,短路的话,要耐心检查、排除故障。然后进行显示电路,用同样的方法对显示部分进行调试后,给单片机与液晶接口数据,液晶能够显示,说明显示部分电路没有问题。最后是对发射和接收电路,用函数发生器吧40kHZ的方波直接加到发射电路的输入端后,用示波器检测超声波发射的换能器,检查是不是有方波信号,再用函数发生器对超声波接收的换能器直接加40kHZ的方波信号,用示波器对接收电路输出端进行检测。通过这些过程,硬件部分的调试就基本完成了,剩下的就只有软件和硬件的联调了。超声波测距仪的硬件安装时应保持两换能器中心轴线平行两者之间的距离在3-5cm之内,其余元件没有特殊要求。若能将超声波电路用金属壳屏蔽起来,可以提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容的大小,以获得合适的接收灵敏度和抗干扰能力。5.2 系统硬软件的联调硬件测试好后,便可将程序编译下载到单片机试运行。当程序在uVision环境下编写完成,并编译生成.hex文件后,就可以下载并进行调试了。5.2.1 USB转串口驱动安装打开USB驱动文件夹下的PL2303_Prolific_DriverInstaller_v130.exe安装文件,按提示安装USB转串口驱动程序。安装完成后,插入USB下载线后,在开始-控制面板-打印机和其他硬件-设备管理器,在“端口”分支下有(Prolific USB-to-Serial Comm Port(COMX)。X表示串口号,如果没有说明USB转串口驱动没有安装,须重新安装。记住括号里的COM口号。图5-1成功安装USB转串口驱动示意图5.2.2 下载程序打开STC单片机下载软件文件夹,点击运行STC_ISP_V481.exe程序,出现如下界面。图5-2下载软件图正确选择MCU 类型,COM口(与刚才安装的COM号一致),最高波特率和最低波特率都选择2400bps或1200bps,并打开正确的.hex数据文件。点击“Download/下载”按纽,窗口出现提示:Chinese:正在尝试与 MCU/单片机 握手连接 . Connection is failure. You can try: 1.Give your MCU Power On Reset. 2.Stop operation, then re-select COM Port. 3.Because PLCC-DIP/PQFP-DIP Socket trace too long. 4.Update the STC ISP.exe version. 5.If still error, your MCU Firmware is erroror null.Chinese:正在尝试与 MCU/单片机 握手连接 . Connection is failure. You can try: 1.Give your MCU Power On Reset. 2.Stop operation, then re-select COM Port. 3.Because PLCC-DIP/PQFP-DIP Socket trace too long. 4.Update the STC ISP.exe version. 5.If still error, your MCU Firmware is error or null.Chinese:连接失败,请尝试以下操作: 1.在单片机停电状态下,点下载按钮,再给单片机上电 2.停止下载,重新选择 RS-232 串口, 接好电缆 3.可能需要先将 P1.0/P1.1 短接到地 4.可能外部时钟未接 5.因 PLCC、PQFP 转换座引线过长而引起时钟不振荡,请调整参数 6.可能要升级电脑端的 STC ISP.exe 软件仍在连接中,请给MCU上电。按下电路板上的电源按纽,保证其有个失电至上电的过程,则窗口显示开始烧录芯片。芯片烧录成功后, 程序开始运行,超声波测距仪正常工作。图5-3超声波测距仪正常工作图5.3 误差分析5.3.1 温度引起的误差由于超声波也是一种声波,其声速c与温度有关,不同温度下超声波在空气中传播的速度随温度变化的关系:C=C01+T/273 式中:T为绝对温度(),0度为331.4m/s。表5.3.1-1列出了不同温度下的超声波声速。在使用时,如果温度变化不大,则可以认为声速是基本不变的,如果测距精度要求很高,则应通过温度补偿的方法加以校正。表5-1声速与温度关系图温度-30-20-100102030声速c(m/s)3133193253233383443495.3.2 串扰问题引起的误差设计中发射极和接收极距离较近,这样当发射极发射超声波后,有部分超声波经过障碍物反射就直接绕射到接收极上,这部分信号是无用的,会引起系统误差,而且这种误差是不可避免的。设计中采用延时来解决这个问题。 第六章 结论6.1 设计的目的1:了解超声波测距仪的基本组成和工作原理2:学习并掌握超声波测距仪的设计与实现3:了解单片机的功能、构造及指令。4:学会用C语言编写单片机程序。6.2 总结与心得本课题介绍了一种基于单片机的超声波测距系统的设计与实现,给出了硬件和软件的设计方案。 超声波模块是本系统的核心器件,本论文详介绍了超声波模块的原理、结构、检测方式以及它的一些特性。单片机是本系统的控制部分,采用STC89C52芯片,驱动超声波的40kHz的方波信号,就是由单片机编程产生的。本系统的显示部分采用的是1602液晶显示。 单片机内部采用C语言编程,方波信号的产生、时间差的读取、距离的计算以及显示输出都由单片机完成。 本课题所设计的超声波测距系统具有测量精度较高、速度快、控制简单方便等优点。但由于经验不足,电路硬件、软件部分都有不够完善的地方,在今后的学习中会进一步改进。 在元件及调制方面,由于采用的电路使用了很多集成电路,外围元件不是很多,所以调试不会太难。一般只要电路焊接无误,稍加调试应该会正常工作。电路中除集成电路外,对各电子元件也无特别要求。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容的大小,以获得合适的接受灵敏度和抗干扰能力。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。总体来说,最重要的是在本课题的设计过程中我学到了很多知识,从中受益匪浅。了解了超声波传感器的原理,学会了各种放大电路的分析、设计,也掌握了单片机的开发过程和利用单片机设计电路的方法。对一块电路板的设计、焊板、调试、改进等整个过程,有了更深入的理解和掌握。这些对我今后的学习和工作都会有很大帮助的。 致 谢首先,我要感谢包军卫老师和井新宇老师在毕业设计中对我给予的悉心指导和严格要求,同时也感谢本校的一些老师在毕业设计期间所给予我的帮助。在毕业设计论文写作期间,各位老师给我提供了专业知识上的指导,同时还要感谢系实验室在毕业设计期间提供给我们优越的实验条件。 接着,我要感谢和我一起做毕业设计的同学们。在毕业设计的短短2个月里,你们给我提出很多宝贵的意见,给予了我不少帮助,在此也真诚的谢谢你们。最后我要深深地感谢我的家人和朋友对我的支持,给予我很大的动力。 参考资料1华兵。MCS-51单片机原理应用,武汉:武汉华中科技大学出版社,2002.5 2李华。MCU-51系列单片机实用接口技术,北京:北京航天大学出版社,1993.6。3郁有文。传感器原理及工程应用M.西安:西安电子科技大学出版社,2000。 4中国电子学会敏感技术分会,北京电子学会.2000/2001 传感器与执行器大全(年 卷) M.北京:电子工业出版社,2001。 5黄智伟。全国大学生电子设计竞赛训练教程M。西安:电子工业出版 社,2005.1。 6牛余朋,成曙。基于单片机的超声波测距系统J。北京:兵工自动化,2005.2。 78-88页。 7姜道连,宁延一,袁世良。用AT89C2051设计超声波测距仪J。TI:国外电子元器件,2000,第12月。 8杨永瑞,刘振起.电子测量技术基础M,西安:西安电子科技大学出版社,2004. 9栾桂东等.传感器及其应用M,西安,西安电子科技大学出版社,1996. 10王子芳.传感器应用技术M,西安,西北工业大学出版社,1996. 11张国勋,孙海. 单片机原理及应用(第二版)M,北京:中国电力出版社,2007.12S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025买卖合同中所有权保留的权利冲突与协调
- 代理租赁房屋合同样本
- 公司与民工承包合同标准文本
- 东莞买卖房合同标准文本
- 个人临时用工合同样本
- 关于酒店转让合同标准文本
- 人力中介阴阳合同样本
- 乌镇景区商铺租赁合同样本
- 亲戚卖房购房合同样本
- 个人汽车抵账合同标准文本
- 2-山东工业技师学院申报国家级高技能人才培训基地项目申报书
- 常用消毒剂的分类、配制及使用课件演示幻灯片
- GB 45069-2024悬崖秋千安全技术要求
- 员工反恐怖协议
- 2025年高考政治一轮复习知识清单必修四《哲学与文化》重难点知识
- 2021年4月17日江苏事业单位考试《综合知识和能力素质》(管理岗客观题)
- 《临床技术操作规范-放射医学检查技术分册》
- 生活中的魔法数学名师公开课获奖课件百校联赛一等奖课件
- 2024年同等学力申硕英语考试真题
- 江苏省南京市六校2024-2025学年高一上学期期中联合调研 化学试题
- 儿科基础临床知识题库单选题100道及答案解析
评论
0/150
提交评论