智能仪器设计超声波测速.docx

上传人:b****8 文档编号:30153693 上传时间:2023-08-05 格式:DOCX 页数:11 大小:158.57KB
下载 相关 举报
智能仪器设计超声波测速.docx_第1页
第1页 / 共11页
智能仪器设计超声波测速.docx_第2页
第2页 / 共11页
智能仪器设计超声波测速.docx_第3页
第3页 / 共11页
智能仪器设计超声波测速.docx_第4页
第4页 / 共11页
智能仪器设计超声波测速.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

智能仪器设计超声波测速.docx

《智能仪器设计超声波测速.docx》由会员分享,可在线阅读,更多相关《智能仪器设计超声波测速.docx(11页珍藏版)》请在冰豆网上搜索。

智能仪器设计超声波测速.docx

智能仪器设计超声波测速

摘要

本文介绍了AT89C2051单片机的性能和特点,并在分析了超声波测距原理的基本上,指出了设计测距仪的思路和所需考虑的问题,给出了实现超声波测距方案的软、硬件设计系统框图。

该设计系统经校正后,其测量精度可达0.1米。

关键词:

超声波;测距;换能器;AT89C2051

 

综述

超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:

液位、井深、管道长度等场合。

目前国内一般使用专用集成电路设计超声波测距仪,但是专用集成电路的成本很高,并且没有显示,操作使用很不方便。

本文介绍一种以AT89C2051或GSM97C2051单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。

 

1超声波测距原理

超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差t,然后求出距离S=Ct/2,式中的C为超声波波速。

由于超声波也是一种声波,其声速C与温度有关,表1列出了几种不同温度下的声速。

在使用时,如果温度变化不大,则可认为声速是基本不变的。

如果测距精度要求很高,则应通过温度补偿的方法加以校正。

声速确定后,只要测得超声波往返的时间,即可求得距离。

这就是超声波测距仪的机理。

其系统框图如图1所示。

表1声速与温度关系表

温度(℃)

-30

-20

-10

0

10

20

30

100

声速(米/称)

313

319

325

323

338

344

349

386

定时器

电声换能器

振荡器

调制器

计时器

声电换能器

接收检测

控制

显示器定时器

图1系统结构框图

 

2AT89C2051的功能特点

 AT89C2051(如图2)是一个2k字节可编程EPROM的高性能微控制器。

它与工业标准MCS-51的指令和引脚兼容,因而是一种功能强大的微控制器,它对很多嵌入式控制应用提供了一个高度灵活有效的解决方案。

AT89C2051有以下特点:

2k字节EPROM、128字节RAM、15根I/O线、2个16位定时/计数器、5个向量二级中断结构、1个全双向的串行口、并且内含精密模拟比较器和片内振荡器,具有4.25V至5.5V的电压工作范围和12MHz/24MHz工作频率,同时还具有加密阵列的二级程序存储器加锁、掉电和时钟电路等。

此AT89C2051还支持二种软件可选的电源节电方式。

空闲时,CPU停止,而让RAM、定时/计数器、串行口和中断系统继续工作。

可掉电保存RAM的内容,但可使振荡器停振以禁止芯片所有的其它功能直到下一次硬件复位。

 AT89C2051有2个16位计时/计数器寄存器Timer0tTimer1。

作为一个定时器,每个机器周期寄存器增加1,这样寄存器即可计数机器周期。

因为一个机器周期有12个振荡器周期,所以计数率是振荡器频率的1/12。

作为一个计数器,该寄存器在相应的外部输入脚P3.4/T0和P3.5/T1上出现从1至0的变化时增1。

由于需要二个机器周期来辨认一次1到0的变化,所以最大的计数率是振荡器频率的1/24,可以对外部的输入端P3.2/INT0和P3.3/INT1编程,便于测量脉冲宽度的门。

充分利用AT89C2051的片内资源,即可在很少外围电路的情况下构成功能完善的超声波测距系统。

图2AT89C2051引脚图

 

3系统硬件电路设计

超声波测距仪的硬件电路如图3所示。

图3系统总电路图

AT89C2051通过外部引脚P1.6输出脉冲宽度为250μs,载波为40kHz的10个脉冲的脉冲群,以推挽形式加到变压器的初级,经升压变换推动超声波换能器发射出去。

在发射的同时,P1.7输出一个高电平启动,给电容C4充电。

发射结束时高电平翻转为低电平,C4开始对R2、R3组成的分压器放电并输出到比较器的负端。

超声波接收换能器将接收到的障碍物反射的超声波送到放大器进行放大,这是一个高增益、低噪声放大器,在对放大后的信号进行检波后将检测回波送到比较器的正输入端。

发射时P1.7输出的电平可以抑制比较器的翻转,这样就可以抑制发射器发射的超声波直接辐射到接收器而导致错误检测。

从图中可以看到,测出回波和发射脉冲之间的时间间隔,利用S=Ct/2就可以算出距离,再在LCD上显示出来。

当然还可以设置若干个键,以用来控制电路的工作状态。

限制系统的最大可测距离存在四个因素:

超声波的幅度,反射而的质地,反射而和入射声波之间的夹角以及接收换能器的灵敏度。

接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。

4系统软件设计

