单片机超声波测距设计书_第1页
单片机超声波测距设计书_第2页
单片机超声波测距设计书_第3页
单片机超声波测距设计书_第4页
单片机超声波测距设计书_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机超声波测距设计书 1 概述 通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道 距离了。这与雷达测距原理相似。超声波发射器向某一方向发射超声波,在发射时 刻的同时开始计时,超声波在空气中传播,途屮碰到障碍物就立即返回来,超声波接收器收到反射 波就立即停止计时。(超声波在空气中的传播速度为340m/s,根据计时 器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 ) 超声波指向性强,在介质中传播的距离较远,因而超声波经常用于距离的测量, 如测距仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计 算简单、易于做到实时控制,并且在测量

2、精度方面能达到工 业实用的要求,因此 在移动机器人的研制上也得到了广泛的应用。 为了使移动机器人能自动避障行走,就必须装备测距系统,以使其及 时获取 距障碍物的距离信息(距离和方向)。本文所介绍的三方向(前、左、右)超声 波系统,就是为机器人了解其前方、左侧和右侧的环境而提 供一个运动距离信 息。 2超声波测距模块驱动 2 IDuS 的 TTL 逊信号 画坏发出个401辰就沖 Hi Hl A n 0 fl C 楔块內部 发出烷号 谖岀酣回响电平镐出 馆号為检距禹昵比例 超声波模块控制时序图 启动模块 超声波模块启动程序 void StartModule() / TX=1; /启动一次模块 _n

3、op_(); _nop_(); _nop_(); _nop_ (); _nop_(); _nop_ (); _nop_ (); _nop_(); nop_(); nop_(); 3 _nop_ (); _nop_ (); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_ (); _nop_(); TX=O; 超声波实物图 3、步进电机驱动模块 白 2相6线步进电机驱动方式 5 E L298N步进电机驱动芯片 0011 0DT2 OUM lOOnf 驱动芯片原理图 L298N实物图 步进电机实物图 41286

4、4显示模块 读字节时序图 KS V V IIKL 山 WW-riH7 1*1 x F * ex 写字节时序图 12864显示实物图 5声光报警系统 蜂鸣器、二极管实物图 8 6、程序 #in clude #in cludevi ntrin sh #defi ne uint un sig ned int #define uchar unsigned char #define p P3 uchar dat 8 = 0 x01, 0 x05, 0 x04, 0 x06, 0 x02, 0 x0a, 0 x08, 0 x09; uchar da8 = 0 x01, 0 x09, 0 x08, 0 x0

5、a, 0 x02, 0 x06, 0 x04, 0 x05; sbit rs=P2 丿I 4; sb it rw=P2A5; sbit e=P2A6; sbit TX=P1AO; sbit RX=P1A1; sbit key=PlA7; sbit beep=P2Al; sbit dong=P2A0; uchar table 二0123456789 ; uchar tablel =z,- 发现 UFO-“;9 uchar table2二距离:CM”; uchar s; void delay50us(uint t) uint j; for (;t0;t一) for (j=19; j0; j); d

6、elay (uint t) while(t一); void delay50ms(uint t) uint j; for (;t0;t一) for (j=6245; j0; j); 10 void zl (uchar ) rs=0; rw=0; P0=; delay50us(2); e=l; delay50us(10); e=0; delay50us(2); void sj (uchar ) rs=l; rw=0; P0=; delay50us(2); e=l; delay50us (10); e=0; delay50us(2); 11 void init () -(ODSnogAdep -(9

7、OXO)IZ 二0寸z)snogA2QP -(loxo)IZ 二寸)snogAPIQP -(OOXO)IZ -(寸)snogAPIUP -(08X0二z -(寸)snogAPIQP -(ogxo二 z -(Z) slnogAPIQP -()dou -()dou 二)dou毎擲定1廉咫、二占 )摊廉咫二 otnpow 乂眾 S P-OA _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _nop_ (); _

8、nop_ (); _nop_ (); _nop_ (); _nop_ (); TX=O; 13 uchar display() uint a, b, c, time; time=TH0*256+TL0; THO=O; TLO=O; a=s/100; s=(time*l. 7)/100; / 算岀来是 CM b=s%100/10; c=s%10; zl(0 x93); delay50us(1); sj(tablea); delay50us(2); sj(table b); dela.y50us(2); sj(tablec); dela.y50us(2); return s; void bj ()

9、 beep=O; delay(5); dong=0; beep二1; delay(5); beep=O; delay(4); beep=l; delay(4); beep=O; delay(3); beep=l; delay(3); beep=O; delay(2); beep=l; delay(2); beep=O; 15 delay(1); beep=l; delay(1); 14 void main(void) uint t; init (); zl(0 x90); delay50us(1); for (t=0;t0;w一) 16 for (e=0;e8;e+) uint t; TM0D

10、=0 x01; / 设 TO 为方式 1, GATE=; 1 THO=O; TLO=O; ETO=1; / 允许TO中断 EA=1; StartModule (); wh 订 e (!RX); /当RX为零时等待 TRO=1; /开启计数 /当RX为1计数并等 while(RX); 待 TR0=0; /关闭计数 display (); if (s10) zl(0 x81); for (t=0;t12;t+) sj (tablelt) ; 17 delay50us(2); while(key) bj 0 ; beep=l; dong=l; init(); zl(0 x90); delay50us(1); for (t=0;t0; w一一) for(e=0;e8;e+) uint t; TM0D=0 x01; TH0=0; / 设 TO 为方式 1, GATE=; 1 TL0=0; ETO=1; / EA=1; 允许TO中断 StartModule (); while(!RX); TRO=1; wh 订 e(RX); /当RX为零时等待 TR0=0; /开启计数 display (); /当RX为1计数并等待 if(s10) /关闭计数 zl (0 x81); for (t=0;t12;t+) 19 sj (table!t); dela

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论