stc89c52 单片机 的两个超声波模块分时运行问题 10

voidConut2(){time_2=TH1*256+TL1;TH1=0;TL1=0;S2=(time_2*1.85)/100;//算出来是CMif((S2>=700)... void Conut2()
{
time_2=TH1*256+TL1;
TH1=0;
TL1=0;

S2=(time_2*1.85)/100; //算出来是CM
if((S2>=700)&&flag==1)
{
flag=0;
}
if(S2<=50&&S2>=0)
{

TR0=0;
fun3();
while(k<=30000)
{
k++;
left();
}
fun3();
delay(1000);
k=0;
TR0=1;
}

}
void main()
{
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TH1=0;
TL1=0;
EA=1;
ET0=1;
TR0=1;
ET1=1;
TR1=1;
while(1)
{

StartModule1();
while(!ECHO1);
TR1=1;
while(ECHO1);
TR1=0;
Conut1();
delay(10);
StartModule2();
while(!ECHO2);
TR1=1;
while(ECHO2);
TR1=0;
Conut2();
}
}
void time1() interrupt 3
{
flag=1;
}为什么这样做之后conut2中的程序就无法运行,应该是向左转,但实际却达到if标准后却不动?
展开
 我来答
切比雪夫不懂事
2015-05-07
知道答主
回答量:3
采纳率:0%
帮助的人:3579
展开全部
兄弟你是怎么解决的啊??我也遇到了一样的问题啊~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huzi2099
2015-01-20 · TA获得超过1172个赞
知道小有建树答主
回答量:1887
采纳率:82%
帮助的人:638万
展开全部
想办法去了delay的死等.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查晓筠0i5
2015-01-18 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4961万
展开全部
关注这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式