主函数如下,里面有超声波模块和红外遥控模块,注释一个测试另一个都可以,但一起运行就只能进行超声波测距,红外失效
void main()
{
LCD_Init();
init(); //????????0?????0
EN1 = EN2 = 0;//?????????
speed = 8;//???????8,8/40=0.2,?????20%???,speed???????,????????
while(1)
{
Timer0Init();//??????,????????????
TrigInit();//???????,??300ms
Bc_Dis();//?????
LCD_ShowNum(1,1,(unsigned int)dis,3);
if(IRok) //??????????
{
IRcordpro();//???????4??????
IRok = 0; //????????
if(IRpro_ok) //????????
{
switch(IRcord[2])
{
case 0x0C: forward(); break; //??
case 0x18: backward(); break; //??
// case 0x0c: left(); break;//??
case 0x5A: right(); break;//??
case 0x16: stop(); break;//??
case 0x5E: speed_up(); break;//??
case 0x08: speed_down(); break;//??
default: break;
}
IRpro_ok = 0;
}
}
if(dis <=010){
BUZZER = ON;
Delay2(30);
BUZZER = OFF;
Delay2(30);
}
else if((010< dis) && (dis <= 020)){
BUZZER = ON;
Delay2(100);
BUZZER = OFF;
Delay2(100);
}
else if((020 < dis) && (dis <= 050)){
BUZZER = ON;
Delay2(150);
BUZZER = OFF;
Delay2(150);
}
}
}
|