基于单片机的超声波测距报警系统设计文档格式.docx
- 文档编号:17768298
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:14
- 大小:610.57KB
基于单片机的超声波测距报警系统设计文档格式.docx
《基于单片机的超声波测距报警系统设计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的超声波测距报警系统设计文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
综合楼1313室)
四、设计时间与设计时间安排
1、设计时间:
2周
2、设计时间安排:
熟悉实验设备、实验、收集资料:
2
天
设计计算、绘制技术图纸:
5
编写课程设计说明书:
答辩:
1
一、设计题目2
二、设计任务及要求3
三、设计容3
1.绪论3
2.总体方案4
2.1总体设计方案4
2.2超声波测距框图.4
3.系统硬件设计5
3.1硬件设计方案5
3.2各主要模块的硬件设计6
4.系统软件设计10
4.1程序设计10
4.2程序流程图10
四、结束语13
五、参考文献13
附录A系统仿真图14
附录B程序代码15
一、设计题目
基于proteus仿真软件的超声波测距报警控制器设计
、设计任务及要求
利用所学数字电子技术、信号处理、控制等技术,设计、制作并调试完成一个单片机最小化系统。
在此基础上,将最小系统与综合实验开发平台上的超声波模块、显示模块进行正确的连接(如图1.1所示),使单片机可接收超声波模块输出的测量信号,并对其进行合理的处理后,在显示模块上实时显示超声波模块与障碍物的距离。
图1.1系统连接示意图
具体要求:
1、实验开发平台上的数码管可实时显示障碍物与超声波的距离信息,单位为
mm;
2、当测试距离大于0.5m时报警
三、设计容
1.绪论
利用超声波作为定位技术是蝙蝠等一些无目视能力的生物作为防御及捕捉猎物生存的手段,也就是由生物体发射不被人们听到的超声波(20kHz以上的机械波),借助空气媒质传播,由被待捕捉的猎物或障碍物反射回来的时间间隔长短与被反射的超声波的强弱判断猎物性质或障碍位置的方法。
超声波是由机械振动产生,可在不同介质中以不同的速度传播。
而且超声波的速度相对于光速要小的多,其传播时间就比较容易检测。
并且超声波具有定向性好、能量集中、在传输过程中衰减较小、反射能力较强等优点,超声波传感器可广泛应用于非接触式的位置距离检测。
2.总体方案
2.1总体设计方案
根据设计要求并综合各方面因素,本次设计AT89C52单片机作为控制器,用动态扫描法实现数码管显示,超声波驱动信号用单片机的定时器。
由单片机AT89C52编程产生125kHz的方波,经P3.0口连接到开发平台的超声波模块发送超声波,再经过放大电路,驱动超声波发射探头发射超声波。
发射出的超声波经障碍物反射回来后,经过P3.2口由超声波接收头接收到信号。
通过接收电路的检波放大、积分整形及一系列处理,送至单片机。
单片机利用声波的传播速度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物的距离,并由单片机控制在开发平台的显示模块中显示出来。
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量。
利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到农业生产等自动化的使用要求。
2.2超声波测距框图
单片机发出125kHZ的方波信号,经放大后通过超声波发射器输出;
超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t;
再通过软件编程进行判别、计算,得出所测距离数并经由LED数码管显示,其原理框图如图2.1。
超声波接收器放大电路锁相环检波电路
定时器
单片机控制
显示器
超声波发射器放大电路
图2.1超声波测距仪原理框图
发射器发出的超声波以速度υ在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t。
由公式:
测出的距离Lm=常温下的声速
340(m/s)感应时间t(s)2,算出被测物体的距离。
由于超声波也是一种声波,其声速v与温度有关,在使用时,如果温度变化不大,则可认为声速是基本不变的,本次设计将声速设定为344m/s。
3.系统硬件设计
3.1硬件设计方案
3.1.1超声波测距原理
单片机在T0时刻发射方波,同时启动计数器开始计时,当收到回波后,产生一个负跳变沿信号到单片机的外部中端口,单片机响应中断程序,计数器停止计数。
计算时间差,即可得到超声波在媒介中传播的时间t,由此便可计算出距离。
其时序图如图3.1所示。
图3.1超声波时序图
3.1.2硬件电路设计
硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路,报警模块四部分。
单片机采用AT89C52,使用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。
单片机用P3.0端口输出超声波换能器所需的125kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。
显示电路采用简单实用的4位共阳LED数码管,段码用P0口控制,位码用P2口控制。
3.2各主要模块的硬件设计
3.2.1AT89C52芯片简介
图3.2AT89C52芯片管脚图
AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。
AT89C52是一个低电压,高性能CMOS8位单片机,片含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每引脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码
输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高
P1口:
P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1时”,其管脚被部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1时”,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1后”,它们被部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
3.2.2单片机最小系统
本文单片机型号为AT89C52,采用频率为12MHz晶振和两个电容组成的晶振电路,为单片机提供工作时序。
复位电路是按键电平复位,是通过使复位端经
电阻与VCC电源接通而实现。
最小系统电路图如图3.2所示
图3.3单片机最小系统
3.2.3超声波发射电路
超声波发射电路原理图如图3.4所示。
发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P3.0端口输出的125kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。
输出端采两个反向器并联,用以提高驱动能力。
上位电阻R1O、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。
图3.4超声波发射电路原理图
3.2.4超声波检测接收电路
集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。
实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。
3.2.5显示电路设计
显示电路采用简单实用的4位共阳LED数码管,段码用P0口控制,位码用
P2口控制。
接P2.0,P2.1,P2.2,P2.3引脚的分别为千位,百位,十位,个位显
示数码管。
3.2.6报警模块
本系统选用单片机P1.1连接报警电路。
通过软件编程来控制蜂鸣器报警时间长短来表示所测距离是否超限。
当蜂鸣器发出报警声时,说明测得距离大于
50cm。
报警电路如图3.7所示
图3.7报警电路
4.系统软件设计
4.1程序设计
系统软件采用模块化设计,主要包括主程序设计、超声波发射子程序、LED显示子程序设计等。
主程序首先是对系统环境初始化,设置计数器T0工作模式为16位定时计数器模式。
置位总中断允许位EA并给显示端口P0和P2清0。
然后调用超声波发生子程序送出一个超声波脉冲,打开外中断0接收返回的超声波信号。
测出距离后结果将以十进制BCD码方式送往LED显示约5ms,然后再发超声波脉冲重复测量过程。
为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。
4.2程序流程图
4.2.1主程序流程图
4.2.2超声波发射模块流程图
4.2.3显示模块流程图
四、结束语
在本次设计中,我们广泛借鉴了各种设计的优点,讨论并研究各个设计环节,包括如何产生125KHz方波,如何在接收电路中对其进行滤波、放大、整形等问题。
但由于条件和技术有限,对于在发射和接收过程中所产生的误差没有考虑并矫正,如温度误差、硬件电路误差等。
在为期两周的设计中,我们运用之前所学的知识,如单片机、C语言等。
了解了超声波传感器的原理,学会了各种放大电路的分析和设计,也掌握了单片机开发过程中所涉及的开发方法和工具。
动手能力与自学能力得到了锻炼和提高。
可以说为今后的工作、学习打下了坚实的基础。
本次的设计也让我们认识到仿真软件不是万能的,有些东西是没法进行仿真的,比如本设计中需要有一个挡板就是仿真不出来的,在实物设计中可以实现。
所以,我们不能过于依赖仿真,要把仿真与实践相结合才能有更好地研究成果。
五、参考文献
[1]沙占友.集成化智能传感器原理与应用[M].:
电子工业,2004.
[2]吴研.超声波倒车雷达系统设计[J].:
理工大学,2005.
[3]肖景和,健.红外线热释电与超声波遥控电路[M].:
人民邮电,2003.
[4]史谚宾.基于AT89C2051的超声波测距仪设计[J].:
航空航天,2006
[5]路锦正,王建勤.超声波测距仪的设计[M].:
理工大学,1999.
[6]基于单片机智能系统的设计与实现[M].:
人民邮电,2005.
[7]赖寿宏.微型计算机控制技术[M].:
机械工业,2002.
[8]王兆安,黄俊.电力电子技术[M].:
机械工业,2003.
[9]邱关源.电路[M].:
高等教育,1999.
[10]尤一鸣.单片机总线扩展技术第一版[M].:
航空航天大学,1993.
附录A系统仿真图
附录B程序代码
#include<
reg52.h>
#defineuintunsignedint
#defineucharunsignedchar
sbitTsonic=P3^0;
sbitRsonic=P3^2;
sbitbuz=P1^1;
uintdistance=0;
floatn=0.172;
//超声波速度为344m/s
uchara,e,c,d;
ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};
voidclose()
{
P0=0xff;
P2=0xff;
buz=0;
}
voiddelay4us()
{;
;
voiddelayms(uintk)
uintm,n;
for(n=k;
n>
0;
n--)
for(m=110;
m>
m--);
voidsonic()
uchari;
for(i=10;
i>
i--){
Tsonic=1;
delay4us();
Tsonic=0;
delay4us();
voidData(uchara,uchare,ucharc,uchard)
if(a==0&
&
e==0&
c==0&
d==0){a=10;
e=10;
c=10;
d=10;
P2=0x01;
//a千位
P0=table[a];
delayms(5);
P2=0x02;
//b百位
P0=table[e];
P2=0x04;
//c十位
P0=table[c];
P2=0x08;
//d个位
P0=table[d];
voidmain()
close();
TMOD=0x01;
//设置计数器0工作为方式1
TH0=0;
TL0=0;
//计数器0赋初值0
ET0=1;
//允许T0中断
IT0=1;
//设置中断触发方式为下降沿触发方式
EX0=1;
//打开外部中断0
EA=1;
//开总中断
TR0=1;
while
(1)
//启动计数器0
sonic();
if(distance>
500)
buz=1;
elsebuz=0;
Data(distance%10000/1000,distance%1000/100,distance%100/10,distance%10);
}
voidtimer0()interrupt1
//计数器0中断
{distance=0;
voidex0()interrupt0
//外部0中断
EX0=0;
//禁止外部中断0
TR0=0;
//关闭计数器0
distance=(int)((TH0*256+TL0)*n);
//根据测得时间计算距离TH0=0;
//计数器0清零
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 超声波 测距 报警 系统 设计