全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1062
推到 Plurk!
推到 Facebook!

8051控制馬達問題

答題得分者是:
極光
初階會員


發表:32
回覆:96
積分:40
註冊:2005-01-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-25 00:13:04 IP:61.221.xxx.xxx 未訂閱
以下是我的程式 我現在的問題是,若P1.2或P1.3導通時 我的馬達都不會工作。 但是P1.0或P1.1導通時卻可以正常工作 請問我的程式哪裡有問題呢? 這麼會這樣阿! X REG P3.0 Y REG P3.1 ORG 00H START: JB X,XMAIN CALL STOP JB Y,YMAIN CALL STOP JMP START XMAIN: JB P1.0,XR jB P1.1,XL JMP START YMAIN: JB P1.2,YR JB P1.3,YL JMP START XR: MOV P2,#00001110B;馬達(1)正轉 JMP START XL: MOV P2,#00001100B;馬達(1)逆轉 JMP START YR: MOV P2,#00001011B;馬達(2)正轉 JMP START YL: MOV P2,#00000011B;馬達(2)正轉 JMP START STOP: MOV P2,#FFH RET END

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-25 00:46:54 IP:218.165.xxx.xxx 未訂閱
請將你的程式改為如下所示:    
X       REG     P3.0
Y       REG     P3.1
        
ORG     00H
JMP     START          ;*
ORG     30H             ;*    START:  JB      X,XMAIN
        CALL    STOP        
        JB      Y,YMAIN
        CALL    STOP
        JMP     START    XMAIN:  JB      P1.0,XR
        JB      P1.1,XL
        JMP     START    YMAIN:  JB      P1.2,YR
        JB      P1.3,YL
        JMP     START    XR:     MOV     P2,#00001110B;馬達(1)正轉
        JMP     START    XL:     MOV     P2,#00001100B;馬達(1)逆轉
        JMP     START    YR:     MOV     P2,#00001011B;馬達(2)正轉
        JMP     START    YL:     MOV     P2,#00000011B;馬達(2)正轉
        JMP     START    STOP:   MOV     P2,#FFH
        RET    END
如果仍然不行,請畫出你的電路圖與51接線方式. ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
極光
初階會員


發表:32
回覆:96
積分:40
註冊:2005-01-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-25 07:40:03 IP:61.221.xxx.xxx 未訂閱
引言: 請將你的程式改為如下所示:
X       REG     P3.0
Y       REG     P3.1
        
ORG     00H
JMP     START          ;*
ORG     30H             ;*    START:  JB      X,XMAIN
        CALL    STOP        
        JB      Y,YMAIN
        CALL    STOP
        JMP     START    XMAIN:  JB      P1.0,XR
        JB      P1.1,XL
        JMP     START    YMAIN:  JB      P1.2,YR
        JB      P1.3,YL
        JMP     START    XR:     MOV     P2,#00001110B;馬達(1)正轉
        JMP     START    XL:     MOV     P2,#00001100B;馬達(1)逆轉
        JMP     START    YR:     MOV     P2,#00001011B;馬達(2)正轉
        JMP     START    YL:     MOV     P2,#00000011B;馬達(2)正轉
        JMP     START    STOP:   MOV     P2,#FFH
        RET    END
如果仍然不行,請畫出你的電路圖與51接線方式.
請問 JMP START ;* ORG 30H ;* 這兩行的用意是這樣阿! 可以解釋一下嘛?

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-25 09:42:07 IP:211.22.xxx.xxx 未訂閱
引言: 請問 JMP START ;* ORG 30H ;* 這兩行的用意是這樣阿! 可以解釋一下嘛?
JMP START ---->跳到START處 ORG 30H ---->程式由30H開始堆疊 結果應該ok了吧? ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
極光
初階會員


發表:32
回覆:96
積分:40
註冊:2005-01-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-26 08:06:40 IP:61.221.xxx.xxx 未訂閱
大大阿!我自己用模擬器跑一次 感覺上多那兩行,感覺好像沒什麼改變耶! 不知道多那兩行的用意為何喔!

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-26 08:31:30 IP:59.113.xxx.xxx 未訂閱
引言: 大大阿!我自己用模擬器跑一次 感覺上多那兩行,感覺好像沒什麼改變耶! 不知道多那兩行的用意為何喔!
去看一下51記憶體規劃.程式堆疊請由30H以後開始放 00~2FH是很多IO的位置跟中斷向量位置.(03H,13H....等等) 請參考一下51相關書籍,應該都有提到. 你這樣放,會弄亂IO. ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-04-29 3:43:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!