📄 buji.txt
字号:
;***************************************
; P3.3,P3.4是步进机两种不同的转速
; P3.5是转向,为‘0’反转,为‘1’正转
;***************************************
ORG 4000H
MAIN: JB P3.3,DANG1 ;判断KO是1转到DANG1
LOP: JB P3.4,DANG2 ;判断K1是1转到DANG2
AJMP MAIN
;*****************************
; 1档(高速)转速时电机的正反转
;*****************************
DANG1: MOV R2,#1FH ;步数送R2寄存器
LOOP0: MOV R3,#00H
MOV DPTR,#POINT ;送控制模型指针
JNB P3.5,LOOP2 ;K2是0为反转
LOOP1: MOV A,R3 ;取控制模型
MOVC A,@A+DPTR
JZ LOOP0 ;判断控制模型是否为00H
MOV P1,A ;输出控制模型
ACALL YANSHI0 ;短延时
INC R3 ;控制步数加1
DJNZ R2,LOOP1 ;判步数是否走完
AJMP DANG1
LOOP2: MOV A,R3 ;求反控制模型的偏移量
ADD A,#05H ;加5转到反控制模型
MOV R3,A
AJMP LOOP1
;*****************************
; 2档(低速)转速时电机的正反转
;*****************************
DANG2: MOV R2,#1FH
ION0: MOV R3,#00H
MOV DPTR,#POINT
JNB P3.5,ION2
ION1: MOV A,R3
MOVC A,@A+DPTR
JZ ION0
MOV P1,A
ACALL YANSHI1 ;长延时
INC R3
DJNZ R2,ION1
AJMP DANG2
ION2: MOV A,R3
ADD A,#05H
MOV R3,A
AJMP ION1
;***************
; 延时子程序
;***************
YANSHI0: MOV R0,#20H
DELAY1: MOV R1,#04FH
DELAY2: DJNZ R1,DELAY2
DJNZ R0,DELAY1
RET
YANSHI1: MOV R0,#50H
DELAY3: MOV R1,#04FH
DELAY4: DJNZ R1,DELAY2
DJNZ R0,DELAY1
RET
;****************
; 转向控制模型
;****************
POINT: DB 03H ;正转
DB 06H
DB 0CH
DB 09H
DB 00H
DB 0CH ;反转
DB 09H
DB 0CH
DB 06H
DB 00H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -