找回密码
 立即注册

QQ登录

只需一步,快速开始

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

利用单片机独立按键控制步进电机转动角度

[复制链接]
跳转到指定楼层
楼主
ID:64251 发表于 2014-7-22 15:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的程序
#include <reg52.h>
sbit A1=P1^0;
sbit B1=P1^1;
sbit C1=P1^2;
sbit D1=P1^3;
#define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}

#define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}
#define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}
#define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}
#define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}
#define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}
#define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}
#define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}
#define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}
unsigned char Speed;

void DelayUs2x(unsigned char t)

{  while(--t);}
void DelayMs(unsigned char t)

{while(t--)
{
     //大致延时1mS
     DelayUs2x(245);
        DelayUs2x(245);
}
}
void stepa()

{
unsigned int i=32;
Speed=8;
Coil_OFF
while(i--)  /
  {         
     Coil_A1              
     DelayMs(Speed);      
Coil_B1
     DelayMs(Speed);
     Coil_C1
     DelayMs(Speed);
     Coil_D1
     DelayMs(Speed);
  }
  Coil_OFF
}
void stepb()

{
unsigned int i=32;
Speed=8;
Coil_OFF
while(i--)
  {
     Coil_D1               
     DelayMs(Speed);      
      Coil_C1
     DelayMs(Speed);
     Coil_B1
     DelayMs(Speed);
     Coil_A1
     DelayMs(Speed);
  }
}
void main()

{
while (1)        
  {switch(P3)  
       {
           case 0xfe:stepa();break;//0xfe = 1111 1110,
                case 0xfd:stepb();break;
                case 0xfb:stepa();break;
                case 0xf7:stepb();break;
                case 0xef:stepa();break;
                case 0xdf:stepb();break;
                case 0xbf:stepa();break;
                case 0x7f:stepb();break;
                default:break;   
          }
                     
  }
}
我想利用独立按键(8个)控制步进电机,按下按键K1 3 5 7时,执行stepa,也就是正转45度,按下按键K2 4 6 8,执行stepb,也就是反转45度,该程序是0ERRORS 1WARNINGS     但是单片机给电之后,按下按键电机无反应,请问是怎么回事?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:48413 发表于 2014-7-27 13:33 | 只看该作者
回复

使用道具 举报

板凳
ID:63725 发表于 2014-8-5 15:53 | 只看该作者
了解了解
回复

使用道具 举报

地板
ID:59980 发表于 2015-10-23 16:17 | 只看该作者
按键程序没有设计好,出个接线图。有空帮你研究下。
回复

使用道具 举报

5#
ID:326699 发表于 2018-5-16 10:34 | 只看该作者
电机不转,有可能是你的原理题有问题,程序不知道你仿真正确不
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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