超声波测距Word文件下载.docx
- 文档编号:17880363
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:22
- 大小:499.11KB
超声波测距Word文件下载.docx
《超声波测距Word文件下载.docx》由会员分享,可在线阅读,更多相关《超声波测距Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
10.5.7——编写单片机程序
10.5.10——在keilC51中编译程序并调试程序,排除程序语法上的错误
10.5.12——领取元器件,根据电路原理图焊接硬件电路板
10.5.13——烧写软件程序到at89s52中
10.5.14——对系统综合调试
任务下达日期:
2
指导教师(签名):
学生(签名):
摘要:
本设计采用以AT89S52单片机为核心的电路,超声波处理模块20106所组成的超声波接收电路和六反相器HCC4069UBF组成的超声波发射电路。
在单片机的外围有时钟电路,复位电路,显示电路,电源电路时钟电路完成对单片机输入时钟信号,复位电路则在需要时对单片机复位,而显示电路对其P1口输出的信号进行显示,电源电路对交流电路进行整流,为电路提供正常稳定直流电压。
整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序循环彩灯等模块组成。
此系统能够完成发射、接受、显示等功能。
关键词:
单片机超声波压电晶体数码管测距
目录
1.设计背景…………………………………………………………1
1.1超声波测距背景…………………………………………………1
1.2超声波测距的目的和意义………………………………………1
2.设计方案……………………………………………………1
2.1方案讨论……………………………………………………………1
2.2方案论证……………………………………………………………2
3.方案实施……………………………………………………2
3.1硬件设计…………………………………………………2
3.2软件设计…………………………………………………6
4.结果与结论…………………………………………………7
4.1结果………………………………………………………7
4.2结论………………………………………………………8
5.收获与致谢……………………………………………………8
6.参考文献………………………………………………………8
7.附录……………………………………………………………9
附录一:
超声波测距原理图…………………………………………9
附录二:
超声波测距PCB图…………………………………………10
附录三:
超声波测距程序……………………………………………11
附录四:
超声波测距元器件清单……………………………………18
1.设计背景
1.1超声波测距的背景
随着科学技术的快速发展,超声波将在测距仪中的应用越来越广。
但就目前技术水平来说,人们可以具体利用的测距技术还十分有限,因此,这是一个正在蓬勃发展而又有无限前景的技术及产业领域。
展望未来,超声波测距仪作为一种新型的非常重要有用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。
尤其是机器人的快速发展,对超声波测距的要求更加迫切。
1.2超声波测距的目的和意义
超声波测距的普及,其主要目的在于某些非正常工作的环境,如在生活中的污水排水管道,在科研中地下勘探,在军事中海底潜艇声纳测距,降低潜艇声纳噪音等。
超声波测距还可于自动化结合,在自动控制中用于更高精准的控制算法,与伺服电机共同工作,从而达到更高的控制精度。
因此,超声波测距正在被广泛的研究和使用。
设计和研究超声波测距具有深远的意义。
不仅是人们生活所需,更是国防战略必须掌握的高科技技术。
2.设计方案
2.1方案讨论
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。
超声波发生器可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、电动型等;
机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率、和声波特性各不相同,因而用途也各不相同。
目前在近距离测量方面常用的是压电式超声波换能器。
根据设计要求并综合各方面因素,本文采用AT89C51单片机作为控制器,用动态扫描法实现LED数字显示,超声波驱动信号用单片机的定时器。
2.2方案论证
测距仪的分辨率取决于对超声波传感器的选择。
超声波传感器是一种采用压电效应的传感器,常用的材料是压电陶瓷。
由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比;
而频率高分辨率也高,故短距离测量时应选择频率高的传感器,而长距离的测量时应用低频率的传感器。
3.方案实施
3.1硬件设计
工作原理。
单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。
整体设计。
以单片机为中心,在其外围有时钟电路,复位电路,显示电路,电源电路。
时钟电路完成对单片机输入时钟信号,复位电路则在需要时对单片机复位,而显示电路对其P1口输出的信号进行显示,电源电路对交流电路进行整流,为电路提供正常稳定直流电压。
另外留有超声波发生器的接受和发射口。
为设计美观还在电路板上设计了循环彩灯。
蜂鸣器负责警报。
还有USB烧程序的入口,方便程序的烧入。
见附录一超声波测距原理图。
AT89S52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
图1AT89S52
复位电路。
电平复位是通过RST断经电阻与电源Vcc接通而实现的。
如图2。
当时钟频率选用6MHz时,C取22μF,Rs取200Ω,Rk取1KΩ。
由于RC的充电过程,在RST端出现一定宽度的正脉冲,只要该正脉冲保持一定宽度,就能使单片机自动复位。
图2复位电路
时钟电路。
由石英振荡器和微调电容构成一个稳定的自己振荡器,电路中的电容C5和C6典型值通常选择为30pF左右。
对外接电容值虽然没有严格的要求,但电容的大小会影响震荡频率的高低、振荡器的稳定性和起振的快速性。
另外要求晶振和电容尽可能的安装的与单片机芯片靠近,以减少寄生电容,更好保证振荡器稳定、可靠的工作。
如图3.
图3时钟电路
整流电路。
主要器件为7805和桥堆。
三端稳压集成电路7805:
用7805三端稳压器组成稳压电源输出电压稳定,电压大小为+5V,满足单片机的工作电源需求,7805所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。
桥堆2W10:
将交流电压变为直流电压。
整流桥堆是由四只整流硅芯片作桥式连接,外用绝缘朔料封装而成,大功率整流桥在绝缘层外添加锌金属壳包封,增强散热。
整流桥品种多:
有扁形、圆形、方形、板凳形(分直插与贴片)等,有GPP与O/J结构之分。
最大整流电流从0.5A到100A,最高反向峰值电压从50V到1600V。
如图4
图4电源电路
显示部分。
用四位数码管显示,从P1口输入,在每个端口串联一个1KΩ的电阻,否则驱动能力过强,减小数码管使用寿命。
而选通端因为需要驱动较强,用三极管放大。
如图5。
图5显示部分
接受和发射部分。
用P3.0和P3.2口发送和接受超声波信号。
如图6。
输出端采两个反向器并联,用以提高驱动能力。
上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。
如图7。
压电式超声波换能器是利用压电晶体的谐振来工作的。
超声波换能器内部有两个压电晶片和一个换能板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;
反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。
超声波的接收是将探测波的回波的声能转换为电信号,实现信号声波的接收。
在被测物距离较远的情况下回波较弱,要求将信号多次放大,放大吼的信号整形、比较、处发后产生中断信号,此中断信号向CPU发中断请求,执行中断服务程序。
超声波从发射到接收的时间间距的测量,是由单片机内部的计时器(T0)来完成的。
在CPU停止发送脉冲群后,由于电阻尼,换能器不会立即停止发送超声波,在一定时间内仍然发送。
这段时间的存在使系统不能够测量比较近的物体,形成所谓的“盲区”。
用20106接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
适当更改电容C和电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。
如图8。
图6接受发射入口图7超声波发射器
图8超声波接收器
其余部分。
用P2的四个口外接八个LED灯。
蜂鸣器为P3.1口外接,但需要三极管增大其驱动能力。
3.2软件设计
1.算法设计
超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。
这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。
距离的计算公式为:
d=s/2=(c×
t)/2
其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。
在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。
当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。
2.超声波测距程序流程图
N
YY
图9超声波测距程序流程图
3.超声波程序见附录7.3。
4.结果与结论
4.1结果
硬件电路由基本的显示电路、超声波发射电路和超声波接收电路三部分组成。
软件算法则由定时中断子程序和外部中断子程序组成。
在DXP中设计好硬件,焊好板子,复位开关正常使用,可使单片机在外部需要是重启工作。
四位共阳数码管显示正常,测距基本准确。
蜂鸣器会根据测出距离的不同提示不同频率的蜂鸣警报。
数码管能正常显示距离。
基本完成设计要求。
4.2结论
超声波测距的普及,其主要目的在于某些非正常工作的环境,如在生活中的污水排水管道,在科研中地下勘探,在军事中海底潜艇声纳测距,降低潜艇声纳噪音等。
5.收获与致谢
在本次课程设计中,我们首先预习了单片机后面没有学习的课程,最主要的中断,计数器计时器功能。
为以后的单片机学习打下了基础。
在硬件的设计中,复习了以前学习的数电、模电、电路等基础课程,把他们串联起来,形成一个知识系统。
并且通过本次实习使我了解到了在数字电子技术及电路等一些方面知识的贫乏,让我发现自身的不足,能在以后的学习中能够弥补和改正这些不足之处,这也能在我以后的学习中有一定得帮助,在这次实习后还让我学会使用了对DXP软件的使用有了长足的进步。
在烙焊过程中培养了我们的动手能力。
首先要感谢辅导老师段德功老师,在这两周的时间里给我们很多指导,攻破几处技术性难关。
感谢系里安排了这次课程设计,这是很有必要的,便于我们梳理学习过的知识。
另外还要感谢我的组员们,是大家在一起的团结和努力才有了今天的成就。
6.参考文献
[1]阎石,数字电子技术基础(第五版)高等教育出版社2005.03
[2]童诗白,华成英.模拟电子技术基础.高等教育出版社。
7.附录
附录一:
超声波测距原理图
图10超声波测距单片机原理图
图11超声波测距发射、接收器原理图
附录二:
超声波测距PCB图
图12超声波测距PCB板图
附录三:
超声波测距程序
#include"
reg51.h"
#include<
intrins.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineulongunsignedlong
sbittransfer=P3^0;
sbitreceiver=P3^2;
sbitspeak=P3^1;
/*数码管位选控制*/
sbitledwei0=P3^5;
sbitledwei1=P3^7;
sbitledwei2=P3^6;
sbitledwei3=P3^4;
ucharTimerH,TimerL,temp,i,a,b;
ulongrealTimer;
//存放真测量时间
ulongreal_dis;
//存放测量距离
uintdis_flag;
//距离计算标志位
uintalarm_flag100=0;
//用于报警
uintalarm_flag50=0;
uintalarm_flag20=0;
uintalarm_flag10=0;
uintwei0,wei1,wei2,wei3;
ucharledflag=0;
//数码管标志位,用于刷新
ucharsend_flag=0;
ucharcount=0;
//定时器T0计数
ucharledcode[11]={0x30,0xbb,0xa4,0xa8,0x2b,0x68,0x60,0xb9,0x20,0x28,0xff};
/*延时函数*/
voiddelay(uintcount)
{
while(count--);
}
/*超声波发送函数--40KHZ*/
voidCLK40K()
uchari=4;
//发送的波形数量=(i/2)
TR0=1;
//STARTTIME0,同时发送40KHZ方波
do
{
transfer=~transfer;
_nop_();
_nop_();
}
while(--i);
/*距离测量函数*/
voiddistance(void)
{
realTimer=TimerH*256+TimerL;
real_dis=realTimer*164/10000;
//单位cm
wei0=real_dis%10;
wei1=(real_dis/10)%10;
wei2=(real_dis/100)%10;
wei3=real_dis/1000;
}/*显示刷新函数函数*/
voiddisplay(void)
switch(ledflag)
case0:
P1=ledcode[wei0];
ledwei0=1;
ledwei1=0;
ledwei2=0;
ledwei3=0;
break;
case1:
P1=ledcode[wei1];
ledwei0=0;
ledwei1=1;
case2:
P1=ledcode[wei2];
ledwei2=1;
case3:
P1=ledcode[wei3];
ledwei3=1;
}
ledflag++;
if(ledflag==4)
ledflag=0;
delay(0x80);
//768us=0.768ms//520次
/*报警处理函数*/
voidalarm_light(void)
if(real_dis<
=10)
{
speak=1;
elseif(real_dis<
20)
if(alarm_flag20>
=1)
{
speak^=1;
alarm_flag20=0;
}
50)
if(alarm_flag50>
=2)
alarm_flag50=0;
100)
if(alarm_flag100>
=4)
alarm_flag100=0;
else
speak=1;
/*系统初始化程序*/
voidinit()//系统初始化
temp=0xfe;
P2=temp;
TMOD=0X11;
//初始化定时器T0,T1用于产生40hz发射波
TH0=0x00;
TL0=0x00;
TH1=0x00;
TL1=0x00;
TF1=0;
PX0=1;
ET1=1;
EA=1;
TR1=1;
//启动定时器1
IT0=0;
//外部低电平触发方式
voidint0(void)interrupt0//关闭计数器,存计数值,置标志
EA=0;
//关闭中断
EX0=0;
//关外部中断
TimerL=TL0;
//读取数值
TimerH=TH0;
TR0=0;
//关闭定时器0
dis_flag=1;
//距离计算标志
}
voidtime1(void)interrupt3
send_flag=1;
//开启接收回波中断
/*系统主函数*/
voidmain()
unsignedinti,j;
init();
//系统初始化
real_dis=150;
//y预设初值,防止开机未发射超声波,电机锁死
delay(0x40);
while
(1)
if(send_flag==1)
/*报警级别计数*/
alarm_flag100++;
alarm_flag50++;
alarm_flag20++;
alarm_flag10++;
/*报警级别计数*/
send_flag=0;
count++;
if(count==5)
count=0;
CLK40K();
delay(0x40);
//延时,避开发射的直达声波信号,可以调节测量的最小距离
EX0=1;
if(dis_flag==1)
dis_flag=0;
distance();
EA=1;
display();
//调用显示函数
if(real_dis<
for(i=1;
i<
9;
i++)//循环下移
{
a=temp>
>
i;
b=temp<
<
(9-i);
P2=a|b;
for(j=1;
j<
j++)
delay(200);
display();
//调用显示函数
alarm_light();
附录四:
元器件清单
表1元件清单
AT89S52
1
晶振11.0592MHZ
瓷片电容33PF
2
电解电容22UF
电解电容1000UF
LED指示灯
9
共阳数码管4位
三极管9013
5
电阻5.1K
电阻300
电阻1K
电阻4.7K
4
蜂鸣器
桥堆2W10
40脚IC插座
拨动开关
按键
超声波发射器
超声波接收器
指导教师评语:
课程设计报告成绩:
,占总成绩比例:
30%
课程设计其它环节成绩:
环节名称:
考勤,成绩:
20%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超声波 测距