Re: 請問關於adcresh.adcresl...和retlw的小問題
|
||||
---|---|---|---|---|
初級會員
|
將ADCON1的ADFM設為1 (A/D結果會從ADRESL的最低位元開始填).
當A/D轉換完成後,要'手動'將ADRESL與ADRESH讀出來才可使用,程式碼如下: LOOP: BTFSC ADCON0,GO GOTO LOOP ; GO=1表示尚未完成 BANKSEL ADRESL MOVF ADRESL,W ; 讀取A/D結果的低位元組 BANKSEL DATBF1 MOVWF DATBF1 ; 儲存A/D結果之低位元組 MOVF ADRESH,W ; 讀取A/D結果的高位元組部分,以及6個0 MOVWF DATBF2 ; 儲存A/D結果之高位元組 以上的A/D為10位元取樣,得到的值為0000H ~ 03FFH(10進制表示即為0 ~1023)
發表於: 2007/2/13 8:40
|
|||
|
Re: 請問關於adcresh.adcresl...和retlw的小問題
|
||||
---|---|---|---|---|
初級會員
|
RETLW B'01100000' ;1
上一行指的是查表的return值. 在查表結束後跳回到主程式之前,會把B'01100000'存放在W暫存器內,回主程式之後可直接讀取W暫存器的值來使用. ;1 而分號後面的內容是程式之註解,在程式做組譯時會將其忽略視而不見
發表於: 2007/2/13 9:07
|
|||
|
Re: 請問關於adcresh.adcresl...和retlw的小問題
|
||||
---|---|---|---|---|
初級會員
|
感謝大大的回答
我再試試看
發表於: 2007/2/13 17:47
|
|||
|