找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2027|回复: 1
打印 上一主题 下一主题
收起左侧

求大哥教教我怎么写限位开关控制电机停止的程序

[复制链接]
跳转到指定楼层
楼主
图如下

123.png (10.45 KB, 下载次数: 21)

123.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:298034 发表于 2018-4-3 11:56 | 只看该作者
#include<reg52.h>
#define uint  unsigned int
#define uchar unsigned char
//------8拍-----  
uchar code zz[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};   //正转
uchar code fz[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};    //反转   

void delay(uint ms)
{  
    uint t;
    while(ms--)   
       for(t=0;t<120;t++);
}   

void motor_zz(uint n)
{  
     uint i,j,k;   
     for(i=0;i<5*n;i++)  
     {   
        for(j=0;j<8;j++)  
        {   
             for(k=0;k<120;k++)
                   break;   
             P1=zz[j];   
             delay(20);   
         }  
      }  
}   

void motor_fz(uint n)
{
      uint i,j,k;  
      for(i=0;i<5*n;i++)  
      {
          for(j=0;j<8;j++)  
          {   
              for(k=0;k<120;k++)
                 break;   
              P1=fz[j];   
              delay(20);   
           }   
       }  
}   

void main()
{
   uint N=2;  
   while(1)  
   {  
          P3=0xff;           //11111111
          if(P3==0xfe)       //11111110
          {   
                 while(P3==0xfe);  //11111110  
                 P0=0xfe;          //11111110
                 motor_zz(N);   

           }   
           else if(P3==0xfd)       //11111101
           {   
               while(P3==0xfd);    //11111101   
               P0=0xfd;            //11111101
               motor_zz(N);
            }   

    }
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表