用89C51控制步进电机正向转动时出现反转1步或多步现象,程序出错在哪里?
本人第一次以定时器产生驱动信号控制步进电机,正向转动时有出现反转1步现象,程序出错在哪里,请各位高手指点指点?
电路图和程序流程图在以下网址可以查看
http://bbs.21ic.com/upfiles/img/20077/2007715211558796.jpg
TIMES EQU 10H ;重复次数
PHASE EQU 33H ;2相驱动
COUNT EQU 50000 ;计数器计数50000次后即产生溢出而中断
;OUT EQU P0 ;输出口
ORG 00H
SJMP START
ORG 0BH
SJMP TIMER0
START: MOV IE,#10000010B ;允许计时器0溢出中断
MOV TMOD,#01H ;设置计时器0方式1
MOV TH0,#3CH
MOV TL0,#0B0H
MOV A,#PHASE
SETB TR0
MOV R5,#TIMES ;指定重复数
JMP $ ;停滞
TIMER0:
CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R5,AGAIN ;时间到了吗
MOV R5,#TIMES ;重新指定重复次数
MOV P0,A ;输出驱动信号
RR A ;左移
RETI
END
实验板所用步进电机AIRPAX:
工作电压:5V
绕组内阻:20.4欧姆
步进角:15度
步进电机为2相6线马达、插头上有橙、绿COM1、棕一组和黑、红COM2、黄一组.
[解决办法]
顺序不对.