51循迹小车,烧完没有反应,没有报错没有警告,麻烦帮忙看下代码
#include <REGX52.H>
sbit In1=P0^0;//L电机
sbit In2=P0^1;
sbit In3=P0^2;//R电机
sbit In4=P0^3;
sbit ENA1 = P1^3; //L使能
sbit ENB1 = P1^0; //R使能
sbit EL = P2^0;//L红外
sbit ER = P2 ^1;//R红外
unsigned char Jishu,Bijiao;
void Timer0Init() //100微秒@11.0592MHz
{
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xA4; //设置定时初值
TH0 = 0xFF; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
ET0 = 1; //定时器0中断允许开关
EA = 1; //定时器总开关
PT0 = 0; //定时器0中断优先级
}
void Timer0_T(unsigned char ABC) // 中断
{
TMOD &= 0xF0;
TMOD |= 0x01;
Bijiao=ABC;
Jishu++;
if(Jishu>=100)
Jishu = 0;
if(Jishu<Bijiao)
{
ENA1=1;
ENB1=1;
}
else
{
ENA1=0;
ENB1=0;
}
}
void car_go()
{
In1=1;
In2=0;
In3=1;
In4=0;
}
void car_L()
{
In1=0;
In2=1;
In3=1;
In4=0;
}
void car_R()
{
In1=1;
In2=0;
In3=0;
In4=1;
}
void Xunji()
{
if(EL==1&&ER==1)
{
Timer0Init();
Timer0_T(50);
while(1)
car_go();
}
else if(EL==0&&ER==0)
{
Timer0Init();
Timer0_T(50);
while(1)
car_go();
}
else if(EL==1&&ER==0)
{
Timer0Init();
Timer0_T(20);
while(1)
car_R();
}
else if(EL==0&&ER==1)
{
Timer0Init();
Timer0_T(20);
while(1)
car_L();
}
}
void main()
{
while(1)
Xunji();
}