Pic16F1783 ADC 讀值誤差如何改善?

作者 amu6425 於 2017年03月10日 13:29:20
在早年有用過PIC16C773 這顆IC ,如今原電路CPU把它改成PIC6F1783
其設定如下:
; Fosc= 20Mhz
MOVLW B'00000110' ; 設定an1,an2為類比
MOVWF ANSELA ;
;
MOVLW B'11011111' ; ADC VREF= 4.096V
MOVWF FVRCON ; DAC Vout= 4.023V
;
MOVLW B'00000101' ; CHS= AN1
MOVWF ADCON0 ;
;
MOVLW B'11100011' ; AD Clock= Fosc/64 , Vref+= FVR, Vref-= Vss
MOVWF ADCON1 ;
;
MOVLW B'00001111' ; CHSN= ADNREF
MOVWF ADCON2 ;

輸入電壓 讀值 誤差
40000mv 4057 +57
3500mv 3570 +70
3000mv 3085 +85
2500mv 2599 +99
2000mv 2111 +111
1500mv 1624 +124
1000mv 1137 +137
500mv 650 +150
250mv 405 +155
100mv 258 +158

請問這是怎樣的一個情形,如何改善?

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=3&topic_id=20397&post_id=74520