基于stc15平台,使用CCP PCA输入捕获,超声波测距大于50cm就不灵敏了,50cm以内反应都很迅速,按照手册原理来看,计时时长应该能达到65535(16位),我用的12MHz系统频率,PCA时钟用的12分频,理论上测量最大值应该是65535/58,求解
if(CCF0) //跳变中断
{
//LED1=~LED1;
CCF0=0;
th=CCAP0H;
th<<=8;
tl=CCAP0L;
th|=tl;
t=th/58;
/* 为什么微秒/58 = 厘米
* Y米 = (X秒 * 344) 2
* X秒 = (2 * Y米) / 344
* X秒 = 0.0058*Y米
* 厘米 = 微秒/58 */
}