单片机学习:用三个按键实现对四线…

输入设备:
    三个按键:
1、K1:实现正常旋转的启动
2、K2:实现电机的反转启动
3、K3:不管是正向还是反向立即停止对电机的旋转
输出设备:
单片机的四个管教,分别对应四线双极电机驱动模块的四个输入管教A、B、C、D,该驱动模块的四个输出模块的管教分别对应。
其代码如下:
 #include
 #define speed 200
 sbit MA=P0^0;
 sbit MB=P0^1;
 sbit MC=P0^2;
 sbit MD=P0^3;
 sbit kqidong=P2^0;
 sbit kfan=P2^1;
 sbit kting=P2^2;
 int select;

 void delay(int i)
 {
  while(i--);
 }
 void Myunxing()//默认的方向
 {
     MA=1;
MB=0;
MC=1;
MD=1;
delay(speed);
 
MA=1;
MB=1;
MC=1;
MD=0;
delay(speed);
 
MA=0;
MB=1;
MC=1;
MD=1;
delay(speed);
 
MA=1;
MB=1;
MC=0;
MD=1;
delay(speed);

 }

void fanzhuan() //反方向
{
MA=1;
MB=1;
MC=0;
MD=1;
delay(speed);
MA=0;
MB=1;
MC=1;
MD=1;
delay(speed);
MA=1;
MB=1;
MC=1;
MD=0;
delay(speed);
MA=1;
MB=0;
MC=1;
MD=1;
delay(speed);
}
 void stop()
  {
MA=0;
MB=0;
MC=0;
MD=0;
}
 void main()
 { MA=0;
  MB=0;
MC=0;
MD=0;
  while(1)
{
  if(kqidong==0)
{
delay(1000);
if(kqidong==0)
{
//添加执行语句,使电机正常旋转  
select=1;
}
while(!kqidong);
}
if(kfan==0)
{
delay(1000);
if(kfan==0)
{
//添加执行语句,使电机反转
select=2;
}
while(!kfan);
}
if(kting==0)
{
delay(1000);
if(kting==0)
{
//添加执行语句,使电机停止运转
select=3;
}
while(!kting);
}
switch(select)
{
case(1):Myunxing() ;break;//启动
case(2): fanzhuan();break;//反转
case(3): stop();break;//stop
}
}
 }

  

你可能感兴趣的:(单片机学习:用三个按键实现对四线…)