📄 步进电机.asm
字号:
;这是一个使用单片机通过NUL2003驱动步进电机程序.
;步进电机: 5伏,500MA/STEP,四限四拍.
;将步进电机的A B C D四个绕组连接到"步进电机"的A,B,C,D,将公用抽头并接在VCC上.
BUFF_STEP EQU 21H
SW1 BIT P3.1
org 000h
JMP START
ORG 100H
;----------------------------------------
start:MOV BUFF_STEP,#00H
mov P0,#0fFh ;初始化MCU端口
mov P1,#0ffh
mov P3,#0ffh
MOV P2,#0ffH
MOV A,#00H ;初始化寄存器
MOV PSW,#00H
MOV IE,#00H
MOV SP,#30H
MAIN: JNB SW1,CCW_LP ;正常电机正向转动
MOV DPTR,#TAB_CW ;按下SW1键,电机反向转动
JMP LOOP
CCW_LP:MOV DPTR,#TAB_CCW
LOOP: MOV A,BUFF_STEP
MOVC A,@A+DPTR
MOV P1,A
LCALL DEL
INC BUFF_STEP
MOV A,BUFF_STEP
CJNE A,#04H,MAIN
MOV BUFF_STEP,#00H
JMP MAIN
DEL: MOV R6,#500
DEL0: MOV R7,#200
DJNZ R7,$
DJNZ R6,DEL0
RET
TAB_CW: DB 11110001B,11101001B,11100101B,11100011B ;正转相序
TAB_CCW: DB 11110001B,11100011B,11100101B,11101001B ;反转相序
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -