作业帮 > 综合 > 作业

关于单片机控制步进电机

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 09:26:41
关于单片机控制步进电机
$NOMOD51
P0 DATA 80H
P1 DATA 90H
K1 EQU P0.0
K2 EQU P0.1
K3 EQU P0.2
ORG 0000H
LJMP MAIN
MAIN:MOV SP,50H
STOP:MOV P1,#0FFH
LOOP:JNB K1,MZZ2
JNB K2,MFZ2
JNB K3,STOP1
JMP LOOP
STOP1:ACALL DELAY
JNB K3,$
ACALL DELAY
JMP STOP
MZZ2:ACALL DELAY
JNB K1,$
ACALL DELAY
JMP MZZ
MFZ2:ACALL DELAY
JNB K2,$
ACALL DELAY
JMP MFZ
MZZ:MOV R0,#00H
MZZ1:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ MZZ2
MOV P1,A
JNB K3,STOP1
JNB K2,MFZ2
ACALL DELAY
INC R0
JMP MZZ1
RET
MFZ:MOV R0,#05
MFZ1:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ MFZ
MOV P1,A
JNB K3,STOP1
JNB K1,MZZ2
ACALL DELAY
INC R0
JMP MFZ1
RET
DELAY:MOV R5,#40
DEL1:MOV R6,#248
DJNZ R6,$
DJNZ R5,DEL1
RET
TABLE:DB 0FCH,0F9H,0F3H,0F6H
DB 00H
DB 0F7H,0F3H,0FBH,09H
DB 0FDH,0FCH,0FEH,0F6H
DB 00H
END
有这样一段程序,请教高手帮改一些指令,程序可以运行就行.
这段程序是可以运行,老师要求我们在这个程序的基础上改动一下指令,使程序一样可以运行的就行,问题就是一定要改动一些指令!
关于单片机控制步进电机
编译了一下,这个程序可以运行.
楼主发现什么错误了?
----------------------------
按照楼主提示,进行了简单的修改.
调整了两小段程序的位置,这样就可以删除两个"JMP"指令;
原程序中,有两个"RET",是没有用的,也可以删除;
这四行可删的指令,我在前面加上了“;”作了标记.
另外,原程序中,少了个井号#.
程序如下:
; P0 DATA 80H
; P1 DATA 90H
K1 EQU P0.0
K2 EQU P0.1
K3 EQU P0.2
ORG 0000H
LJMP MAIN
MAIN:MOV SP,#50H ;原文在这里中少了个井号"#"
STOP:MOV P1,#0FFH
LOOP:JNB K1,MZZ2
JNB K2,MFZ2
JNB K3,STOP1
JMP LOOP
;------------------------------------
STOP1:ACALL DELAY
JNB K3,$
ACALL DELAY
JMP STOP
;------------------------------------
MZZ2:ACALL DELAY
JNB K1,$
ACALL DELAY
; JMP MZZ
MZZ:MOV R0,#00H
MZZ1:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ MZZ2
MOV P1,A
JNB K3,STOP1
JNB K2,MFZ2
ACALL DELAY
INC R0
JMP MZZ1
; RET
;------------------------------------
MFZ2:ACALL DELAY
JNB K2,$
ACALL DELAY
; JMP MFZ
MFZ:MOV R0,#05
MFZ1:MOV A,R0
MOV DPTR,#TABLE
MOVC A,@A+DPTR
JZ MFZ
MOV P1,A
JNB K3,STOP1
JNB K1,MZZ2
ACALL DELAY
INC R0
JMP MFZ1
; RET
;------------------------------------
DELAY:MOV R5,#40
DEL1:MOV R6,#248
DJNZ R6,$
DJNZ R5,DEL1
RET
;------------------------------------
TABLE:DB 0FCH,0F9H,0F3H,0F6H
DB 00H
DB 0F7H,0F3H,0FBH,09H
DB 0FDH,0FCH,0FEH,0F6H
DB 00H
END