帮我看看我的步进电机的C语言....

[复制链接]
2821|4
 楼主| zdp1214 发表于 2009-10-12 16:52 | 显示全部楼层 |阅读模式
#include <reg51.h>
#include <absacc.h>
#define uint unsigned int
#define uchar unsigned char

void out(uchar state);//声明一个out 函数
void delay(uint x);//声明延迟函数

main()
{
for(;;)
{  
      uchar phase=0;
out(phase=++phase&0x03);//0000--0001--0010--0011--0000
}
}


void out(uchar state)
{
code uchar table[]={0x02,0x04,0x08,0x10};
P1=table[state];
delay(8);
}

void delay(uint x)
{
uchar j;
while(x-->0)
{
for(j=0;j <125;j++)
{;}
}
}
先将程序烧进去,将步进电机的红色对准VCC,其他对准ABCD插在板上,然后用杜邦线将ABCD于p1.1p1.2p1.3p1.4短接
机器不转....~~~~为什么..
- -!
IC_99 发表于 2009-10-12 20:56 | 显示全部楼层
这行程序 P1=table[state];  里的  “state”这个变量的值似乎是不变的,那你的编码表有用嘛???
IC_99 发表于 2009-10-12 20:57 | 显示全部楼层
不知道是不是这个问题呢??呵呵....偶尔看了一下发现的
ejack 发表于 2009-10-13 12:04 | 显示全部楼层
硬件方面:
1.什么51单片机?电源部分是否正常?上电复位电路是否正常?你的线路板上是否有外部狗?
2.不了解步进电机的接口,51的I/O口能否直接驱动?你的Vcc供电能否满足电机要求?
3.其它……

软件方面:编译通过,粗瞅了一下功能代码没发现大毛病……

P.S. IC_99该被打PP……:)
IC_99 发表于 2009-10-13 23:33 | 显示全部楼层
呵呵,俺也不懂滴
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部