单片机用的是STC89c52RC,接电压5V,电机驱动器用的是SH-20403接电压24V,步进电机用的是4相的电机,连接后电机不转,不知道哪里出错了
首先,排除电机,驱动器坏了,或者接线有问题,因为通过其他程序测试过,电机可以转
那么就可能是程序的问题,不过程序也没啥问题啊,用这个程序在proteus中,将L298与L297组合在一起当成一个驱动器,仿真结果电机可以转
很纠结,烦请各位大佬,多多指点。
实物图如下:
程序如下:
- #include <reg52.h>
- #include <intrins.h>
- sbit dir=P2^7;
- sbit en=P2^6;
- sbit pulse=P2^5;
- int i;
- void Delay() // 12M晶振1s延时
- {
- unsigned char j, k;
- for (j = 116; j > 0; j--)
- for (k = 214; k > 0; k--); //
- }
- void Init_timer0()
- {
- TMOD=0x01;
- TH0=(65535-2000)/256;
- TL0=(65536-2000)%256;
- TR0=1;
- ET0=1;
- EA=1;
- }
- void timer0()interrupt 1
- {
- TH0=(65535-2000)/256;
- TL0=(65536-2000)%256;
- pulse=~pulse;
- }
- void main()
- {
- Init_timer0();
- dir=0;
- en=1;
- for(i=10;i>0;i--)
- {
- _nop_();
- }
- while(1)
- {
- }
- }
复制代码
|