background image

  
方式 1 为中断方式:P3.5(INT1)为步进脉冲输入端,P3.7 为正反转脉冲输入端。
上位机(PC 机或单片机)与驱动器仅以 2 条线相连。
  
方式 2 为串行通讯方式:上位机(PC 机或单片机)将控制命令发送给驱动器,
驱动器根据控制命令自行完成有关控制过程。
  
方式 3 为拨码开关控制方式:通过 K1~K5 的不同组合,直接控制步进电机。
  
当上电或按下复位键 KR 后,AT89C2051 先检测拨码开关 KX、KY 的状态,根
据 KX、KY 的不同组合,进入不同的工作方式。以下给出方式 1 的程序流程框
图与源程序。
  
在程序的编制中,要特别注意步进电机在换向时的处理。为使步进电机在换向
时能平滑过渡,不至于产生错步,应在每一步中设置标志位。其中 20H 单元的
各位为步进电机正转标志位;21H 单元各位为反转标志位。在正转时,不仅给
正转标志位赋值,也同时给反转标志位赋值;在反转时也如此。这样,当步进
电机换向时,就可以上一次的位置作为起点反向运动,避免了电机换向时产
生错步。

图 4 方式 1 程序框图
方式 1 源程序:

     MOV         20H,#00H               ;20H 单元置初值,电机正转位置指针
     MOV          21H,#00H               ;21H 单元置初值,电机反转位置指针
     MOV          P1,#0C0H               ;P1 口置初值,防止电机上电短路
     MOV          TMOD,#60H            ;T1 计数器置初值,开中断
     MOV          TL1,#0FFH
     MOV          TH1,#0FFH
     SETB         ET1
     SETB         EA
     SETB         TR1

 

   SJMP         $
  ;***********计数器 1 中断程序************
  IT1P:        JB           P3.7,FAN               ;电机正、反转指针
  ;*************电机正转*****************
               JB           00H,LOOP0
              JB           01H,LOOP1
               JB           02H,LOOP2
               JB           03H,LOOP3
               JB           04H,LOOP4
               JB           05H,LOOP5