因為我對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 |