找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7454|回复: 5
收起左侧

按键控制步进电机自动正转反转程序(超实用的程序结构设计)

[复制链接]
ID:59980 发表于 2015-10-21 23:43 | 显示全部楼层 |阅读模式
//按键控制步进电机自动正转反转程序://已实测验证OK
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^4;
sbit k2=P3^5;
sbit A=P3^0;
sbit B1=P3^1;
sbit C=P3^2;
sbit D=P3^3;

void DelayMS(uint aa)
{
  uchar bb;
  while(aa--)
  {
   for(bb=0;bb<115;bb++)     //1ms基准延时程序
   {
    ;
   }
  }

}
void cw()//正转
{
  uint        i,j;
  i=30;
  j=200;
  while(j--)
           {
           A=1;
           DelayMS(i);
              A=0;
           DelayMS(i);
           B1=1;
           DelayMS(i);
              B1=0;
           DelayMS(i);
           C=1;
           DelayMS(i);
              C=0;
           DelayMS(i);
           D=1;
           DelayMS(i);
              D=0;
           DelayMS(i);
           }
          
}

void ccw()//反转
{
  uint        i,j;
  i=30;
  j=200;
while(j--)
           {
           D=1;
           DelayMS(i);
              D=0;
           DelayMS(i);
           C=1;
           DelayMS(i);
              C=0;
           DelayMS(i);
           B1=1;
           DelayMS(i);
              B1=0;
           DelayMS(i);
           A=1;
           DelayMS(i);
              A=0;
           DelayMS(i);
           }
          
}          
void main(void)
{
A=1;
B=1;
C=1;
D=1;

while(1)
{
  if(k1==0)
        {
           while(k1==0);
           DelayMS(200);
           cw();
           DelayMS(50000);
           ccw();
        }
        if(k2==0)
        {
           while(k2==0);
           DelayMS(200);
           ccw();
           DelayMS(50000);
           cw();
        }
}

}

回复

使用道具 举报

ID:183396 发表于 2017-3-26 14:51 | 显示全部楼层
接电机后只抖动,是因为什么呢
回复

使用道具 举报

ID:59980 发表于 2017-3-31 10:34 | 显示全部楼层
可能接错线了,或线接触不良,还有你调的频率太高了,

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:464539 发表于 2019-1-8 14:26 | 显示全部楼层
按键后开启车门后延时10秒自动关闭。开门系统由电动机控制,开门时电动机正转,闭门时电动机反转。
楼主,这个题目要怎么改比较好。没有思路,,,,
捕获.PNG
回复

使用道具 举报

ID:59980 发表于 2019-2-17 02:09 | 显示全部楼层
他看了就不好 发表于 2019-1-8 14:26
按键后开启车门后延时10秒自动关闭。开门系统由电动机控制,开门时电动机正转,闭门时电动机反转。
楼主, ...

按键按下时,  定时器启动到设定时间,启动相应程序就可以了!
回复

使用道具 举报

ID:59980 发表于 2019-2-17 02:10 | 显示全部楼层
定时器定时,启动相应程序,ok
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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