仪器社区

超声波测距程序问题

在周旭 2012-07-17
#include #define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit Tx = P3^3; //产生脉冲引脚 sbit Rx = P3^2; //回波引脚 uchar code SEG7[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0...
评论
全部评论
dmeghiht37368
程序我没有仔细看,有些思路你考虑一下:
1、不知道你用的哪个型号的单片机,计数器所用的时钟频率是多少?5cm意味着约300uS的声波传输时间,结合你的计数频率和计数器的位数,看看300uS你的计数器有没有溢出;
2、超过5cm的时候,用示波器探一下有没有收到声波信号,可能是你的放大倍数不够,信号太弱导致信号没有被识别;
3、仔细考虑一下你的收发探头的安装方式,有没有可能接收到直射波,我觉得这种可能性要大一些;超声测距,接收探头必须只接收到反射波,否则测出来肯定不准确;
4、测试不准确,可以考虑进行多次测量,去掉一半的异常值(比如说测回来8个数,去掉2个Z大的,再去掉2个Z小的),然后取平均;这样测出来的结果相对准确一些。
就是这些了,希望对你有帮助
1 0 2012-07-19 0条评论 回复
喜集九年制
问老师
19 0 2012-07-18 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论