AT89C2051单片机和其开发应用系统具有语言简洁、可移植性好、表达能力强、表达方式灵活、可进行结构化设计、可以直接控制计算机硬件、生成代码质量高、使用方便等诸多优点。

超声波测距仪就是用AT89C51单片机开发设计的。

它采用模块化设计,由主程序、发射子程序、查蟓接收子程序、定时子程序、显示子程序等模块组成。

图4和图5分别为主程序和测量子程序的流程图。

该系统的主程序处于键控循环工作方式,当按下测量键时,主程序开始调用发射子程序、查询接收子程序、定时子程序,并把测量结果用显示子程序在液晶屏上显示出来。

测量子程序开始

开始

调用发射超声波子程序

系统初始化

监视接收输入,并进行时间测量

检查按键

接收脉冲到,本次测量结束来

调用测量子系统

退回

调用显示子程序更新显示

  

 图4主程序流程图图5测量子程序流程图

必须指出的是,由于液晶要使用同一P3口,所以必须全部使用位操作,否则将导致LCD不能正常显示。

另外,在系统还可以加入温度传感器来监测环境温度,把表1所列的数据做到程序中可进行温度被偿。

为了增强系统的可靠性,应在软硬件上采用一些特殊措施。

相关程序如下:

#pragmaDBOECDOT(5,SPEED)ROM(LARGE)IV

/*连接所需要的库*/

   #include

   #include

   #include

   /*定义数据类型*/

   typedefunsingnedcharbyte;

typedefunsignedintword

   #defineucharunsignedchar

   #defineunintunsignedint

   #defineulongunsignedlong

   /*定义系统常数*/

   #defineTRUE1

   #defineFALSE0

   #defineC=340/*声速*/

   /*定义功能位*/

   sbitbflag=ACC7;

   sbitVOLCK=P1^5;

   sbitMING=P3^5;

   sbitQUIET=P1^3;

   sbitBACK=P1^2;

   /*定义显示缓冲区*/

   ucharidataON[16]={’,’L’,’E’,’N’,’G’,’T’,’H’,’=’,’8’,’.’,’8’,8’,’m’,’’,’’,’’};

   /*主程序用延时子程序*/

   woidmain-delay(void)

   {

   registeri;

   TRO=1;

   for(i=0;i<15;i++)

   {

   TH0=0;

   TL0=0;

   Do{}while(!

TF0);

   TF0=0;

   }

   TR0=0;

}

   */通用延时子程序*/

   voiddelay(void)

   {

   uninti;

   for(i=0;i<200;i++){;}

   }

   /*键盘延时子程序*/

   voidkey-delay(void)

   {

   uninti;

   for(i=0;i<200;i++){;}

   }

   /*初始化程序*/

   voidstart_main()

   {

   tegisteri;

   uchara[16]={’’,’L’,’E’,’N’,’G’,’T’,’H’,’=,’8’,’.’,’8’,’8’,’m’,’’,’’,’’};

   for(i=0;<16;i++)

   {ON[i]=a[i];}

   nitlcd();/*初始化液晶*/

   display(ON);/*更新显示*/

   }

   /*主程序*/

   voidmain()

   {

   registers,keycode;

   longidatat;

   start-main();/*初始化*/

main-delay();/*延时*/;

   if(keycoed==true)

   {

   keycode=key-scan-wait();

   /*判断是否有测量键按下*/

   t=measure();*/测量*/

   S=0.5*t*C;*/换算*/

   Decode-bcd(s.0x09);

   /*把测量结果置换入显示缓冲区*/

   init-lcd();/*初始化液晶*/

   display(ON);/*更新显示*/

   }

   }

 

结论

 虽然用一个单独计时器电路也可以测量超声波的传输时间,但本系统利用AT89C2051单片机可以简化设计,通过软件计算可直接将所测距离在LCD上显示出来,便于操作和直观读数,且测量的精度比较高,可以满足大多数场合的测距要求。

 

心得与体会

在初淑香老师的指导下,从开始收集资料到设计出完整的基于AT89C2051单片机的超声波测距仪,为自己的以后学习积累了宝贵的经验。

1)要在广泛收集资料的前提下,要取其精华,更要学会快速掌握资料和利用资料;

2)思维要敏捷,学习要严谨,在设计与实验中不能有半点模糊与虚假;

3)通过课程设计,也反映出自己基础知识不牢固,掌握的知识少的缺点;

4)设计优秀的方案,必须有雄厚的知识,能够创新,不断了解学习相关方面的新识,例如对各种仪表器件功能的理解。

在设计过程中,往往是先进行设计分析,然后确定设计方案,最后进行详细的设计。

在这一过程中,自己亲自经历和参与设计,知道了设计的步骤,为以后的毕业设计做了铺垫.使得自己以后在做毕业设计时更加的顺手,更容易完成一篇优秀的毕业设计

 

参考文献

[1]付华,郭虹,徐耀松.智能仪器设计.北京:

国防工业出版社,2007.8

[2]张华,赵文柱.热工测量仪表.北京:

冶金工业出版社,2006.9

[3]何坚强.AT89C2051高性能单片机及其应用[J].仪表技术,1997年04期,14-16

[4]金文.高性能单片机AT89C1051/AT89C2051的原理及应用[J].国外电子元器件,1997年09期,27-30

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1