标题:
单片机小车运行时如何不带动voice这个程序让他俩互不干涉的运行?
[打印本页]
作者:
hyihang
时间:
2022-9-21 11:40
标题:
单片机小车运行时如何不带动voice这个程序让他俩互不干涉的运行?
#include<AT89X52.H>
#include<ZY-4WD_PWM.H>
sbit beep=P2^2;
sbit key=P3^6;
bit mode;
unsigned int cnt;
unsigned char i;
void voice()
{
if(mode)
{
beep=0;
}
else
{
beep=1;
}
}
void main(void)
{
P1=0X00;
TMOD=0X01;
TH0= 0XFc;
TL0= 0X18;
TR0= 1;
ET0= 1;
EA = 1;
while(1)
{
if( LeftIRBZ == 0 || RightIRBZ == 0 )
{
stop();
}
else
{ if(Left_1_led==0&&Right_1_led==0)
{
run();
}
if(Left_1_led==1&&Right_1_led==0)
{
leftrun();
}
if(Right_1_led==1&&Left_1_led==0)
{
rightrun();
}
if(Right_1_led==1&&Left_1_led==1)
{
stop();
}
}
voice();
if(key==0)
{
mode=1;
}
if(mode==1)
{
cnt++;
if(cnt>300)
{
cnt=0;
mode=0;
}
}
}
}
作者:
imxuheng
时间:
2022-9-21 14:19
把voice在函数放到定时器中断函数里,假如定时器50ms中断一次,那记录定时器中断20次就触发一次voice函数,相当于间隔1s,voice函数运行一次
作者:
yzwzfyz
时间:
2022-9-21 16:07
1、将voice写成一个子函数。
2、设立一个标记GV,GV=1就运行voice,GV=0就不运行voice。
3、这样voice是否运行,你只要设置GV就可以控制了。例如:
小车运行时让GV=0,反之让GV=1。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1