Problema PIC16F876A e LM35
ciao ragazzi ho un problema....voglio leggere la temperatura dall'lm35 ma non riesco a leggerla perché secondo me sbaglio configurazione dei registri ADCON0 e ADCON1
i dati li leggo dal pin5 del PIC ovvero AN3
mentre quando voglio leggere la temperatura che è di circ 25mV (dipende dai casi poi)
faccio cosi:
e invece questa è la funzione per inviare la temperatura su seriale
ma secondo me Temp non assume nessun valore perché quando provo ad inviare su seriale dopo averlo convertito in vettore di caratteri è = 0....per favore aiutatemi che è una cosa di scuola e devo finirlo per la settimana prossima
- Codice: Seleziona tutto
ADCON0 = 0b10011000;
ADCON1 = 0b10001111;
i dati li leggo dal pin5 del PIC ovvero AN3
mentre quando voglio leggere la temperatura che è di circ 25mV (dipende dai casi poi)
faccio cosi:
- Codice: Seleziona tutto
void Rileva_Temperatura()
{
int Temp;
DelayMs(20);
ADGO = ON //ON = 1 OFF = 0
while ( ADGO ) continue
Temp = ADRESL + (ADRESH << 8) * 5
//RESETTO IL REGISTRO ADCON0
ADCON0 = 0b10011000;
Manda_Temperatura ( Temp ); // La mando su seriale
return;
}
e invece questa è la funzione per inviare la temperatura su seriale
ma secondo me Temp non assume nessun valore perché quando provo ad inviare su seriale dopo averlo convertito in vettore di caratteri è = 0....per favore aiutatemi che è una cosa di scuola e devo finirlo per la settimana prossima