16f1827 adc referansını FVR ile 1.024 volt yapmak

Başlatan F®T, 24 Aralık 2015, 23:01:41

F®T


ASM
  __config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_ON & _CPD_ON & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_ON & _FCMEN_ON
  __config _CONFIG2, _WRT_ALL & _PLLEN_OFF & _STVREN_ON & _LVP_OFF & _BORV_19
ENDASM

OSCCON = %01111011
OSCTUNE=0

DEFINE OSC 16           

TRISA =%00100000:PORTA=0:LATA=0
TRISB =%00110110:PORTB=0:LATB=0   
ANSELA=%00000000
WPUA  =0   
ANSELB=%00110000
WPUB  =%00000010     
ADCON0=%01111111
ADCON1=%11110011

PIE1=0
PIR1=0
MDCON = 0
CM1CON0=0
CM2CON0=0
CM1CON1=0
CM2CON1=0
CPSCON0=0
APFCON0=%00000001         
FVRCON =%11000001
                                 
DACCON0=0             
DACCON1=0


ayarlarım bunlar ama ne edersem edeyim olmuyor.Adc referansını 1.024 volt yapmak istiyorum.Pil voltu ölçecem ve bu pil işlemciyi besleyecek.

Akadaşlar olayı çözdüm  çalışan kod aşağıdadır.Fakat anlamadığın bir durum var.adcon0 ve adcon 1 de adc tanımlamalarını yaptığım halde adc tanımlamaları istenilen gibi çalışmıyor.

DEFINE ADC_BITS 10       ' Set number of bits in result


bu satırı ekleyince olay çözüldü.Neden adcon1.7 nolu biti tanımlamalarda 10 bit olduğu halde compıler tarafından görülmüyor.Bunun mantığını anlayamadım.

ASM
  __config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_ON & _CPD_ON & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_ON & _FCMEN_ON
  __config _CONFIG2, _WRT_ALL & _PLLEN_OFF & _STVREN_ON & _LVP_OFF & _BORV_19
ENDASM

OSCCON = %01111011
OSCTUNE=0

DEFINE OSC 16           

TRISA =%00100000:PORTA=0
TRISB =%00110110:PORTB=0   
ANSELA=%00000000
WPUA  =0   
ANSELB=%00110000
WPUB  =%00000010     
ADCON0=%01111111
ADCON1=%11110011

PIE1=0
PIR1=0
MDCON = 0
CM1CON0=0
CM2CON0=0
CM1CON1=0
CM2CON1=0
CPSCON0=0
APFCON0=%00000001         
FVRCON =%11000001
                                 
DACCON0=0             
DACCON1=0
SRCON0=0                   
SRCON1=0             
MDCON=0               
MDSRC=0                               
MDCARH=0             
MDCARL=0


DEFINE ADC_BITS 10       ' Set number of bits in result
DEFINE ADC_CLOCK 3     ' Set clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Powered by EzPortal