请问单片机控制步进电机正反转以及加速减速的程序怎么写?
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/04 02:53:25
请问单片机控制步进电机正反转以及加速减速的程序怎么写?
请问单片机控制步进电机正反转以及加速减速的程序怎么写?
请问单片机控制步进电机正反转以及加速减速的程序怎么写?
电路图所在位置:
;文件名:DJ15-4.ASM
;程序功能:开关控制步进电机正反转
K1 EQU P3.2
K2 EQU P3.3
K3 EQU P3.4
STOP:MOV P0,#0FFH
LOOP:JNB K1,Z_M2
JNB K2,F_M2
JNB K3,STOP1
JMP LOOP
;-----------------------------
STOP1:ACALL DELAY
JNB K3,$
ACALL DELAY
JMP STOP
Z_M2:ACALL DELAY
JNB K1,$
ACALL DELAY
JMP Z_M
F_M2:ACALL DELAY
JNB K2,$
ACALL DELAY
JMP F_M
;---------------------------
Z_M:MOV R0,#00H
Z_M1:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ Z_M
MOV P0,A
JNB K3,STOP1
JNB K2,F_M2
ACALL DELAY
INC R0
JMP Z_M1
RET
;-----------------------------
F_M:MOV R0,#05H
F_M1:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ F_M
MOV P0,A
JNB K3,STOP1
JNB K1,Z_M2
ACALL DELAY
INC R0
JMP F_M1
RET
;-----------------------------
DELAY:MOV R1,#40
D1:MOV R2,#248
DJNZ R2,$
DJNZ R1,D1
RET
;-----------------------------
TABLE:DB 0FCH,0F9H,0F3H,0F6H
DB 00
DB 0F7H,0F3H,0FBH,0F9H
DB 0FDH,0FCH,0FEH,0F6H
DB 00
;-------------------------------
END
\x1a
高低电平就可以控制正反转。
加减速要用到定时器,发脉冲应该用定时器,每个一定的时间使得一个引脚状态翻转一次,若要加减速,则要使得定时器的初始值相应变化。