有个小问题请教各位大虾:以下是控制步进电机正.反转3圈的程序,可实际只能转2又2/3 圈就反向了 不知问题出在哪? 麻烦指点一下 多谢了!!
org 00h
JMP start
org 0080H
x1:mov r3,#144
start: mov r0,#00h
start1:
mov p1,#0ffh
mov a,r0
mov dptr,#table
movc a,@a+dptr
jz start
cpl a
mov p1,a
call delay
inc r0
djnz r3,start1
mov r3,#144
start2:
mov p1,#0ffh
mov r0,#05
start3:mov a,r0
mov dptr,#table
movc a,@a+dptr
jz start2
cpl a
mov p1,a
call delay
inc r0
djnz r3,start3
jmp x1
delay: mov r5,#40 ;延时。
d1: mov r6,#10
d2: mov r7,#18
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
table:
db 03h,09h,0ch,06h
db 00
db 06h,0ch,09h,03h
db 00
end |