⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text1.c

📁 采用红外对管对不同颜色的不同的反射程度;得到不同的高低电平;通过控制占空比来控制转向等其他功能。
💻 C
字号:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
void delay(uchar);
void time0(uchar,uchar);
void ks();
void panduan();
void lmotor(uchar,uchar);
void rmotor(uchar,uchar);
sbit IN1=P2^0;
sbit IN2=P2^1;
sbit IN3=P2^2;
sbit IN4=P2^3;
sbit a=P1^0;
sbit b=P1^1;
sbit c=P1^2;
sbit d=P1^3;
sbit e=P1^4;
uchar m,n,i,j,aa,bb,k;
 void delay(uchar speed)
{ for(i=speed;i>0;i--) _nop_();

}
void lmotor(uchar m,uchar n)
{IN1=1;IN2=0;delay(m);
 IN1=0;IN2=0;delay(n);
}
void rmotor(uchar m,uchar n)
{IN3=1;IN4=0;delay(m);
 IN3=0;IN4=0;delay(n);
}
/*void time0(uchar m,uchar n)
{ TMOD=0x01;
  TH0=50000/256;
  TL0=50000%256;
  aa=m;bb=n;
  EA=1;ET0=1;TR0=1;
 }
 void time00() interrupt 1
 { j++;k++;
 TH0=50000/256;
  TL0=50000%256; 
 }*/
void main()
{
while(1){ panduan();}

}
void panduan()
{  if(a==1&&b==1&&c==0&&d==1&&e==1)//前进
    do{
	   lmotor(90,10);
	   rmotor(90,10);
      }
	while(a==1&&b==1&&c==0&&d==1&&e==1);
   if(a==1&&b==1&&c==1&&d==0&&e==1)//偏左
    do{
	   lmotor(20,10);
	   rmotor(80,10);
      }
	while(a==1&&b==1&&c==1&&d==0&&e==1);
   if(a==1&&b==0&&c==1&&d==1&&e==1)//偏右
    do{
	   lmotor(80,10);
	   rmotor(20,10);
      }
	while(a==1&&b==0&&c==1&&d==1&&e==1);
	if(a==0&&b==1&&c==1&&d==1&&e==1)//严重偏右
    do{
	   lmotor(90,10);
	   rmotor(10,10);
      }
	while(a==0&&b==1&&c==1&&d==1&&e==1);
	if(a==1&&b==1&&c==1&&d==1&&e==0)//严重偏左
    do{
	   lmotor(10,10);
	   rmotor(90,10);
      }
	while(a==1&&b==1&&c==1&&d==1&&e==0);
 
	
	
  

}









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -