Programació en C del PIC 18F45K20

Referència Trucs Perifèrics   Recursos CITCEA
Tutorial Exemples Projectes   Inici

Entrades analògiques

El microcontrolador té tretze entrades analògiques però un únic conversor d'analògic a digital (conversor A/D); per tant cal triar quina entrada es llegeix en cada moment. El conversor és de 10 bits i, per tant, el resultat ocupa dos bytes (anomenats ADRESH i ADRESL) ja que no cap en un. El valor més alt (1023) correspon a que el valor llegit correspongui a la tensió de referència i el valor 0 correspon a una tensió zero. Si fem servir la tensió d'alimentació com a referència, 1023 correspondrà a una entrada de 3,3 V. Podem triar si el resultat el volem alineat a la dreta o a l'esquerra del parell de paraules amb el bit ADFM de la paraula ADCON2. Si, per exemple, el resultat fos 827 (33Bh,   11 0011 1011) tindríem les opcions:

Resultat del conversor A/D

Per fer servir l'entrada analògica cal configurar-la com a entrada a TRIS (posant el bit corresponent a 1) i activar el bit corresponent a ANSEL o ANSELH (segons quina entrada sigui). Cal tenir present que les entrades analògiques estan sobreposades sobre les binàries però amb numeració diferent; a ANSEL o ANSELH cal emprar la que correspon a l'entrada analògica desitjada i a TRIS cal emprar la que correspon a l'entrada binària que comparteix la mateixa pota.

En el registre ADCON0 tenim la configuració bàsica del conversor, que es descriu a la taula següent:

Bit Nom Utilització
0 ADON Posa en marxa el conversor
1 GO / DONE A l'activar-lo comença a convertir; quan acaba es desactiva
2 CHS0 Selecció de canal:
    0000   AN0
    0001   AN1
    0010   AN2
    etc.
3 CHS1
4 CHS2
5 CHS3
6 No emprats
7

Activant el bit ADON s'activa el conversor però no es pot llegir l'entrada fins al cap d'un temps (ja que cal carregar un condensador) que en el nostre cas és 5 s. Passat aquest temps ja es pot activar el conversor (bit GO) i esperar a que el bit es desactivi per llegir el resultat a ADRESH i ADRESL.

En el registre ADCON1 podem fer que el conversor faci servir una referència externa en lloc de la tensió d'alimentació. Normalment no ho farem servir i, per tant, mantindrem ADCON1 a 0.

El conversor A/D pot tenir diverses velocitats de funcionament però només unes poques són compatibles amb cada velocitat del microcontrolador. En la configuració bàsica es recomana treballar a 1/2 i ho seleccionarem posant 000 als bits ADCS de la paraula ADCON2. El registre ADCON2 també controla el temps de mostreig. La configuració habitual del registre ADCON2 en els nostres exemples serà:

	ADCON2 = 0bX0111000;

Fixem-nos que el bit 7 podrà ser 0 o 1 segons com ens convingui que es guardi el resultat.

La informació de la conversió d'analògic a digital està a l'apartat 19.0 del document de característiques del PIC 18F45K20.

 

 

Llicència de Creative Commons
Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.