超声波测距仪课程设计Word下载.docx
- 文档编号:17295106
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:27
- 大小:281.79KB
超声波测距仪课程设计Word下载.docx
《超声波测距仪课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《超声波测距仪课程设计Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
设计工作量
1、汇编或C51语言程序设计;
2、程序调试;
3、在单片机开发板上进行下载调试;
4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、调试过程,参考文献、设计总结等。
进度安排
起止日期(或时间量)
设计内容(或预期目标)
备注
第一天
课题介绍,答疑,收集材料,C51介绍
第二天
设计方案论证,练习编写C51程序
第三天~第六天
程序设计
第六天~第八天
程序调试、仿真
第九天~第十天
系统测试并编写设计说明书
教研室
意见
年月日
系(部)主管领导意见
长沙学院课程设计鉴定表
专业
班级
设计题目
指导教师意见:
评定等级:
教师签名:
日期:
答辩小组意见:
答辩小组长签名:
日期:
教研室意见:
教研室主任签名:
系(部)意见:
系主任签名:
日期:
说明
课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;
目录
摘要2
1、基本原理3
2、方案论证3
3、系统硬件设计3
3.1STC89C52外围电路设计4
3.2超声波测距模块电路设计5
3.3显示电路设计7
4、系统软件设计7
4.1系统软件设计说明7
4.2编程语言的选择8
4.3超声波测距仪的算法设计8
4.4超声波发生子程序和超声波接收中断程序设计8
4.5显示子程序设计9
4.6主程序流程图9
5、设计结果及分析10
6、使用说明11
7、课程设计体会11
参考文献12
附录:
程序清单13
摘要
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到日常使用的要求。
超声波测距仪,可应用于汽车倒车、建筑施工工地以及一些工业现场的位置监控,也可用于如液位、井深、管道长度的测量等场合。
利用超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制。
本设计的超声波测距仪利用超声波传输中距离与时间的关系,采用以STC89C52单片机为核心进行控制及数据处理,最终完成超声波测距仪的硬件电路和软件设计。
该测距仪主要由超声波发射器电路、超声波接收器电路、单片机控制电路、系统电源电路及LCD12864显示电路构成。
整个程序采用模块化设计,由主程序、发射子程序、接收子程序、显示子程序等模块组成。
各探头的信号经单片机综合分析处理,实现超声波测距器的各种功能。
在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。
关键词:
超声波;
STC89C52;
LCD12864;
测距
1、基本原理
超声波传感器的工作原理是陶瓷的压电效应。
超声波传感器在测量过程中,超声测距器是根据超声波遇到障碍物反射回来的特性进行测量的。
超声波发射器向某一方向发射超声波,在发射同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即中断停止计时。
通过不断检测产生波发射后遇到障碍物所反射的回波,从而测出发射超声波和接收到回波的时间差△T,然后求出距离L。
基本的测距公式为:
S=(△T/2)*V
式中S——被测距离;
△T——发射波和反射波之间的时间间隔;
V——超声波在空气中的声速,常温下取为340m/s。
声速确定后,只要测出超声波往返的时间,即可求得S。
2、方案论证
超声波测距的原理是利用超声波的发射和接受,根据超声波传播的时间来计算出传播距离。
实用的测距方法有两种,一种是在被测距离的两端,一端发射,另一端接收的直接波方式,适用于身高计;
一种是发射波被物体反射回来后接收的反射波方式,适用于测距仪。
此次设计采用反射波方式。
超声波发生器可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、电动型等;
机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前在近距离测量方面常用的是压电式超声波换能器。
根据设计要求并综合各方面因素,本文采用STC89C52单片机作为控制器,用LCD12864显示测量距离。
测距仪的分辨率取决于对超声波传感器的选择。
超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。
由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;
而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。
图2.1超声波测距器系统设计框图
本设计通过按键扫描是否启动测距,然后控制单片机发出一个脉冲是超声波发生器产生超声波,等到反射的回波数据被超声波接收器接收后送给单片机处理,最后在LCD液晶屏上显示测距结果。
3、系统硬件设计
硬件电路的设计主要包括单片机系统及显示电路、超声波测距电路三部分。
单片机采用STC89C52,采用12MHz高精度的晶振,以获得稳定时钟频率,减小测量误差。
单片机用P1.0端口输出超声波换能器所需的触发信号,利用外中断0口(P3.2)监测超声波接收电路输出的返回信号。
显示电路采用LCD12864显示屏。
3.1STC89C52外围电路设计
STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。
该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
单片机STC89C52作为主控芯片,控制整个电路的运行。
单片机外围需要一个复位电路,复位电路的功能是:
系统上电时提供复位信号,直至系统电源稳定后,撤消复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
该设计在电源电压瞬间下降时可以使电容迅速放电,可令系统可靠复位。
图3.1单片机复位电路
STC89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别为该反向放大器的输入端和输出端。
这个反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性。
如果使用石英晶体,电容应该使用30pF。
还可以使用外部时钟。
这种情况下,外部时钟脉冲接XTAL1端,即内部时钟发生器的输入端,XTAL2应悬空。
由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条件的要求。
时钟电路的核心就是一个晶振,常用的晶振频率有6MHZ、12MHZ,51单片机最大的晶振频率为 20MHZ。
由于单片机的机器周期为晶振周期的12分频,故一般选用12MHZ的晶振,此时恰好得到的机器周期为1us。
图3.2时钟电路
图3.3单片机最小系统实物图
3.2超声波测距模块电路设计
这一部分采用DYP-ME007超声波测距模块。
DYP-ME007超声波测距模块可提供3cm--3.5m的非接触式距离感测功能,图1为DYP-ME007外观,包括超声波发射器、接收器与控制电路。
其基本工作原理为给予此超声波测距模块一触发信号后发射超声波,当超声波投射到物体而反射回来时,模块输出一回响信号,以触发信号和回响信号间的时间差,来判定物体的距离。
图3.4DYP-ME007超声波测距模块
DYP-ME007电气参数:
电气参数
DYP-ME007超声波模块
工作电压
DC5V
工作电流
15mA
工作频率
40Hz
最远射程
3.5m
最近射程
3cm
输入触发信号
10uS的TTL脉冲
输出回响信号
输出TTL电平信号,与射程成比例
规格尺寸
45*20*15mm
模块接线:
使用上只需要5V电源供应、0V地
线连接、触发信号输入、与回响信号输出
等四支接脚。
注:
此模块不宜带电连接,若要带电连接,
则先让模块的GND端先连接,否则会
影响模块的正常工作。
图3.5DYP-ME007模块接线图
模块时序图:
图3.6超声波模块时序图
你只需要提供一个短期的10uS脉冲触发信号。
该模块内部将发出8个40kHz周期电平并检测回波。
一旦检测到有回波信号则输出回响信号。
回响信号是一个脉冲的宽度成正比的距离对象。
可通过发射信号到收到的回响信号时间间隔可以计算得到距离。
公式:
uS/58=厘米或者uS/148=英寸。
建议测量周期为60ms以上,以防止发射信号对回响信号的影响.
3.3显示电路设计
本设计采用的是无字库的LCD12864液晶屏显示模块。
图3.712864硬件连接图
VCC和GND是最基本的电源,一般接5V即可,还有就是关于VEE以及VL(很多种屏称作V0,不过都一样了),一般接法如上图所示即可,当LCD与单片机接线以及电源供给完毕以后,需要调节可变电阻的阻值,可以说这个决定了液晶屏是否显示。
只有阻值在特定的位置区域以内才会显示。
最后就是关于BL+和BL-了,这个是液晶屏的背光,一般直接接在VCC和GND上,当然加小电阻限流同时可以使用DA或者普通的IO口来控制会更好。
4、系统软件设计
4.1系统软件设计说明
进行测量控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个测量对象的实际需要设计应用程序。
因此,软件设计在微机测量控制系统设计中占重要地位。
对于本系统,软件设计更为重要。
在单片机测量控制系统中,大体上可分为数据处理、过程控制两个基本类型。
数据处理包括:
数据的采集、数字滤波、标度变换等。
过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便达到测量控制目的。
本软件设计主要是对距离进行测量、显示。
因此,整个软件可分为按照硬件电路对单片机位定义;
发射子程序;
接收子程序;
显示子程序;
延时子程序等。
4.2编程语言的选择
本设计是硬件电路和软件编程相结合的设计方案,选择合适的编程语言是一个重要的环节。
在单片机的应用系统程序设计时,常用的是汇编语言和C语言。
汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。
其主要优点是占用资源少、程序执行效率高,而且执行速度快。
但是不同的CPU,其汇编语言可能有所差异,即依赖于计算机硬件,程序可读性和可移植性比较差。
C语言是编译型程序设计语言,兼顾高级语言的特点,并具备汇编语言的功能。
C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。
此外,C语言程序具有完善的模块程序结构。
C语言执行效率没有汇编语言高,但语言简洁,使用方便,灵活,运算丰富,表达化类型多样化,数据结构类型丰富,具有结构化的控制语句,程序设计自由度大,有很好的可重用性,可移植性等特点。
基于C语言的众多优点本设计选择此语言来编程。
4.3超声波测距仪的算法设计
图3.2.1示意了超声波测距的原理,即超声波发生器T在某一时刻发出一个超声渡信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。
这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。
距离的计算公式为:
S=L/2=(V×
△T)/2
其中,S为被测物与测距仪的距离,L为声波的来回的路程,V为声速,△T为声波来回所用的时间。
图4.1超声波测距原理图
在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。
当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。
4.4超声波发生子程序和超声波接收中断程序设计
超声波发生子程序的作用是通过P2.6端口发送1个超声波启动信号,脉冲宽度为10μs左右,同时把计数器T0打开进行计时。
超声波发生子程序较简单,但要求程序运行准确,所以采用C语言编程。
超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。
进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。
如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,此次测距不成功。
4.5显示子程序设计
LCD12864液晶显示屏有其自身的控制编程方法,我们只需要按照其方法编程就能显示出我们想要的字符和图形。
本次使用的液晶是不带字库的,所以需要使用提取字模软件来提取显示所需的16*16点阵信息。
4.6主程序流程图
5、设计结果及分析
设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离,以数字的形式显示测量距离。
超声波测距器的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。
超声波测距的算法设计原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。
硬件电路在使用的时候测距不太稳定,液晶屏显示有时候会不清晰。
原因是液晶屏的两个背光脚没有接电阻就直接接在了电源和地上面。
并且我连接所用的杜邦线也不太稳定。
图5.1软件仿真结果
图5.2硬件仿真结果
6、使用说明
它的硬件电路的设计主要包括单片机系统及显示电路、系统电源、超声波发射电路和超声波检测接收电路四部分。
单片机采用STC89C52,采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P2.6端口输出超声波换能器所需的触发信号,利用外中断0口监测超声波接收电路输出的返回信号。
显示电路采用LCD12864液晶屏,实现测距,并且在液晶屏上显示距离。
使用时只需要按下启动键就可以开始测距,如果测距成功就会在液晶屏上显示相应的距离的数值,否则将不显示。
7、课程设计体会
做硬件的设计制作与焊接的时候,并没有遇到太多问题,只是用杜邦线的连接的地方出了些毛病,以致不能显示的很清晰,这一块儿主要是得耐心细致。
需要注意各个输入、输出引脚,因为每个引脚都是不一样的,只有让各个引脚互相对应,才能得出准确的结果,任何一点小的误差都不可能得出正确的运行结果。
写程序倒是基本上没什么难度,逻辑思维强一点就好了。
回顾起此次单片机课程设计,我仍感慨颇多,的确,在这两个星期中,可以说得是苦多于甜,但是可以学到很多很多的的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
很郁闷的就是帮别人修改了好些程序,结果都符合要求,但自己却是最后一个验收的,尽管我需要做实物,却也没这么难吧!
但我还是坚持到了最后,虽然做出来的实物还是有些不尽如人意,却也能基本符合要求了,也算给了我一些安慰。
同时,特别感谢刘老师和王老师在这两个星期里陪伴着我们,帮我们解决一些疑难杂症。
谨在此特别鸣谢。
参考文献
1、[8]曾屹.单片机原理与应用[M].长沙:
中南大学出版社,2009,1~335
2、[9]郭天祥.新概念51单片机C语言教程.入门、提高、开发[EB/OL].http:
//www.P
3、[8]PualScherz.发明者电子设计宝典[M].福建:
福建地质印刷厂,2004,1~505
附录
程序清单:
#include<
reg52.h>
intrins.h>
#include<
math.h>
stdio.h>
#defineLCD_databusP1//LCD12864的8位数据口
#defineuintunsignedint
#defineucharunsignedchar
sbitEN=P2^2;
sbitRS=P2^0;
sbitRW=P2^1;
sbitCS2=P2^3;
sbitCS1=P2^4;
sbitpulse=P2^6;
//产生脉冲引脚
sbitEcho=P3^2;
//回波引脚
sbitkey=P2^7;
//启动发射引脚
bitsucceed_flag;
//测量成功标志
uints;
ucharge,shi,bai,outcomeH,outcomeL;
//自定义变量
unsignedcharcodeE[][16]={
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//"
0"
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//"
1"
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//"
2"
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//"
3"
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//"
4"
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//"
5"
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//"
6"
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//"
7"
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//"
8"
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//"
9"
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//"
c"
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//"
m"
};
ucharcodeHZ[][32]={
/*超CB3AC*/
0x40,0x48,0x48,0x48,0xFF,0x48,0x48,0x42,0xA2,0x9E,0x82,0xA2,0xC2,0xBE,0x00,0x00,
0x80,0x60,0x1F,0x20,0x7F,0x44,0x44,0x40,0x4F,0x48,0x48,0x48,0x48,0x4F,0x40,0x00,
/*声CC9F9*/
0x04,0x14,0xD4,0x54,0x54,0x54,0x54,0xDF,0x54,0x54,0x54,0x54,0xD4,0x14,0x04,0x00,
0x80,0x60,0x1F,0x02,0x02,0x02,0x02,0x03,0x02,0x02,0x02,0x02,0x03,0x00,0x00,0x00,
/*波CB2A8*/
0x10,0x60,0x02,0x0C,0xC0,0x00,0xF8,0x88,0x88,0x88,0xFF,0x88,0x88,0xA8,0x18,0x00,
0x04,0x04,0x7C,0x03,0x80,0x60,0x1F,0x80,0x43,0x2C,0x10,0x28,0x46,0x81,0x80,0x00,
/*测CB2E2*/
0x10,0x60,0x02,0x8C,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0xFF,0x00,0x00,
0x04,0x04,0x7E,0x01,0x80,0x47,0x30,0x0F,0x10,0x27,0x00,0x47,0x80,0x7F,0x00,0x00,
/*距CBEE0*/
0x00,0x3E,0x22,0xE2,0x22,0x3E,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0xE2,0x02,0x00,
0x20,0x3F,0x20,0x1F,0x11,0x11,0x00,0x7F,0x44,0x44,0x44,0x44,0x44,0x47,0x40,0x00,
/*仪CD2C7*/
0x00,0x80,0x60,0xF8,0x07,0x00,0x1C,0xE0,0x01,0x06,0x00,0xE0,0x1E,0x00,0x00,0x00,
0x01,0x00,0x00,0xFF,0x00,0x80,0x40,0x20,0x13,0x0C,0x13,0x20,0x40,0x80,0x80,0x00,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 测距仪 课程设计