中断1,计数器count增1,如果达到预设的数值tab[sp],计数器归零,标志flag置1。这个好像与速度有关。通过调整延时时间来调整速度。
中断0,读键盘。没有scan_key()的源代码,不知道里面有些什么操作。
while(1){...}循环是电机运转,flag_status是状态,1转动,0停止。
没有看到与正转反转有关的代码。也许在motor_cw_ccw()函数里面,这个就是电机动一下的函数。
原程序不完整,没有相应函数、变量的定义及意义说明。难以确切理解。
步进电机驱动器支持c语言开发。很多工业控制设备对位移和角度的控制精度要求较高,一般电机很难实现,而步进电机可精确实现所设定的角度和转数。本设计主要是运用51单片机进行控制,使用单片机以软件方式配合有关芯片和电路元件驱动步进电机,通过C语言编程方法,对步进电机的转速进行控制,使其在一定范围下运行。不清楚您具体采用的什么控制器(PLC或是单片机)和什么步进电机。这里当着您使用的是单片机与5线4相电机
通常情况下控制单片机的4个IO口,使其都为高电平。
再按照一个方向轮流使其中一个IO口变为低电平(间隔这里先为2ms,修改间隔时间可以控制转速),就可以驱动步进电机转起。