打印

看看这段代码有什么问题

[复制链接]
1469|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hjjadg|  楼主 | 2014-12-18 00:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位看官,下面的这段代码是步进电机驱动代码,看看有什么错误,如果有错误会产生什么后果?注:改变方向的代码被省略了。

如有不爽,欢迎各种拍砖,**蛋,瓜子皮,西瓜皮... ...


#include "reg52.h"

sbit A = P1^4;          //定义管脚
sbit B = P1^5;
sbit C = P1^6;
sbit D = P1^7;

bit a;

#define fwd a=1          //正向
#define rev a=0          //逆向
#define        round         8
#define delay   500

unsigned char code run[]={0xEF,0xCF,0xDF,0x9F,0xBF,0x3F,0x7F,0x6F};//运行相序表

void play(unsigned char x)
{
        unsigned int i;

        P1 = P1 & run[x];
        for(i=0; i<delay; i++);
}

void main()

{
        unsigned char d;
  while(1)
  {
        if(fwd)
        {
                for(d=0;d<round;d++)
                        play(d);
        }else{

                for(d=round;d>0;d--)
                        play(d);

                  }
  }
}

相关帖子

沙发
hjjadg|  楼主 | 2014-12-20 00:07 | 只看该作者
yyy71cj 发表于 2014-12-19 18:32
你这是五线制的永磁式铁皮壳步进电机么?

没错

使用特权

评论回复
板凳
keer_zu| | 2014-12-20 20:34 | 只看该作者
yyy71cj 发表于 2014-12-20 11:42
else{

                for(d=round;d>0;d--)

一看就知道什么电机,厉害啊。

使用特权

评论回复
地板
keer_zu| | 2014-12-21 11:16 | 只看该作者
yyy71cj 发表于 2014-12-21 10:39
主要是他的代码太明显了……

经验

使用特权

评论回复
5
hjjadg|  楼主 | 2014-12-21 14:00 | 只看该作者
yyy71cj 发表于 2014-12-20 11:42
else{

                for(d=round;d>0;d--)

怎么改正?

使用特权

评论回复
6
hjjadg|  楼主 | 2014-12-21 14:02 | 只看该作者
yyy71cj 发表于 2014-12-21 11:41
没有细分,纯粹只有四根线的脉冲时序,时序简单,就是典型的这种电机控制特点。当然,得用过 ...

经验值不是一般的高... ...

使用特权

评论回复
7
hjjadg|  楼主 | 2014-12-24 10:45 | 只看该作者
yyy71cj 发表于 2014-12-21 14:52
这个就是差1的问题。
但是对于这段代码,作为测试是可以用用,若作为驱动就存在一些问题,例如:走一次必 ...

好吧,我决定贴出正确的测试代码

                       d=round;
                        do
                        {
                         d--;
                         play(d);
                        }while(d)

使用特权

评论回复
8
hjjadg|  楼主 | 2014-12-29 20:59 | 只看该作者
yyy71cj 发表于 2014-12-24 22:09

版主身后杀气逼人,难道... ...:funk::funk:

使用特权

评论回复
9
hjjadg|  楼主 | 2014-12-31 23:09 | 只看该作者
yyy71cj 发表于 2014-12-29 21:49
我是看到了正确的代码确实是正确的……

虚惊一场:L

使用特权

评论回复
10
keer_zu| | 2015-1-1 18:43 | 只看该作者
讲讲电机吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

22

帖子

0

粉丝