
while(TRUE)
{
{
// left
B = 0X01;
output_b(B);
for(a=0;a<8;a++)
{
delay_ms(200);
B = B<<1;
output_b(B);
}
//right
B = 0X80;
output_b(B);
for(a=0;a<8;a++)
{
delay_ms(200);
B = B>>1;
output_b(B);
}
// chase left
delay_ms(200);
B = 0X00;
for(a=0;a<9;a++)
{
delay_ms(200);
B = B<<1;
B = B | 0X01;
output_b(b);
}
// chase right
delay_ms(200);
B = 0X00;
for(a=0;a<9;a++)
{
delay_ms(200);
B = B>>1;
B = B | 0X80;
output_b(b);
}
}
}
=============================================
/*===========DUNG NUT NHAN=================*/
int B;
int8 a;
int trangthai=0;
void nutnhat()
{
if(input(pin_d0)==0)
{
while(input(pin_d0)==0)
{
delay_ms(100);
}
trangthai=trangthai+1;
//dieu kien cua bien tt
if(trangthai>3) trangthai=0;
}
}
void left()
{
// left
B = 0X01;// dat gia ban dau
output_b(B);// hien thi
for(a=0;a<8;a++)
{
delay_ms(200);//tri hoan
B = B<<1;//dich led
output_b(B);//cho hien thi
nutnhat();
}
}
void right()
{
//right
B = 0X80;
output_b(B);
for(a=0;a<8;a++)
{
delay_ms(200);
B = B>>1;
output_b(B);
nutnhat();
}
}
void chase_left()
{
// chase left
delay_ms(200);
B = 0X00;
for(a=0;a<9;a++)
{
delay_ms(200);
B = B<<1;
B = B | 0X01;
output_b(b);
nutnhat();
}
}
void chase_right()
{
// chase right
delay_ms(200);
B = 0X00;
for(a=0;a<9;a++)
{
delay_ms(200);
B = B>>1;
B = B | 0X80;
output_b(b);
nutnhat();
}
}
void main()
{
while(TRUE)
{
switch (trangthai)
{
case 0: left();break;
case 1: right();break;
case 2: chase_left();break;
case 3: chase_right();break;
}
}
}