Re: [求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
新會員
|
handy大鍋您好
程式有調入自訂的inc檔 其中有定義 GP3 EQU H'0003' 故編譯器沒有報錯而出現ERROR 而程式中 多加一行 MOVWF GPIO 是想把值拴在閘極上,單純做Ube 結果是多餘的啦~~ 因為讀取時是讀腳位值 而MPLAB預設若沒設定 初始值=0 所以就讀不出1的值 也寫不進了(設定為輸入) 謝謝您的回答
發表於: 2008/4/29 22:09
|
|||
|
Re: [求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
新會員
|
C_H_M學長您好
果然被您說中了 SIM用的還不熟 以為若要持續的話 左方 Time 欄位不需要填 結果猛按Apply還是沒用 謝謝您的提醒~ Thank~
發表於: 2008/4/29 21:49
|
|||
|
Re: [求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
新會員
|
MOVLW 0x3C
TRIS GPIO MOVWF GPIO <--此行執行後,GPIO=0X00 並沒寫入0x3C值 ^^^^^^^^^^^^^^^^^^^^^^^^ 0x3C = b'111100' 因為GP2,GP3,GP4,GP5都是輸入。 所以GPIO沒辦法寫入0x3C BTFSC GPIO,GP3 <--故此行偵測還是0 ^^^^^^^^^^^^^^^^^^^^^^ 若沒有更改過定義的話,應該要下btfsc GPIO,3 你用BTFSC GPIO,GP3 這樣compiler會過嗎? 把你的程式稍改一下,是沒有問題的,給你參考嚕 ORG 0x00 NOP MOVWF OSCCAL MOVLW 0x3C TRIS GPIO movlw b'000011' MOVWF GPIO Loop bcf GPIO,1 BTFSC GPIO,3 ;<--- 問題處 bsf GPIO,1 goto Loop
發表於: 2008/4/29 13:03
|
|||
|
Re: [求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
中級會員
|
我想程式應該是正確的啦!
問題應該是 SIM 模擬時的使用... 你有提到 GP2 ~ GP5 輸入皆設 1, 但要注意 GP2 左方 Time 的欄位中要 設定 0, (reset) 而且設定好之後, 重要的是要按下方的 Apply 讓 SIM 開始使用設定好的條件, 這樣應該就可以看到對的結果了。
發表於: 2008/4/29 9:27
|
|||
|
Re: [求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
資深會員
|
yiming大,這個型號沒有類比功能 Orz...
發表於: 2008/4/29 8:45
|
|||
|
Re: [求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
資深會員
|
508預設所有I/O都是類比輸入,請自行設定為數位輸入.
詳見12F508 Data Sheet.
發表於: 2008/4/29 8:17
|
|||
|
Re: [求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
新會員
|
原先是設定/MCLR ON沒錯
但改回/MCLR OFF 使用SIM模擬 GP2~GP5 輸入皆設1 程式 ORG 0x000 NOP MOVWF OSCCAL MOVLW 0x3C TRIS GPIO MOVWF GPIO <--此行執行後,GPIO=0X00 並沒寫入0x3C值 BTFSC GPIO,GP3 <--故此行偵測還是0 SIM模擬應該與實際硬體結果一樣吧 難不成真的要搬出麵包版! 各位大鍋求教了 THK
發表於: 2008/4/28 10:38
|
|||
|
Re: [求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
資深會員
|
CONFIGURATION WORD裡,有把/MCLR OFF嗎?
不過設OFF之後就無法再使用ICSP燒錄囉~除非用燒錄器回復。
發表於: 2008/4/28 9:56
|
|||
|
[求教] 12F508 GP2 GP3 無法變更其值!!
|
||||
---|---|---|---|---|
新會員
|
各位大鍋好
近日寫一小程式 使用MPLAB IDE V8.01編輯 程式如下: ORG 0x000 NOP MOVWF OSCCAL MOVLW 0x3C TRIS GPIO MOVWF GPIO BTFSC GPIO,GP3 <--- 問題處 CALL OPEN 只要程式執行到問題處 GP3的值一定是0 (GP2的值也是一樣) 盡管已用電阻將電壓拉到Vcc 讀到的值也是0 所以請問一下各位大鍋 是小弟哪裡沒注意到嗎? 謝謝!
發表於: 2008/4/27 21:36
|
|||
|