sbit send=P1^0; void timer0(void)interrupt 1
{ send=!send; TH0=0x1f; TL0=0xf4; } 超声波接收(外部中断 1)程序: void int1(void)interrupt 2 { if(TH1!=0x00&&TH0!=0x00) { b=1; TR1=0; TR0=0; t=TH1*256+TL1; t=t/1000000; TH0=0x1f; TL0=0xf4; TH1=0x00; TL1=0x00; } else { b=0; TR1=0; TR0=0; TH0=0x1f; TL0=0xf4; TH1=0x00; TL1=0x00; } }
附录Ⅲ. 距离计算子程序 当前温度和超声波往返时间均测量出来后,用 C 语言根据公式计算距离来编程是比较简单的算法。 其实现程序算法如下: #include<math.h> void distance(void) { double radical,dist,t; radical=sqrt(1+(temnum+273)/273); dist=165.7*t*radical; return(dist); }
|