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

📄 shuiwei.c

📁 通过C51单片机控制L298进而驱动步进电机,实现了很好的步进电机控制方法!该程序是通过检测按键来控制不同的电机运动!是初学着的好范例
💻 C
字号:
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit moter_10= P0^0;
sbit moter_11= P0^1;
sbit moter_12= P0^2;
sbit moter_13= P0^3;

sbit moter_20= P0^4;
sbit moter_21= P0^5;
sbit moter_22= P0^6;
sbit moter_23= P0^7;

sbit moter_30= P2^0;
sbit moter_31= P2^1;
sbit moter_32= P2^2;
sbit moter_33= P2^3;

sbit low_shuiwei=P1^0;
sbit middle_shuiwei=P1^1;
sbit high_shuiwei=P1^2;
sbit top_shuiwei=P1^3;



sbit motor_1_error=P3^2;
sbit motor_2_error=P3^3;
void motor(bit m_s,bit n_s,bit x_s,uint time_s);//电机控制
        
void delay(uint m);
void main()
{ 
  for(;;)
  {
  if(low_shuiwei==0) motor(1,1,0,250);
  if(middle_shuiwei==0)motor(1,0,0,500);
  if(high_shuiwei==0)motor(0,1,0,500);
  if(top_shuiwei==0)motor(0,0,0,500);
  }




}

void delay(uint m)
{int i,j;
for(i=0;i<m;i++)
for(j=0;j<100;j++);
}


void motor(bit m_s,bit n_s,bit x_s,uint time_s)
{
 bit m,n,x;
 uint time=time_s;
 if(motor_1_error==0){m=x_s;n=n_s;x=m_s;}
 else if(motor_2_error==0){m=m_s;n=x_s;x=n_s;}
 else{m=m_s;n=n_s;x=x_s;}
 while(1)
 {
 if(m==1){moter_10=0;moter_11=1;moter_12=1;moter_13=1;}
 if(n==1){moter_20=0;moter_21=1;moter_22=1;moter_23=1;}
 if(x==1){moter_30=0;moter_31=1;moter_32=1;moter_33=1;}delay(time);

 if(m==1){moter_10=1;moter_11=0;moter_12=1;moter_13=1;}
 if(n==1){moter_20=1;moter_21=0;moter_22=1;moter_23=1;}
 if(x==1){moter_30=1;moter_31=0;moter_32=1;moter_33=1;}delay(time);

 if(m==1){moter_10=1;moter_11=1;moter_12=0;moter_13=1;}
 if(n==1){moter_20=1;moter_21=1;moter_22=0;moter_23=1;}
 if(x==1){moter_30=1;moter_31=1;moter_32=0;moter_33=1;}delay(time);

 if(m==1){moter_10=1;moter_11=1;moter_12=1;moter_13=0;}
 if(n==1){moter_20=1;moter_21=1;moter_22=1;moter_23=0;}
 if(x==1){moter_30=1;moter_31=1;moter_32=1;moter_33=0;}delay(time);break;
 }
}



⌨️ 快捷键说明

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