lzh电子论坛

欢迎来到lzh电子论坛:
如果您对电子技术感兴趣就加入我们吧!在这里互相交流互相学习!主要讨论的方向有:单片机,ARM,PCB板设计,FPGA,汇编,C/C++等方面。
-----lzh电子论坛
lzhbbs.forumotion.com
lzh电子论坛

电子的道路是孤独的,要懂得左手温暖右手,要懂得把debug当作快乐去欣赏,去享受,那样你才会成功...

欢迎访问lzh电子论坛。可通过【谷歌,SOSO,搜狗】搜索“lzh电子论坛”直接进入论坛。点击了解论坛详细制度


    步进电机程序代码烧录后电机不转

    分享
    avatar
    shenzhan1995
    初级会员
    初级会员

    帖子数 : 11
    威望 : 0
    注册日期 : 14-04-08

    步进电机程序代码烧录后电机不转

    帖子 由 shenzhan1995 于 2014-04-13, 11:45 pm

    代码:
    #include "reg52.h"
    //电机IO
    #define GPIO_MOTOR P1
    //sbit F1 = P1^0;
    //sbit F2 = P1^1;
    //sbit F3 = P1^2;
    //sbit F4 = P1^3;
    //按键IO
    sbit K1=P3^0;
    sbit K2=P3^1;
    sbit K3=P3^2;
    sbit K4=P3^3;
    unsigned char code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //反转顺序
    unsigned char code FFZ[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1}; //正转顺序
    unsigned char Direction,Speed;
    void Delay(unsigned int t);
    void  Motor();
    /******************************************************************************
    * 函数名         : main
    * 函数功能     : 主函数
    * 输入           : 无
    * 输出           : 无
    ******************************************************************************/
    void main(void)
    {
    unsigned char i;
    Speed=30;
     while(1)
    {
     if(K1==0)  //检测按键K1是否按下
     {
      Delay(1); //消除抖动
      if(K1==0)
      {
       Direction=1;
      }
      while((i<200)&&(K1==0))  //检测按键是否松开
      {
       Delay(1);
       i++;
      }
      i=0;
     }
     if(K2==0)  //检测按键K1是否按下
     {
      Delay(1); //消除抖动
      if(K2==0)
      {
       Direction=2;
      }
      while((i<200)&&(K2==0))  //检测按键是否松开
      {
       Delay(1);
       i++;
      }
      i=0;
     }  
     if(K3==0)  //检测按键K1是否按下
     {
      Delay(1); //消除抖动
      if(K3==0)
      {
       Speed=13;
      }
      while((i<200)&&(K3==0))  //检测按键是否松开
      {
       Delay(1);
       i++;
      }
      i=0;
     }
     if(K4==0)  //检测按键K1是否按下
     {
      Delay(1); //消除抖动
      if(K4==0)
      {
       Speed=40;
      }
      while((i<200)&&(K4==0))  //检测按键是否松开
      {
       Delay(1);
       i++;
      }
      i=0;
     }  
     Motor();
    }
    }

    程序编译好了,用烧录软件烧录成功后接在开发板上结果单片机不转,求解释,谢谢各位大神了
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 26

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 Admin 于 2014-04-14, 12:56 am

     Motor();这个函数没有贴出……楼主补充一下
    avatar
    shenzhan1995
    初级会员
    初级会员

    帖子数 : 11
    威望 : 0
    注册日期 : 14-04-08

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 shenzhan1995 于 2014-04-14, 1:51 pm

    代码:
    void  Motor()
    {
     unsigned char i;
     for(i=0;i<8;i++)
     {
      GPIO_MOTOR = FFW[i]&0x1f;  //取数据
      Delay(30); //调节转速 
     }                  
    }
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 26

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 Admin 于 2014-04-14, 1:56 pm

    有电机驱动吗?
    avatar
    shenzhan1995
    初级会员
    初级会员

    帖子数 : 11
    威望 : 0
    注册日期 : 14-04-08

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 shenzhan1995 于 2014-04-14, 1:58 pm

    还没,电机一直不转,却在发热
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 26

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 Admin 于 2014-04-14, 1:59 pm

    shenzhan1995 写道::还没,电机一直不转,却在发热

    你是把电机接在了哪个地方啊,是直接接在IO口上吗
    avatar
    shenzhan1995
    初级会员
    初级会员

    帖子数 : 11
    威望 : 0
    注册日期 : 14-04-08

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 shenzhan1995 于 2014-04-14, 2:01 pm

    接在开发板上标记着步进电机的位置啊
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 26

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 Admin 于 2014-04-14, 10:55 pm

    你可以先试着用板子的例程去测试一下,如果例程也不行,就去协会找大二学长,让他们测试一下板子步进电机那一块
    avatar
    shenzhan1995
    初级会员
    初级会员

    帖子数 : 11
    威望 : 0
    注册日期 : 14-04-08

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 shenzhan1995 于 2014-04-14, 11:36 pm

    Admin 写道::你可以先试着用板子的例程去测试一下,如果例程也不行,就去协会找大二学长,让他们测试一下板子步进电机那一块

    这本来就是光盘上的例程
    avatar
    Admin
    管理员
    管理员

    帖子数 : 869
    威望 : 15
    注册日期 : 12-11-23
    年龄 : 26

    回复: 步进电机程序代码烧录后电机不转

    帖子 由 Admin 于 2014-04-15, 2:24 pm

    shenzhan1995 写道::
    Admin 写道::你可以先试着用板子的例程去测试一下,如果例程也不行,就去协会找大二学长,让他们测试一下板子步进电机那一块

    这本来就是光盘上的例程

    去协会问问,看是不是接线有错或者是有些东西没插好,问问学长就可以了

      目前的日期/时间是2018-11-20, 1:45 am