我想用STC12C5A60S单片机控制STI6608驱动步进电机动作,请问C程序怎么写?

2024-11-16 01:30:23
推荐回答(1个)
回答1:

这个STI6608驱动器输入信号是Pluse+DIR方式控制,可以带2个步进电机。Reset可以置位步进电机到位置1。刚启动是置位1次就可以了。以下编一简单的演示程序:

#include
#define uchar unsigned char
#define uint unsigned char
sbit pluse1=P1^0;
sbit pluse2=P1^1;
sbit dir1=P1^2;
sbit dir2=P1^3;
sbit reset1=P1^4;
sbit reset2=P1^5;
void delay(uint a)
{
uint i;
while(a--)for(i=0;i<1100;i++);
}
main()
{
uint i;
reset1=0;
reset2=0;
delay(1000);
reset1=1;
reset2=1;
while(1)
    {
    for(i=0;i<4800;i++)
        {
        pluse1=~pluse1;
        dir1=1;
        delay(5);
        }
    for(i=0;i<4800;i++)
        {
        pluse2=~pluse2;
        dir2=1;
        delay(5);
        }
    for(i=0;i<4800;i++)
        {
        pluse1=~pluse1;
        dir1=0;
        delay(5);
    for(i=0;i<4800;i++)
        {
        pluse2=~pluse2;
        dir2=0;
        delay(5);
        }        
    }
}