Como usar a tensão de referência externa no CAD do 16f877A?

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Como usar a tensão de referência externa no CAD do 16f877A?

Mensagempor hemasc » 29 Mai 2007 14:07

Coloquei 2V no pino AN3 e terra no AN2. Já tentei de várias maneiras, mas não consigo utilizar a tensão de referência externa. O PIC continua com a referência interna de 5V.

void main()
{ set_tris_a(0x1101); //aqui já tentei (0x1)
set_tris_b(0x0);
set_tris_c(0x0);
set_tris_d(0x0);
set_tris_e(0x0);

setup_adc_ports(AN0_VREF_VREF);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);

enable_interrupts(GLOBAL);
enable_interrupts(int_ad);

d: value = Read_ADC();
delay_us(40);
............
........
}

Também já tentei

#define AN0_VREF_VREF

ou

#define RA0_ANALOG_RA3_RA2_REF

Mas nada funcionou...
hemasc
Nibble
 
Mensagens: 80
Registrado em: 26 Fev 2007 08:59
Localização: Campinas - SP

Re: Como usar a tensão de referência externa no CAD do 16f87

Mensagempor andre_luis » 29 Mai 2007 14:16

Essa mesma rotina, funciona apenas mudando a referencia para interno ?

+++
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Como usar a tensão de referência externa no CAD do 16f

Mensagempor hemasc » 29 Mai 2007 14:21

sim! funciona como se eu não tivesse mudado a tensão de referência
hemasc
Nibble
 
Mensagens: 80
Registrado em: 26 Fev 2007 08:59
Localização: Campinas - SP

Re: Como usar a tensão de referência externa no CAD do 16f

Mensagempor andre_luis » 29 Mai 2007 14:32

Voce está usando o canal 0 como entrada, mas o está usando como referencia também, ou estou enganado ? Nao seria ANALOG_RA3_REF ?

+++
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Como usar a tensão de referência externa no CAD do 16f

Mensagempor hemasc » 29 Mai 2007 15:28

Bom, pelo que li

setup_adc_ports(AN0_VREF_VREF); //canal A0 como leitura analógica e canal A2 e A3 como ref.

mas o engraçado é que se eu setar no tris apenas set_tris_a(0x1) não funciona, pois sai um valor fixo do AD, mesmo variando o sinal da entrada analógica do mesmo AD
hemasc
Nibble
 
Mensagens: 80
Registrado em: 26 Fev 2007 08:59
Localização: Campinas - SP

Mensagempor renatokodaira » 29 Mai 2007 15:28

1.o) O Vref+ precisa ser de no mínimo Vdd - 2,5V, se voce usa 5V de alimentação, o minimo é 2,5V.

2.o) O bits PCFG3 a PCFG0 do ADCON1 precisam ser: 1000 (se o compilador C nao tiver esta função precisa ajustar os bits do ADCON1).
renatokodaira
Byte
 
Mensagens: 402
Registrado em: 11 Out 2006 15:15


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x