Progetti

   

Sponsor

   

Servizi

   
Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: GESTIONE PORTA ANALOGICA SU PIC16F690

GESTIONE PORTA ANALOGICA SU PIC16F690 1 Settimana 2 Giorni fa #1

  • FABRIZIO
  • Avatar di FABRIZIO
  • Offline
  • Gold Boarder
  • Messaggi: 196
  • Karma: 0
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?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

GESTIONE PORTA ANALOGICA SU PIC16F690 1 Settimana 2 Giorni fa #2

  • Cosimix
  • Avatar di Cosimix
  • Offline
  • Gold Boarder
  • Messaggi: 181
  • Ringraziamenti ricevuti 17
  • Karma: 3
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
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

GESTIONE PORTA ANALOGICA SU PIC16F690 1 Settimana 2 Giorni fa #3

  • FABRIZIO
  • Avatar di FABRIZIO
  • Offline
  • Gold Boarder
  • Messaggi: 196
  • Karma: 0
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
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

GESTIONE PORTA ANALOGICA SU PIC16F690 1 Settimana 2 Giorni fa #4

  • Cosimix
  • Avatar di Cosimix
  • Offline
  • Gold Boarder
  • Messaggi: 181
  • Ringraziamenti ricevuti 17
  • Karma: 3
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
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

GESTIONE PORTA ANALOGICA SU PIC16F690 1 Settimana 2 Giorni fa #5

  • FABRIZIO
  • Avatar di FABRIZIO
  • Offline
  • Gold Boarder
  • Messaggi: 196
  • Karma: 0
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
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Powered by Forum Kunena
   
© LaurTec 2006-2015