标题: 单片机步进式电机控制步数程序问题 [打印本页]
作者: 1697809501 时间: 2020-5-23 18:43
标题: 单片机步进式电机控制步数程序问题
要求(汇编):采用单片机控制一个三相单三拍的步进电机工作。步进电机的旋转方向由正反转控制信号控制。步进电机的步数由键盘输入,可输入的步数分别为3、6、9、12、15、18、21、24和27步,且键盘具有键盘锁功能,当键盘上锁时,步进电机不接受输入步数,也不会运转。只有当键盘锁打开并输入步数时,步进电机才开始工作。
电机运转的时候有正转和反转指示灯指示。 使用上述程序时,DJNZ直接进行跳转,并且前面的step程序也不起作用,没有让下面的程序循环
作者: 1697809501 时间: 2020-5-23 18:45
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP TIM0
ORG 0013H
LJMP TIM1
ORG 0030H
MAIN:MOV R0,#1
SETB EA
SETB EX0
SETB EX1
step_3:JB P1.0,step_6
MOV R0,#1
step_6: JB P1.1,step_9
MOV R0,#2
step_9: JB P1.2,step_12
MOV R0,#3
step_12:JB P1.3,step_15
MOV R0,#4
step_15:JB P1.4,step_18
MOV R0,#5
step_18:JB P1.5,step_21
MOV R0,#6
step_21:JB P1.6,step_24
MOV R0,#7
step_24:JB P1.7,step_27
MOV R0,#8
step_27:JB P3.0,step_3
MOV R0,#9
TIM0: DJNZ R0,ZHEN
作者: 1697809501 时间: 2020-5-23 18:45
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP TIM0
ORG 0013H
LJMP TIM1
ORG 0030H
MAIN:MOV R0,#1
SETB EA
SETB EX0
SETB EX1
step_3:JB P1.0,step_6
MOV R0,#1
step_6: JB P1.1,step_9
MOV R0,#2
step_9: JB P1.2,step_12
MOV R0,#3
step_12:JB P1.3,step_15
MOV R0,#4
step_15:JB P1.4,step_18
MOV R0,#5
step_18:JB P1.5,step_21
MOV R0,#6
step_21:JB P1.6,step_24
MOV R0,#7
step_24:JB P1.7,step_27
MOV R0,#8
step_27:JB P3.0,step_3
MOV R0,#9
TIM0: DJNZ R0,ZHEN
RETI
ZHEN:MOV DPTR,#Vn_step1
MOVC A,@A+DPTR
MOV P0,A
INC A
CJNE A,#3,ZHEN
CLR A
SJMP TIM0
TIM1: DJNZ R0,FAN
RETI
FAN:MOV DPTR,#Vn_step2
MOVC A,@A+DPTR
MOV P0,A
INC A
CJNE A,#3,FAN
CLR A
SJMP TIM1
Vn_step1: DB 0F1H,0F3H,0F2H,0F6H,0F4H,0FCH,0F8H,0F9H
Vn_step2: DB 04H,02H,01H
END
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |