📄 bj1.asm
字号:
;------------------------------------------------------
;步进电机四轮驱动,实现 前进 后退 左转 右转 停止等功能;
;P2输入,P1输出
;------------------------------------------------------
QJ EQU P2.0 ; 前进
HT EQU P2.1 ; 后退
LZ EQU P2.2 ; 左转
RZ EQU P2.3 ; 右转
TZ EQU P2.4 ; 停止
OUT EQU P1 ;p1口 输出
;-----------------------------------------------------
ORG 40H
STOPS1: ORL OUT,#0FFH
LOOP: JNB QJ,ZZ1
JNB HT,FZ1
JNB LZ,LZ1
JNB RZ,RZ1
JNB TZ,STOPS
JMP LOOP
;----------------------------------------------
ZZUAN: MOV R0,#00H ; 前进-----》1正转 ,2反转
ZZUAN1: MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
JZ ZZUAN
;CPL A
MOV OUT,A
JNB HT,FZ1
JNB LZ,LZ1
JNB RZ,RZ1
JNB TZ,STOPS
CALL DELAY
INC R0
JMP ZZUAN1
;-------------------------------------------------
FZUAN: MOV R0,#05H ; 后退-----》2正转 ,1反转
FZUAN1: MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
JZ FZUAN
;CPL A
MOV OUT,A
JNB QJ,ZZ1
JNB LZ,LZ1
JNB RZ,RZ1
JNB TZ,STOPS
CALL DELAY
INC R0
JMP FZUAN1
;----------------------------------------------------
ZZ1: CALL DELAY ;键盘去干扰
JNB QJ,$
CALL DELAY
JMP ZZUAN
FZ1: CALL DELAY
JNB HT,$
CALL DELAY
JMP FZUAN
LZ1: CALL DELAY
JNB LZ,$
CALL DELAY
JMP LZUAN
RZ1: CALL DELAY
JNB RZ,$
CALL DELAY
AJMP RZUAN
STOPS: CALL DELAY
JNB TZ,$
CALL DELAY
JMP STOPS1
;-------------------------------------------------------
LZUAN: MOV R0,#0AH ;左转-----》1,2正转
LZUAN1: MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
JZ LZUAN
;CPL A
MOV OUT,A
JNB QJ,ZZ1
JNB HT,FZ1
JNB RZ,RZ1
JNB TZ,STOPS
CALL DELAY
INC R0
JMP LZUAN1
;-------------------------------------------------------
RZUAN: MOV R0,#0fH ;右转---》1,2反转
RZUAN1: MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
JZ RZUAN
;CPL A
MOV OUT,A
JNB QJ,ZZ1
JNB HT,FZ1
JNB LZ,LZ1
JNB TZ,STOPS
CALL DELAY
INC R0
JMP RZUAN1
;-------------------------------------------------
DELAY: MOV R1,#255 ;延时
D1: MOV R2,#255
DJNZ R2,$
DJNZ R1,D1
RET
;DelayS: MOV R5,#0AH
;L1: MOV R6,#0FFH
;Delay0: MOV R7,#0FFH
;Delay1: DJNZ R7,Delay1
; DJNZ R6,Delay0
;DJNZ R5,L1
;RET
;-----------------------------------------------------
TAB: DB 33H,96H,0CCH,69H,00H ;正转码
DB 33H,69H,0CCH,96H,00H ;反转码
DB 33H,66H,0CCH,99H,00H ;左转码
DB 33H,99H,0CCH,66H,00H ;右转码
END
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -