|
- #include<reg52.h>
- sbit IN1=P2^0; //右轮
- sbit IN2=P2^1;
- sbit IN3=P2^2; //左轮
- sbit IN4=P2^3;
- sbit I1=P0^0; // 右1
- sbit I2=P0^1; // 右2
- sbit I3=P0^2; // 左2
- sbit I4=P0^3; // 左1
- unsigned char i;
- unsigned char mode;
- void main(void)
- {
- mode=5; //IN1=0;IN2=1;IN3=0;IN4=1;直行
- for(;;)
- {
- if(!I1) mode=1; //右1
- if(!I2) mode=2; //右2
- if(!I3) mode=3; //左2
- if(!I4) mode=4; //左1
- if(I1==1 && I2==1 && I3==1 && I4==1)mode=5; //直行
- if(!I1==1 && !I2==1 && !I3==1 && !I4==1)mode=5; //停止
- switch(mode)
- {
- case 1:
- for(i=0;i<255;i++) //周期
- {
- if(i<=170) //速度控制
- {
- IN1=0;IN2=0;IN3=0;IN4=1;
- }
- else
- {
- IN1=0;IN2=0;IN3=0;IN4=0;
- }
- }
- break;
- case 2:
- for(i=0;i<255;i++)
- {
- if(i<=150)
- {
- IN1=0;IN2=0;IN3=0;IN4=1;
- }
- else
- {
- IN1=0;IN2=0;IN3=0;IN4=0;
- }
- }
- break;
- case 3:
- for(i=0;i<255;i++)
- {
- if(i<=170)
- {
- IN1=0;IN2=1;IN3=0;IN4=0;
- }
- else
- {
- IN1=0;IN2=0;IN3=0;IN4=0;
- }
- }
- break;
- case 4:
- for(i=0;i<255;i++)
- {
- if(i<=150)
- {
- IN1=0;IN2=1;IN3=0;IN4=0;
- }
- else
- {
- IN1=0;IN2=0;IN3=0;IN4=0;
- }
- }
- break;
- case 5:IN1=0;IN2=1;IN3=0;IN4=1;break;
- case 6:IN1=0;IN2=0;IN3=0;IN4=0;break;
- default: break;
- }
- }
- }
复制代码
|
-
-
循迹调速.rar
17.46 KB, 下载次数: 20, 下载积分: 黑币 -5
评分
-
查看全部评分
|