unsigned int cnt500; bit dp;
unsigned char Keyboard(); unsigned char tance(); void turn_l(); void turn_rr(); void forward(); void turn_r(); void turn_ll(); void stop(); void display();
void delay(unsigned int x) {
unsigned char i; }
//******************************* void main(void) {
unsigned char KeyV; unsigned char senS; LED=0;
while(x--) {
for(i=250;i>0;i--); }
BUZZER=0;
24 页 第 13 页 共
delay(300);
LED=1;
BUZZER=1; delay(300);
LED=0;
BUZZER=0; delay(300);
LED=1;
BUZZER=1; ENA_L=1; ENA_R=1; MotoL1=0; MotoR1=0;
TMOD=0x01; TH0=0xFC; TL0=0x18; TR0=1; EA=1; ET0=1; speed=8; spd1=speed; spd2=speed;
Tdata[0]=1; Tdata[1]=2; Tdata[2]=3; Tdata[3]=4;
第 14 页 共
24 页
while(1) {
//按键
KeyV=Keyboard(); if(KeyV==1) { }
if(KeyV==2) { }
if(KeyV==3) { } //显示 if(dp==1) { } //循轨 senS=tance();
24 页 第 15 页 共
ENA_L= !ENA_L; ENA_R= !ENA_R;
speed++;
if(speed>14) speed=14; spd1=speed; spd2=speed;
if(speed!=0) spd1=speed; spd2=speed;
speed--;
display(); dp=0;
switch(senS) { case 0: forward();break; //0000 0000 case 1: turn_rr();break; case 2: forward();break; case 3: turn_r();break;
case 4: turn_ll();break; //case 5: KeyValue=2;break; case 6: turn_l();break; case 7: stop();break;
default: break;
}
}
}
void INT_T0(void)interrupt 1 { TH0=0xfc; TL0=0x18; cnt500++; if(cnt500>499) { cnt500=0; dp=1;
} count++;
if(count>14) count=0; if(count { 第 16 页 共 24 页 //0000 0010 //0000 0100 //0000 0110 //0000 1000 //0000 1010 //0000 1100 //0000 1110
相关推荐: