请求:单片机控制步进电机C语言编程

2024年11月23日 02:58
有2个网友回答
网友(1):

你描述的要求不是很明了,应该分步描述,每一步的要求分步写出来,大家容易看懂.
明白你的意思了!
只有两个口控制步进电机的话,需要外加步进电机驱动器.
p1.0控制方向,p1.0是1(0)电机向前,p1.0是0(1)步进电机向后
p1.1控制步数和速度,用一个PWM就可以了,直接用定时器来控制.pwm频率越高速度越快,但要用在定时器中断里面计算步进的步数来确定走了多远.
至于你说的中断信号,可以用循环扫描的方法,在程序中扫描输入中断信号,当检测到信号后改变P1.5的电平,即可点亮LED

网友(2):

一楼说的步进电机驱动器对外置需要一个时钟,一个正反转控制信号,用这样的芯片自然简单,其实用单片机自己产生步进电机驱动信号也可以,之需要加晶体管驱动电路(加大驱动功率的作用),为了精确运动距离,首先得根据螺距算出要总共要转过的角度(多少圈领多少个脉冲)
至于中断信号可以将其设置成下降沿触发(电平触发会导致多次相应),不进电机驱动信号产生就用主函数中的主循环实现(设定好循环次数等固定信息)。