超声波模块应用

超声波原理:
超声波是利用反射的原理测量距离的,被测距离一端为超声波传感器,另一端必须有能反射超声波的物体。测量距离时,将超声波传感器对准反射物发射超声波,并开始计时,超声波在空气中传播到达障碍物后被反射回来,传感器接收到反射脉冲后立即停止计时,然后根据超声波的传播速度和计时时间就能计算出两端的距离。

超声波测距模块:
超声波测距模块有好多种类型,目前比较常用的有URM37超声波传感器默认是232接口,可以调为TTL接口,URM05大功率超声波传感器测试距离能到10米,算是目前来说测试距离比较远的一款了,另外还有比较常用的国外的几款SRF系列的超声波模块,目前的超声波模块精度能到1cm

超声波初始化部分代码:

sbit Trig = P1^1;  			//给trig和echo分配接口
sbit Echo = P1^0;

void InitUlartsonic(){ 		//初始化超声波,让trig置0,再置1产生超声波,最后再置0
	Trig = 0;
	Trig = 1;
	delay10us();			//定义了一个函数让高电平时间延迟10us
	Trig = 0;
}

void Stime(){				//开始计时
	TH0=0;
	TL0=0;
	TR0=1;
}

void Etime(){				 //关闭计时
	TR0=0;
}

main函数中的部分代码:


	while(1){
		InitUlartsonic();

		while(Echo != 1); 		//echo等于1时,退出,开始计时
		Stime();

		while(Echo != 0); 		//echo等于0时,退出,结束计时
		Etime();

		time =GetUT();		 	//用time接收超声波的时间
		dis = GetDis();			//用dis接收超声波的距离
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值