因為我對vb比較不會,所以請各位大大幫我一下!
我按下按鍵的時候馬達會執行前進後退,我放開的時候他就會停止
我使用的是伺服馬達,所以每次就算我放手了,他還是會執行一陣子
JB K1,X1
CALL GO_FOR ;我有想過在這裡寫個無限迴圈
;我試了很多次還是不行,請各位大大邦一下
JMP LOOP
JNB K1,$ ;把這個改放到這哩,我用普通開關的時候是正常的
可是當我改用無線模組的時候,他會一直執行這程式停不下來
---------------------以下程式----------------------------------
DEA EQU 3
DEB EQU 25
TS EQU 1
;----------------------------
K1 EQU P1.0
K2 EQU P1.1
PUL EQU P1.7
PUR EQU P1.6
;------------------------------------
START:
CLR PUL
CLR PUR
LOOP:
JB K1,X1
JNB K1,$
CALL GO_FOR
JMP LOOP
X1:
JB K2,X2
JNB K2,$
CALL GO_BACK
JMP LOOP
X2:
JMP LOOP
;-----------------------------------------
; DELAY R5*10 ms
DELAY:
MOV R6,#50
D1: MOV R7,#100
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,DELAY
RET
;--------------------------------
PU_BACK: SETB PUL
MOV R4,#DEA
A1: CALL DEL
DJNZ R4,A1
CLR PUL
MOV R4,#(200-DEA)
A2: CALL DEL
DJNZ R4,A2
RET
;----------------------------
PU_FOR: SETB PUL
MOV R4,#DEB
B1: CALL DEL
DJNZ R4,B1
CLR PUL
MOV R4,#(200-DEB)
B2: CALL DEL
DJNZ R4,B2
RET
;-------------------------
; DELAY R5*0.1 ms
DEL:
MOV R5,#1
DELAY1:
MOV R6,#2
F1: MOV R7,#17
DJNZ R7,$
DJNZ R6,F1
DJNZ R5,DELAY1
RET
;-------------------------------------------------------
PUR_BACK: SETB PUR
MOV R4,#DEA
G1: CALL DEL
DJNZ R4,G1
CLR PUR
MOV R4,#(200-DEA)
G2: CALL DEL
DJNZ R4,G2
RET
;----------------------------
PUR_FOR: SETB PUR
MOV R4,#DEB
H1: CALL DEL
DJNZ R4,H1
CLR PUR
MOV R4,#(200-DEB)
H2: CALL DEL
DJNZ R4,H2
RET
;-************************************************************
GO_FOR:
MOV R3,#TS
J1: CALL PU_FOR
CALL PUR_BACK
DJNZ R3,J1
RET
;---------------------------
GO_BACK:
MOV R3,#TS
S1: CALL PU_BACK
CALL PUR_FOR
DJNZ R3,S1
RET
;---------------------------
END |