我用的是永磁式步进电机,不知道你用的是什么样的,我使用的这种,步进角比较大,步进电机都是一步步转的,转快了就看不出步进电机是一步步转了
而当是步进电机正转是按这样的顺序发送信号,abcd,反转是dcba
转多少圈,就是循环给步进电机发送信号,使用程序控制发送信号的次数,至于怎么控制只要知道接口函数什么的还是不难的。
如果还是不大明白,我倒是可以帮你看看程序
步进电机驱动器支持c语言开发。很多工业控制设备对位移和角度的控制精度要求较高,一般电机很难实现,而步进电机可精确实现所设定的角度和转数。本设计主要是运用51单片机进行控制,使用单片机以软件方式配合有关芯片和电路元件驱动步进电机,通过C语言编程方法,对步进电机的转速进行控制,使其在一定范围下运行。中断2,启动-停止切换(通过切换flag_status),显示状态。do-while是延时。中断1,计数器count增1,如果达到预设的数值tab[sp],计数器归零,标志flag置1。这个好像与速度有关。通过调整延时时间来调整速度。
中断0,读键盘。没有scan_key()的源代码,不知道里面有些什么操作。
while(1){...}循环是电机运转,flag_status是状态,1转动,0停止。
没有看到与正转反转有关的代码。也许在motor_cw_ccw()函数里面,这个就是电机动一下的函数。
原程序不完整,没有相应函数、变量的定义及意义说明。难以确切理解。