谁能帮我解释这个超声波程序void tran(void){uchar i;float temp;TH0=0;TL0=0;//清定时0TR0=1;//开定时0for(i=8;i>0;i--){csb=!csb;//nop;nop;nop;nop;nop;nop;nop;nop;nop;nop;}csb=1;delay_nms(1);//延时1ms左右后再开中断,避免直接

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/07 06:17:41
谁能帮我解释这个超声波程序void tran(void){uchar i;float temp;TH0=0;TL0=0;//清定时0TR0=1;//开定时0for(i=8;i>0;i--){csb=!csb;//nop;nop;nop;nop;nop;nop;nop;nop;nop;nop;}csb=1;delay_nms(1);//延时1ms左右后再开中断,避免直接

谁能帮我解释这个超声波程序void tran(void){uchar i;float temp;TH0=0;TL0=0;//清定时0TR0=1;//开定时0for(i=8;i>0;i--){csb=!csb;//nop;nop;nop;nop;nop;nop;nop;nop;nop;nop;}csb=1;delay_nms(1);//延时1ms左右后再开中断,避免直接
谁能帮我解释这个超声波程序
void tran(void)
{
uchar i;
float temp;
TH0=0;
TL0=0;//清定时0
TR0=1;//开定时0
for(i=8;i>0;i--)
{
csb=!csb;
//nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
nop;
}
csb=1;
delay_nms(1);//延时1ms左右后再开中断,避免直接回来的回波
EX1=1;
delay_nms(50);
if(flag==1)
{
temp=high_time*256+low_time;
temp=(temp/1000)/2;
temp*=344;
temp=temp/10;
//if(temp>10)
dis=(unsigned int)temp;
flag=0;
}
//else dis=0;
} 谁能详细的帮我解释一下这个超声波发射程序,小弟万分感激!

谁能帮我解释这个超声波程序void tran(void){uchar i;float temp;TH0=0;TL0=0;//清定时0TR0=1;//开定时0for(i=8;i>0;i--){csb=!csb;//nop;nop;nop;nop;nop;nop;nop;nop;nop;nop;}csb=1;delay_nms(1);//延时1ms左右后再开中断,避免直接
T0作为计时用,打开T0,然后连续发送3个超声波,延迟一段时间,躲过干扰波,再打开中断,当接收到回波,关掉T0,置flag=1,然后在主程序里求出速度,