×
单片机 > 单片机程序设计 > 详情

ATMEGA8单片机对步进电机的驱动

发布时间:2020-12-24 发布时间:
|

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharnp;

//步进电机运行数据表

constucharmotortb[]={0x11,0x99,0x88,0xCC,0x44,0x66,0x22,0x33};

voiddelay_nms(uintms)//每步延时de子程序

{

uinti;

for(i=0;i_delay_loop_2(8*250);

}

voida_step(uchard,uchart)//步进电机走一步d=0正转d=1反转t越大走得越慢

{

if(d&0x01)

{


 

if(np==0)

np=7;

else

np--;

}

else

{

if(np==7)

np=0;

else

np++;

}

PORTD=motortb[np];

delay_nms(t);

}

voida_turn(uchard,uchart)//步进电机走一圈

{

uchari;

for(i=0;i《96;i++)

a_step(d,t);

}

intmain(void)

{

DDRD=0xff;

PORTD=0x44;

DDRB=0xff;

PORTB=0xff;

np=4;

while(1)

a_turn(1,200);

}

关键字:ATMEGA8  单片机  步进电机  驱动 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法