这是一段主程序
void main(void)
{
unsigned char TempCyc;
forwardled=0;
leftled=0;
rightled=0;
Com_init();//串口初始化
Time0_init();//定时器初始化
Delay400Ms(); //启动等待,等LCM讲入工作状态
LCMInit(); //LCM初始化
Delay5Ms(); //延时片刻(可不要)
DisplayListChar(0, 0, mcustudio);
DisplayListChar(0, 1, email);
ReadDataLCM();//测试用句无意义
for (TempCyc=0; TempCyc<10; TempCyc++)
Delay400Ms(); //延时
DisplayListChar(0, 1, Cls);
while(1)
{
TMOD=0x21; //设T0为方式1,GATE=1;
TH0=0;
TL0=0;
ET0=1; //允许T0中断
EA=1;
while(1)
{
StartModule();
while(!Echo); //当RX为零时等待
TR0=1; //开启计数
while(Echo); //当RX为1计数并等待
TR0=0; //关闭计数
Conut(); //计算
Delay_ms(80); //80MS
switch(Temp)
{
case 0x00: Moto_Stop(); break;
case 0x01: Moto_Forward();break;
case 0x02: Moto_Backward(); break;
case 0x03: Moto_TurnLeft(); break;
case 0x04: Moto_TurnRight(); break;
default:break;
}
}
}
}
|