Robofun 機器人論壇

標題: 按鍵掃瞄 (vb [打印本頁]

作者: owce    時間: 2010-3-16 15:41
標題: 按鍵掃瞄 (vb
因為我對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
作者: marbol    時間: 2010-3-18 07:48
回復 1# owce

owce~~~
問題描述不夠清楚,而且標題跟vb有關但問題內沒有vb相關描述,
另外使用的是51的組語,引用出處也最好說明一下~~~
可以的話把功能方塊放上來討論,初步看來您用的是改過的會一直轉的伺服機,
duty cycle都是20ms
前進的pwm hi的時間為0.3ms,
後退的pwm hi的時間為2.5ms,
猜想是不是用vb透過rs232到發射板,發射信號給車子接收後,控制車子的伺服機作動~~~~
問題是什麼呢~~要改進遙控反應特性,還是特殊的動作編排呢??
作者: robot2009    時間: 2010-4-17 11:42
大家問問題...怎麼都問一半就會斷掉-.-!!




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2