Browsing this Thread:
1 Anonymous Users
|
Re: 請問要使用pic16f877做兩個AD的轉換??
|
|
高級會員
Joined
: 2005/12/30 16:33 最後登入時間
: 2009/6/5 15:32
Group:
註冊會員
Level : 7 HP : 0 / 166 MP : 25 / 9123 EXP : 65
|
顯示的文字排列看得有點累 你用中斷檢知 ---BTFSS PIR1,ADIF 文中未看到 GIE /PEIE 之設定 中斷致能了嗎?? 檢查一下 或改檢知GO/DONE試試 對比一下說不定可很快找出問題
發表於: 2007/10/19 23:59
|
|
|
請問要使用pic16f877做兩個AD的轉換??
|
|
新會員
Joined
: 2005/8/16 23:57 最後登入時間
: 2007/10/22 17:34
Group:
註冊會員
Level : 1 HP : 0 / 8 MP : 1 / 477 EXP : 34
|
目前卡到的問題是只有一組AD能過,另外一組AD不過去,試了很多種寫法,就是不能兩組AD。 要從一組AD轉換到另外一組AD是不是只要改ADCON0的部份,將通道轉換到要用的通道,且我ㄧ開始初始設定的部份有將我要用的通道設為一 以下寫我的初始設定 如我要用RA5,RA3 我寫:BANKSEL TRISA MOVLW B'00101000' MOVWF TRISA BANKSEL ADCON1 MOVLW B'00000000' MOVWF ADCON1 BANKSEL ADCON0 MOVLW B'10100001 MOVWF ADCON0 以上為初始設定(只有有關AD轉換的部份)
之後將RA5與RA3的值讀進來,如下 CALL AD_VOLTAGE MOVF AD_STATUS,W MOVWF VBATTERY CALL AD_IBATTERY MOVF AD_STATUS,W MOVWF IBATTERY
AD_VOLTAGE BANKSEL ADCON0 MOVLW B'10100001' MOVWF ADCON0 CALL ADC_AcquisitionTime BSF ADCON0,GO WAIT1 BTFSS PIR1,ADIF GOTO WAIT1 BCF PIR1,ADIF MOVF ADRESH,W MOVWF AD_STATUS RETURN
AD_IBATTERY BANKSEL ADCON0 MOVLW B'10011001' MOVWF ADCON0 CALL ADC_AcquisitionTime BSF ADCON0,GO
WAIT2 BTFSS PIR1,ADIF GOTO WAIT2 BCF PIR1,ADIF MOVF ADRESH,W MOVWF AD_STATUS RETURN
以上是讀RA5與RA3的值 但是卻發現RA3都讀不進來,真不知是哪出了問題 可否有人了解哪裡的問題,給小弟指點迷津,感激不盡。
發表於: 2007/10/19 16:48
|
|
You can view topic.
你 不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.