各位大侠,下面的程序本人在STC89C51上能够通过,马达正常运行。但烧录在STC15F101W里面后,步进马达不转,只是震动,不知什么原因,请大家帮忙分析一下,谢谢!
/*
1、本程序用于测试4相步进电机常规驱动
2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来
3、速度不可以调节的过快,不然就没有力矩转动了
可以按照给的原理图接线
*/
- #include <reg52.h>
- unsigned char code F_Rotation[4]={0x04,0x08,0x10,0x20};//正转表格
- unsigned char code B_Rotation[4]={0x20,0x10,0x08,0x04};//反转表格
- void Delay(unsigned int i)//延时
- {
- while(--i);
- }
- main()
- {
- unsigned char i;
- while(1)
- {
- for(i=0;i<4;i++) //4相
- {
- P3=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
- Delay(750); //改变这个参数可以调整电机转速
- }
- }
- }
复制代码
|