GESTIONE PORTA ANALOGICA SU PIC16F690

4 Anni 3 giorni fa #1 da FABRIZIO
GESTIONE PORTA ANALOGICA SU PIC16F690 è stato creato da FABRIZIO
Buongiorno a tutti, ho costruito un termometro che comprende un sensore LM35, 3 display a led 7 segmenti e un pic16f690 che gestisce il tutto. In poche parole non riesco ad effettuare la conversione della tensione data dal sensore e applicata sul pin 18, che corrisponde alla porta RA1 che ho settato come AN1. Scrivo il settaggio dell'analogica tenendo conto che l'oscillatore del pic è 8MHz, quello interno:

while (1)
{
Routine_Ritardo(2); //Assestamento


ADCON0 = 0b10000101; //Registro settato con convertitore spento (ADON)
ADCON1 = 0b00100000; //Oscillatore per convertitore FOSC/32


Routine_Ritardo(1); //Tempo di ricarica condensatore per la conversione
ADCON0bits.GO_DONE = 1; //Avvio conversione
while (ADCON0bits.GO_DONE == 1)//Quando ha finito la conversione esce dal ciclo
{
conversionel = ANSEL; //Trasferisce il risultato della conversione
conversioneh = ANSELH;
}

ADCON0bits.ADON = 0; //Spengo il convertitore

if (conversionel != 0) //Questa parte di software è per verificare se vi è stata una conversione, mi da sempre 0
{
K3 = 1;
PORTC = 0b01101101;//passval;
Routine_Ritardo(6);

passval = 0;

PORTB = 0x00;
}

C'è qualcuno che mi può dare una dritta?

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • FABRIZIO
  • Avatar di FABRIZIO
  • Elite Member
  • Elite Member
Di più
4 Anni 3 giorni fa #2 da Cosimix
Risposta da Cosimix al topic GESTIONE PORTA ANALOGICA SU PIC16F690
Salve!

Per leggere il risultato della conversione devi far uso dei registri ADRESH e ADRESL.
I registri ANSEL e ANSELH servono per impostare i pin contrassegnati con AN, a seconda di quello che devi farci con quei pin.
Come li hai settati ANSEL e ANSELH?

Saluti,
Cosimo

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Cosimix
  • Avatar di Cosimix
  • Elite Member
  • Elite Member
Di più
4 Anni 3 giorni fa #3 da FABRIZIO
Risposta da FABRIZIO al topic GESTIONE PORTA ANALOGICA SU PIC16F690
Mah veramente io ho capito che i 2 registri ANSEL e ANSELH servono ad immagazzinare il valore convertito che si dovrà trasferire su 2 variabili; l'unico settaggio che ho fatto a questi due è che il valore viene immagazzinato da destra verso sinistra. Mi sfugge qualcosa? Nel datasheet non vedo nulla d'altro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • FABRIZIO
  • Avatar di FABRIZIO
  • Elite Member
  • Elite Member
Di più
4 Anni 3 giorni fa #4 da Cosimix
Risposta da Cosimix al topic GESTIONE PORTA ANALOGICA SU PIC16F690
Scusami se insisto, non so dove tu l'abbia letto. Probabilmente in qualche tutorial è riportato un errore.
Ammetto che spesso ci si confonde tra i registri, soprattutto quando si passa da un micro all'altro.
Quando hai dei dubbi, consulta XC8 Step by Step o comunque i codici esempio che trovi su Laurtec :).
Cosulta sempre il datasheet del componente che utilizzi. Dai un'occhiata a pag. 58:

ww1.microchip.com/downloads/en/DeviceDoc/40001262F.pdf

Saluti,
Cosimo

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Cosimix
  • Avatar di Cosimix
  • Elite Member
  • Elite Member
Di più
4 Anni 2 giorni fa #5 da FABRIZIO
Risposta da FABRIZIO al topic GESTIONE PORTA ANALOGICA SU PIC16F690
Ah scusami tu per la svista, ma il mio datasheet non è uguale nella disposizione delle pagine (nonostante l'abbia scaricato nel sito Microchip..forse è vecchio). Ho tralasciato il settaggio che dici tu. Non ho letto la parte del settaggio porte I/O.
Adesso l'ho fatto funzionare in maniera rudimentale. Ho un trimmer che fa da sensore perchè non mi è ancora arrivato; adesso posso iniziare a fare la procedura di scrittura dei display. Grazie mille

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • FABRIZIO
  • Avatar di FABRIZIO
  • Elite Member
  • Elite Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login