




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机得超声波测距系统实验报告一、实验目得1、了解超声波测距原理;2 .根据超声波测距原理,设汁超声波测距器得硬件结构电路;3 .对设il得电路进行分析能够产生超声波,实现超声波得发送与接收,从而实现利用 超声波方法测量物体间得距离;4. 以数字得形式显示所测量得距藹;5、用蜂鸣器与发光二极管实现报警功能、二、实验内容1、认真研究有关理论知识并大量査阅相关资料,确定系统得总体设讣方案,设计岀系 统框图;2. 决左各项参数所需要得碾件设施,完成电路得理论分析与电路模型构造。3。对各单元模块进行调试与验证;4、对单元模块进行整合,整体调试;5. 完成原理图设讣与硬件制作;6. 编写程序与整体调
2、试电路;7。写出实验报告并交于老师验收。三、实验原理超声波测距就是通过不断检测超声波发射后遇到障碍物所反射得回波,从而测出发射 与接收回波得时间差t,然后求出距S二C t /2,式中得C为超声波波速。由于超声波也就是 一种声波,其声速C与温度有关。在使用时,如果温度变化不大,则可认为声速就是基本不 变得。如果测距精度要求很髙,则应通过温度补偿得方法加以校正、声速确龙后,只要测得 超声波往返得时间,即可求得距离。这就就是超声波测距仪得机理,单片机(AT89C51)发出 短暂得40kHz信号,经放大后通过超声波换能器输出;反射后得超声波经超声波换能器作 为系统得输入,锁相环对此信号锁左,产生锁左信
3、号启动单片机中断程序,得岀时间t,再由 系统软件对其进行计算、判别后,相应得汁算结果被送至LED显示电路进行显示、(一)超声波模块原理:($1 A 和末沛焰+L审物原1,8 分频,TCNT为(单位:ms):超声波模块釆用现成得HC-SRO 4超声波模块,该模块可提供2cm-4 0 0 cm得非 接触式距藹感测功能,测距精度可达髙到3mm、模块包括超声波发射器、接收器与控制 电路。基本工作原理:采用10 口 TRIG触发测距,给至少10us得髙电平信号;模块 自动发送8个40khz得方波,自动检测就是否有信号返回;有信号返回,通过10 口 ECHO输出一个髙电平,髙电平持续得时间就就是超声波从发
4、射到返回得时间。测试距离= (髙电平时间*声速(340M/S) / 2.实物如下图1。其中VCC供5V电源,GND为地 线,TRIG触发控制信号输入,ECHO回响信号输岀等四支线。程序中测:T0预设勺T =(定艮 其中定时!(二)超声;完成产生超声波与接收超声波这种功能得装置就就是超声波传感器,习惯上称为超声 换能辭,或者超声波探头。超声波探头主要由压电晶片组成,既可以发射超声波,也可以接 收超声波。小功率超声探头多用作探测方而。它有许多不同得结构,可分直探头(纵波)、 斜探头(横波)、表面波探头(表面波)、兰姆波探头(兰姆波)、双探头(一个探头反射、 个探头接收)等.超声探头得核心就是其塑料
5、外套或者金属外套中得一块压电晶片。构成晶片得材料可 以有许多种。由于晶片得大小,如直径与厚度也各不相同,因此每个探头得性能都就是不同 得,我们使用前必须预先了解淸楚该探头得性能参数、 超声波传感器得主要性能指标包括:(1)1作频率。工作频率就就是压电晶片得共振频率。当加到它两端得交流电压得频 率与晶片得共振频率相等时,输出得能量最大,灵敏度也最髙、(2)工作温度、由于压电材料得居里点一般比较高,特别时诊断用超声波探头使用功率 较小,所以工作温度比较低,可以长时间地工作而不失效。医疗用得超声探头得温度比较高, 需要单独得制冷设备。亠(3)灵敏度。主要取决于制造晶片本身。机电耦合系数大,灵敏 度高
6、.人类能听到得声音频率范用为:2 OHz20 kHz,即为可听声波,超岀此频率范用得 声音,即20Hz以下频率得声音称为低频声波,20k【Iz以上频率得声音称为超声波。超声波 为直线传播方式,频率越高,绕射能力越弱,但反射能力越强。为此,利用超声波得这种性能 就可制成超声波传感器。另外,超声波在空气中得传播速度较慢,为34 0 m / s,这就使得超 声波传感器使用变得非常简便、我们选用压电式超声波传感器。它得探头常用材料就是压 电晶体与压电陶瓷,就是利用压电材料得压电效应来进行工作得、逆压电效应将髙频电振 动转换成髙频机械振动,从而产生超声波,可作为发射探头;而利用正压电效应,将超声振 动波
7、转换成电信号,可作为接收探头。为了研究与利用超声波,人们已经设计与制成了许多种超声波发生器。总体上讲, 超声波发生器大体可以分为两大类:一类就是用电气方式产生超声波,一类就是用机械 方式产生超声波。电气方式包括压电型、磁致伸缩型与电动型等;机械方式有加尔统笛、 液硝与气流旋笛等。它们所产生得超声波得频率、功率与声波特性各不相同,因而用途 也各不相同。目前较为常用得就是压电式超声波发生器。图2超声波传感器结构压电式超声波发生器实际上就是利用压电晶体得谐振来工作得。超声波发生器内部 结构如图所示,它有两个压电晶片与一个共振板、当它得两极外加脉冲信号,其频率等于压 电晶片得固有振荡频率时,压电晶片将
8、会发生共振,并带动共振板振动,便产生超声波。反 之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械 能转换为电信号,这时它就成为超声波接收器了。如图2所示、(三)超声波传感器原理:市而上常见得超声波传感器多为开放型,其内部结构如图3所示,一个复合式振动器被 灵活地固左在底座上、该复合式振动器就是由谐振器以及一个金属片与一个压电陶瓷片组 成得双压电晶片元件振动器。谐振器呈喇叭形,目得就是能有效地辐射由于振动而产生得超声波,并且可以有效地使超声波聚集在振动器得中央部位、当电压作用于压电陶瓷时,就会随电压与频率得变化产生机械变形。另一方面,当振动 压电陶瓷时,则会产生一
9、个电荷。利用这一原理,当给由两片压电陶瓷或一片压电陶瓷与一 个金属片构成得振动器,所谓叫双压电晶片元件,施加一个电信号时,就会因弯曲振动发射 出超声波。相反,当向双压电晶片元件施加超声振动时,就会产生一个电信号。基于以上作 用,便可以将压电陶瓷用作超声波传感器、且(I空外壳-引线端子金属丝网罩金属丝网牛压电晶片锥形共振盘 -锥形共振盘I附门入I n/】14钎 压电晶片9犀超过20KIIz夕卜壳现象,/7/场向振荡上发射时刻彳in诃时开始讣3声波接hl器收知反射甌E计时。超声波在空气中得传播速度为3 40m/ s ,根据计时器记录得时间t ,就可以 计算出发射点距障碍物得距离(s),即:s =
10、34 0 t/2由于超声波也就是一种声波,其声速V与温度有关。在使用时,如果传播介质温度变化 不大,则可近似认为超声波速度在传播得过程中就是基本不变得。如果对测距精度要求很 髙,则应通过温度补偿得方法对测量结果加以数值校正。声速确左后,只要测得超声波往返 得时间,即可求得距离、这就就是超声波测距仪得基本原理。四、方案设计硬件部分(一)总体方案设计本设计包括硬件与软件设计两个部分、模块划分为数据采集、按键控制、四位数码管 显示、报警等子模块。电路结构可划分为:超声波传感器、蜂鸣器、单片机控制电路、就 此设计得核心模块来说,单片机就就是设计得中心单元,所以此系统也就是单片机应用系 统得一种应用。单
11、片机应用系统也就是有硬件与软件组成。硬件包括单片机、输入/输岀 设备、以及外国应用电路等组成得系统,软件就是各种工作程序得总称、单片机应用系统 得研制过程包括总体设计、硬件设计、软件设计等几个阶段。系统采用STC8 9 C51单片 机作为核心控制单元,当测得得距离小于设定距离时,主控芯片将测得得数值与设左值进行比较处理。然后控制蜂鸣器报警匚系统总体得设汁方框图如图4所示。电源超声波传感器模块图4系统(二)主蜂鸣器报警模块STC89C51主捽制器模块按键控制4位数码管显示模 块主控制最小系统电路如图5所示。图5最小系统硬件电路总设计见图6,从以上得分析可知在本设讣中要用到如下器件:STC89C
12、5 1、超声波传感器、按键、四位数码管、蜂鸣器等一些单片机外由应用电路。英中D1为电 源工作指示灯。电路中用到3个按键,一个就是设泄键,一个加键,一个减键。S. S. B.图6总设计电路图(三)时钟电路得设计XTAL1与XTAL2分别为反向放大器得输入与输岀。该反向放大器可以配置为片内振 荡器。石晶振荡与陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接、因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机 器周期共有12个振荡周期,如果外接石英晶体振荡器得振荡频率为12MHZ, 一个振荡周 期为1/1 2 us,故而一个机器周期为lus。如图1所示为时钟电路。
13、图7时钟电路图(四)复位电路得设计复位方法一般有上电自动复位与外部按键手动复位,单片机在时钟电路工作以后,在 RESET端持续给出2个机器周期得髙电平时就可以完成复位操作。例如使用晶振频率为 12MHz时,则复位信号持续时间应不小于2us0本设汁采用得就是自动复位电路、如图8 示为复位电路、VCCGND图8复位电路图(五)声音报警电路得设计如下图所示,用一个Spea ker与三极管、电阻接到单片机得P13引脚上,构成声音 报警电路,如图9示为声音报警电路。图9声音报警电路图(六)显示模块显示模块釆用数码管显示接口电路如图10日.日.日.0.(七) 电源设计电源部分得设计采用3节5号干电池4o
14、5V供电。软件部分(-)主程序工作流程图按上述工作原理与硬件结构分析可知系统主程序工作流程图如下图11所示图11主程序工作流程图(二)超声波探测程序流程图:# d efin e u cha runsigned char# de f ine uintu n s ig n e d in t/数码管段选泄义9。012345 678uc h a r c o de smg_ du = 0xc 0,0xf9, 0 xa4, Ox b 0, 0 x 99, 0 x 9 2 , 0 x82, 0x f 8,0x80, 0 x9 0 ,-。0 x 8 8,0x83, Oxc 6 , Oxal, 0x86, 0x
15、8 e , Oxff / /断码/数码管位选泄义uchar code s mg_we =0 x eO, Ox d 0, OxbO, 0 x70;uc h ar d is_smg8 =0 x c 0,0 x f 9 , 0 xa4, Ox b 0,0x99, 0 x 92, 0x82, 0xf8: s b i t smg_w e 1 = P34;/数码管位选泄义sbit smg_we 2 = P 3 *5;sbi t sm g_w e 3 = P3 6 ;sbit smg_we4 = P3*7;sb i t c_send = P32;a/ / 超声波发射s bit c_re c i ve = P
16、3 3 冲/超声波接收uchar f 1 ag h c_ v al u e;/ /超声波中间变量s b i t b e ep = P 2 3;/蜂鸣器 I O 口定义bit f 1 ag_key_ b _ e n, f I ag_k e y_set_en; / /按键蜂鸣器使能u char smg_i =3;/显示数码管得个位数b it flag_300ms ;bit key_ 5 00ms1 o ng dist a n c e;/距离uin t set_d;。/距离bit f 1 ag_cs b_ju 1 i ;/超声波超出量程u i n t flag_ t ime 0 ;用来保存左时器0得
17、时候得/按键得10变虽得宦义uch a r key_c an;o /按键值得变量uc h ar zd_ b reak_en, zd_b re a k_v a 1 u e;/自动退出设置界而u c har m e nu_ s h ud u =10;/ /用来控制连加得速度bit flag_lj_en;3 /按键连加使能bit fl a g_lj_3_ e n;。/按键连3次连加后使能 加得数就越大了u char ke y _t i me, flag.va 1 u e;/用做连加得中间变量u c h ar menu_l;/菜单设计得变量uch a r a_a;/* * * 次* * * * 1 m
18、s 延时函数次 * * * * *次 * 次*/vo i d delay_lm s (ui n t q )mint i , j;for( i 二0;iVq;i+)of or(j =0;jkey_va 1 ue +;elsea k e y_v a 1 u e = 0;if (key_value = 5)oikey_value = 0;汝 e y_n e w = 1;g f la g _ 1 j_ e n二0;/关闭连加使能gflag_lj_3_en =0;/关闭3秒后使能3f 1 ag_value二 0;/淸零o k e y _t i me=0;writ e _e e p om();Zsedf(
19、P2 & 0x0 7) ! = 0x07)-key_ v alue +;/按键按下得时候oe 1 s ek ey_v a 1 ue = 0;i f (ke y _va 1 u e = 5)O key_val u e 二 0;。k e y_new = 0 ;f 1 ag_l j _en = 1;/ /连加使能zd_break_en = 1 ;/自动退出设程界使能a z d_bre a k_v a lue = 0; /自动退岀设置界变量淸零oof lag_k e y_b_e n = 1;/按键蜂鸣器使能aok e y_c an =20;4f ( k ey_500ms = 1 )。/ / 连加Hak
20、 e y_500m s = 0;ke y _ n ew 二 0;k ey_old = 1;zd_ b r e ak_val u e = 0;44f(key_new = 0) & (key_old =1)“swi t c h( P2 & 0x07)/ /得到k 2键值case 0x06: k e y_can = 3; break;cas e 0x05: key_ c an = 2; b reak;/得到 k3 键值/ /得到k4键值gca s e 0 x03: key_can = 1; br e a kdis_smg 3 = smg_duk e y_c an% 10;ok e y_old = k
21、 e y_ n e wv oid sm g _w e _ s w i t ch(u c har i)sw i tc h (i)vase 0: s mg_w e 1 = 0; s m g_we2 = 1; smg_we 3 = 1; smg _we4 = 1; break;case 1 : smg_wel = 1 ; smg_w e 2 = 0; smg _we3 = 1; smg_w e 4 = 1; b r e a k;x:ase 2: smg_w e 1 = 1; s mg_we2 = 1; smg_we3 = 0;smg_we 4 = 1; brea k;aca s e 3: smg_w
22、 e 1 = 1; s mg_we2 = 1 ; smg3 = 1;smg_we 40 ; bre a k;o o/次* * * * * *数码显示函数次 次*次* * * * 次 *法 * * 次*/v o i d di s p 1 ay()static uc h a r i;i+;i f(i = smg_ i )“i = 0;。/ Pl = Oxf f;/段选/ / P3 = 0 xfO (P3 & 0xOf); / 位选/卫3 = smg_weEi i (P3 & Ox 0 f); / / 位选smg_ w e _s w i t ch ( i );P 1= d i s_smg i 冲 /
23、 /段选v oid d e lay 0_nop_() ; o执行一条_no p 一()指令就就是lus_nop_();.no P.O;jnop_();_no p _ 0 ;_no p_();a_nop_();/* *次 *超声波测距程序* *次* * * 法* * * * 次 * * * */V oid s end wave ()c_send = 1;/ /10us得高电平触发d elay 0;吃_sen d = 0;THO = 0;o/给定时器0淸零oTLO = 0;TRO = 0 g /关左时器0左时fla g _ h c_v a lue = 0;呵Mle(!c_recive);/当 c_
24、 rec ive 为零时等待TRO=1;h i le(c_re c i v e)/当 c_re c ive 为 1 汁数并等待oflag.t i me 0 二 THO * 2 56 + TL 0 ;当超f (flag h c_value 1) I ( f lag_t i m e 0 6 5 0 00)声波超过测量范围时,显示3个8 88“R 0 = 0;“flag_csb_jul i = 2;3 di s t a nee = 8 88;flag_ h c_va 1 u e =0;br e ak ;Jelsenfl a g_ c s b_j u liJdf (f 1 ag_csb_ j u 1
25、i =二 1 )TRO= 0 ;。关定时器0定时distance二THO;。/读出定时器0得时间3 d i s ta nee = di s tance * 2 56 + T LO;dis t a nee +=( flag.h c _va 1 ue *6 5 5 36);/算出超声波测距得时间。得到单位就是msadi s tan c e * = Oc 0 1 7;/ Oo 0 1 7 = 3 40M / 2 =170M = Oo 017M算出来就是米-if(dist a nee 350)。距离=速度 * 时间O b。 d i s t a nee = 888;。3/如果大于3。8 m就超出超声波得
26、量程/ * * * *次*次次* *次泄时器0、泄时*器1初始化*次*次* * * 次 /void t ime_ i n i 10EA = 1; o /开总中断oTMOD = 0X11 ;o/定时器0.定时器1工作方式1ET0 = 1;。/开宦时器0中断TRO = 1严 /允许泄时器0定时TRI二1;。/允许左时器1左时。/*法*按键处理数码管显示函数次次*次次*法* / void k ey_wit h ()if (key_ can =1 )men u _ 1+;if (menu_l = 2)4 m e n u_l =0 ;必 f (menu_l =0)“menu_sh u d u = 20;
27、dis_ s mg 0 = s m g _d u d i s t a nee%10;dis_smg 1= smg_dudistance / 10 % 10 ;ad i s_smg2 = s mg_dudi stance / 100 % 101 &0x7f“sing_ i = 3;JMf (me nu_l =1)menu_s h u d u = 1;dis_ s mg 0= smg_du set_d % 1 0;dis_ s mgl= sm g_du s e t_d / 10 % 10;di s _ s mg 2二 smg_du set_d / 100 % 1 0 & 0x7f 工dis_smg
28、3. = 0x88;。s mg_i =4 ;0Jdf(menu_l二二1)。/设置高温报警0 。i f (flag_lj_3_en二二0)/三次连加之后速度加快 m e nu_shudu =10 ;/5 0 0ms 加减一次吒1 semenu_sh u d u =1;/ /25 0 ms 加减一次if(key_c a n = 2)3 gset_d +/ /按键按下未松开自动加三次。-i f (s et_d350)e t _d 二 350;/取小数显示/取个& 0x7f;/取十位dis_smg 0= smg_du set_d % 10;。8dis_smg 1= smg_d u s et_d /
29、1 0% 10位显示a dis_ smg 2 = smg_du s e t _d /100 % 10显示dis_ s mg 3 = 0x88;/a。i f (k e y_c a n = 3)辻(s e t _d bee p = be e p; 。/蜂鸣器报警。4吃1 s e 0v a lue =0 ;beep二1;。取消报警/次* *次* *次* *按键按下蜂鸣器响下* * * *次* *vo i d key_be e p()static uin t value;“i f (flag_ key_b_en 二二 1) & (f 1 a g_ k e y_se t _e n =1 )4 3 bee
30、p = 0;/打开蜂鸣器4 v a 1 u e +;if (value8 0 0)4 va 1 ue = 0 ;3 f 1 ag_ k ey_b_e n =0;beep二1;/关闭蜂鸣器avo i d mainOsend_wave();o/ /测距离函数nsmg_d i s p 1 a y ()/处理距离显示函数in i t _ e e p om() ;/ / 读 eep o m 数据h ile(l)aif (flag_ 3 00ms = 1) * lag_300ms =0;,clock_h_l();/报警函数se n d_wave 0 ; /测距离函数。 i f (men u_l = 0 )
31、a s mg_di s p 1 ay 0/处理距离显示函数df (zd_breaks e n = 1)33zd_b r e a k_value +;g i f (zd_ b reak_v a 1 u e 40 menu_l = 0;。osm g _i = 3;a z d br e a k e n =自动退出设置界面程序每3 0 0m s加一次100)/3 0秒后自动退出设宜界而/0;3zd_bre a k_ v a lue =0;/按键函数3i f (key_can1 0)/* *次* *法* *左时器0中断服务程序用做超声波测距得 次* * 法* * * * * * * * * 次* /vo
32、id timeO_in t () i n terrup t 1 OOO 3oset_d +; o /T1I0 TLO 到 65536 后溢出中断/次*次*次*次* * *次*立时器0中断服务程序次* * * * * * */void timel_int 0 inte r rupt 3。static uc h a r va 1 ueg /定时 1 Oms 中断一次oTHl = Oxf 8;TL 1= 0 x3 0 ;/2msdi s playO- /数码管显示函数value+;q i f (valu e = 150)w a 1 u e 二 0;Q f lag_30 0 ms = 1;o)if(va 1 u e % 2 5 = 0 )if(flag_ 1 j_e n1)/按下按键使能50msk e y_t i m e +;4if(key_t i me= me n u _shudu) /500msoo a key_time = 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省泰山外国语校2025届初三第三次化学试题模拟试题含解析
- 铜仁学院《预防医学概论》2023-2024学年第二学期期末试卷
- 南宁师范大学师园学院《医学免疫学D》2023-2024学年第二学期期末试卷
- 南通大学《功能基因组学》2023-2024学年第二学期期末试卷
- 江苏省无锡市港下中学2025届初三下学期元月调研考试化学试题含解析
- 江西工业工程职业技术学院《环境水文地质学》2023-2024学年第二学期期末试卷
- 西藏自治区拉萨市达孜区孜县达标名校2025年初三下学期八月月考数学试题含解析
- 西安交通工程学院《学术英语(人文)》2023-2024学年第一学期期末试卷
- 山西旅游职业学院《二维动作设计Ⅰ》2023-2024学年第二学期期末试卷
- 上海市实验校2025年初三下学期第三次月考(5月)物理试题试卷含解析
- 交房通知短信(5篇)
- 高中英语 A precious family dinner说课课件
- 工艺联锁图识读
- 2023年中南大学湘雅二医院康复医学与技术岗位招聘考试历年高频考点试题含答案解析
- GB/T 21567-2008危险品爆炸品撞击感度试验方法
- 卫生人才培养方案计划
- DB64-T 1684-2020 智慧工地建设技术标准-(高清可复制)
- 婚丧嫁娶事宜备案表
- “三级”安全安全教育记录卡
- 风生水起博主的投资周记
- 赛艇赛事活动推广方案
评论
0/150
提交评论