百度知道 - 信息提示
急求单片机控制步进电机加减速/正反转的汇编程序
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
JB
06H,LOOP6
JB
07H,LOOP7
LOOP0:
MOV
P1,#0D0H
MOV
20H,#02H
MOV
21H,#40H
AJMP
QUIT
LOOP1:
MOV
P1,#090H
MOV
20H,#04H
MOV
21H,#20H
AJMP
QUIT
LOOP2:
MOV
P1,#0B0H
MOV
20H,#08H
MOV
21H,#10H
AJMP
QUIT
LOOP3:
MOV
P1,#030H
MOV
20H,#10H
MOV
21H,#08H
AJMP
QUIT
LOOP4:
MOV
P1,#070H
MOV
20H,#20H
MOV
21H,#04H
AJMP
QUIT
LOOP5:
MOV
P1,#060H
MOV
20H,#40H
MOV
21H,#02H
AJMP
QUIT
LOOP6:
MOV
P1,#0E0H
MOV
20H,#80H
MOV
21H,#01H
AJMP
QUIT
LOOP7:
MOV
P1,#0C0H
MOV
;
20H,#01H
MOV
21H,#80H
AJMP
QUIT
;***************电机反转*****************
FAN:
JB
08H,LOOQ0
JB
09H,LOOQ1
JB
0AH,LOOQ2
JB
0BH,LOOQ3
JB
0CH,LOOQ4
JB
0DH,LOOQ5
JB
0EH,LOOQ6
JB
0FH,LOOQ7
LOOQ0:
MOV
P1,#0A0H
MOV
21H,#02H
MOV
20H,#40H
AJMP
QUIT
LOOQ1:
MOV
P1,#0E0H
MOV
21H,#04H
MOV
20H,#20H
AJMP
QUIT
LOOQ2:
MOV
P1,#0C0H
MOV
21H,#08H
MOV
20H,#10H
AJMP
QUIT
LOOQ3:
MOV
P1,#0D0H
MOV
21H,#10H
MOV
20H,#08H
AJMP
QUIT
LOOQ4:
MOV
P1,#050H
MOV
21H,#20H
MOV
20H,#04H
AJMP
QUIT
LOOQ5:
MOV
P1,#070H
MOV
21H,#40H
MOV
20H,#02H
AJMP
QUIT
LOOQ6:
MOV
P1,#030H
MOV
21H,#80H
MOV
20H,#01H
AJMP
QUIT
LOOQ7:
MOV
P1,#0B0H
MOV
21H,#01H
MOV
20H,#80H
QUIT:
RETI
END
各位编程高手求一个基于AT51单片机控制步进电机正反转,加速和减速的程序!仿真原理图如下:
你的加速减速 最简单是用延时函数做 改变延时时间来控制脉冲发送