L298N驱动步进电机程序(共2页).doc
精选优质文档-倾情为你奉上;在晶振为12Mhz下驱动; A组线圈对应 P0.0; B组线圈对应 P0.1; C组线圈对应 P0.2; D组线圈对应 P0.3; 正转次序: AB组-BC组-CD组-DA组 (即一个脉冲,正转5.625度);-/*头文件*/#include <reg52.h> #include <intrins.h>#define uint unsigned int#define uchar unsigned char#define nop() _nop_()uchar code table1=0x03,0x06,0x0c,0x09; /*正转表*/uchar code table2=0x03,0x09,0x0c,0x06; /*反转表*/#define motor P0void delay(uchar ms) /*延时*/ uchar j; while(ms-) for(j=0;j<250;j+) ; void main()uchar i,j;while(1) /正转3圈共192个脉冲j=0;for(i=0;i<192;i+)motor = 0x00;motor = table1j;j+;if(j>=4) j=0;delay(2);delay(200);delay(200);delay(200);delay(200);delay(200);/反转2圈共128个脉冲j=0;for(i=0;i<128;i+)motor = 0x00;motor = table2j;j+;if(j>=4) j=0;delay(2);delay(200);delay(200);delay(200);delay(200);delay(200);此程序已经测试,相当完美,可以放心使用!专心-专注-专业