?? demostep.asm
字號:
;這是一個使用單片機通過NUL2003驅動步進電機程序.
;步進電機: 5伏,500MA/STEP,四限四拍.
;將步進電機的A B C D四個繞組連接到 S51E板"步進電機"的A,B,C,D,將公用抽頭并接在VCC上.
;將"控制輸入口"的A B C D 接焊盤 P2.3,P2.2,P2.1,P2.0.
;將P2.3-P2.0跳帽置焊盤位.
;----------- IT'S FOR S51E --------------------------
BUFF_STEP EQU 21H
SW1 BIT P2.7
KEY BIT P3.3
org 000h
JMP START
ORG 100H
;----------------------------------------
start:mov P0,#0f0h ;初始化MCU端口
mov P1,#0ffh
mov P3,#0ffh
MOV P2,#0ffH
MOV A,#00H ;初始化寄存器
MOV PSW,#00H
MOV IE,#00H
MOV SP,#30H
CLR KEY
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 P0,A
LCALL DEL
INC BUFF_SteP
MOV A,BUFF_STEP
CJNE A,#04H,MAIN
MOV BUFF_STEP,#00H
JMP MAIN
DEL: MOV R6,#200
DEL0: MOV R7,#200
DJNZ R7,$
DJNZ R6,DEL0
RET
TAB_CW: DB 00000011B,00000110B,00001100B,00001001B ;正轉相序
TAB_CCW: DB 00001001B,00001100B,00000110B,00000011B ;反轉相序
END
;提問: (1) 如需改變電機轉速,程序應如何修改?
(2) 使用定時中斷方式,如何改變驅動相序?
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -