基于单片机汇编语言的步进电机的控制程序
来源:动视网
责编:小OO
时间:2025-10-03 04:21:30
基于单片机汇编语言的步进电机的控制程序
参考程序ORG0000HLJMPMAINORG1000HMAIN:MOVR4,#04H;设置步进电动机运行方式为单四拍LOOP:JNBP1.4,LOOP;启动按钮是否按下JBP1.5,LOOP;停止按钮是否按下JBP1.6,POS;是否为正转AJMPNEG;否则为反转POS:MOVDPTR,#TABLE1;正转LOOP1:CLRAMOVCA,@A+DPTRMOVP1,AINCDPTRJBP1.7,LOOP2;是否提速MOVR5,#10ACALLDELAYLOOP2:MOVR5,#1ACALLD
导读参考程序ORG0000HLJMPMAINORG1000HMAIN:MOVR4,#04H;设置步进电动机运行方式为单四拍LOOP:JNBP1.4,LOOP;启动按钮是否按下JBP1.5,LOOP;停止按钮是否按下JBP1.6,POS;是否为正转AJMPNEG;否则为反转POS:MOVDPTR,#TABLE1;正转LOOP1:CLRAMOVCA,@A+DPTRMOVP1,AINCDPTRJBP1.7,LOOP2;是否提速MOVR5,#10ACALLDELAYLOOP2:MOVR5,#1ACALLD
参考程序
ORG 0000H
LJMP MAIN
ORG 1000H
MAIN: MOV R4,#04H ;设置步进电动机运行方式为单四拍
LOOP: JNB P1.4,LOOP ;启动按钮是否按下
JB P1.5,LOOP ;停止按钮是否按下
JB P1.6,POS ;是否为正转
AJMP NEG ;否则为反转
POS: MOV DPTR,#TABLE1;正转
LOOP1:CLR A
MOVC A,@A+DPTR
MOV P1,A
INC DPTR
JB P1.7,LOOP2 ;是否提速
MOV R5,#10
ACALL DELAY
LOOP2:MOV R5,#1
ACALL DELAY
DJNZ R4,LOOP1
AJMP MAIN
NEG: MOV DPTR,#TABLE2;反转
LOOP3:CLR A
MOVC A,@A+DPTR
MOV P1,A
INC DPTR
JB P1.7,LOOP4 ;是否提速
MOV R5,#10
ACALL DELAY
LOOP4:MOV R5,#1
ACALL DELAY
DJNZ R4,LOOP3
AJMP MAIN
TABLE1:DB 0FEH,0FDH,0FBH,0F7H
TABLE2:DB 0FEH,0F7H,0FBH,0FDH
DELAY:MOV R7,#200
NOP
DEL1: MOV R6,#123
DEL2: DJNZ R6,DEL2
DJNZ R7,DEL1 ;延时[(123*2+1+1+2)*200+1+2]*4=50.001ms
DJNZ R5,DELAY ;延时50*R4MS
RET
END
基于单片机汇编语言的步进电机的控制程序
参考程序ORG0000HLJMPMAINORG1000HMAIN:MOVR4,#04H;设置步进电动机运行方式为单四拍LOOP:JNBP1.4,LOOP;启动按钮是否按下JBP1.5,LOOP;停止按钮是否按下JBP1.6,POS;是否为正转AJMPNEG;否则为反转POS:MOVDPTR,#TABLE1;正转LOOP1:CLRAMOVCA,@A+DPTRMOVP1,AINCDPTRJBP1.7,LOOP2;是否提速MOVR5,#10ACALLDELAYLOOP2:MOVR5,#1ACALLD