|
程序运行时,步进电动机只是又转一小步,后又左转回一小步,根本没完成一圈的转动,请教大家下列程序有什么问题.
步进电动机:
型号:日本生产,PX243-11A-C18
2相6线
1.8度/step
DC 4V 0.95A
#include <avr/io.h>
#define motoa 0 //pc0
#define motob 1 //pc1
#define motoc 2 //pc2
#define motod 3 //pc3
static void io_init(void)
{
PORTC = 0x0;
DDRC = 0xf;
}
void delay_1ms(void) //1ms延时函数
{
unsigned int i;
for (i=0;i<1140;i++);
}
void delay_nms(unsigned int n) //N ms延时函数
{
unsigned int i=0;
for (i=0;i<n;i++)
{
delay_1ms();
}
}
int main(void)
{
io_init();
while(1)
{
PORTC=(1<<motoa)|(1<<motob);
delay_nms(80);
PORTC=(1<<motob)|(1<<motoc);
delay_nms(80);
PORTC=(1<<motoc)|(1<<motod);
delay_nms(80);
PORTC=(1<<motod)|(1<<motoa);
delay_nms(80);
}
}
本贴被 liurengui 编辑过,最后修改时间:2008-10-16,19:09:49. |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|