s'exécuter que selon des séquences
particulières [5]
II. 12.2 Les timers
Le timer est un élément important dans un PIC.
En effet, cette ressource permettra de réaliser de nombreuses fonctions,
telle que la temporisation, la génération de signaux PWM
(appelée également Modulation de Largeur g d'Impulsion, MLI), ou
encore les modes Compare ou Capture. Selon le type de PIC rencontré, on
trouvera un certain nombre de timers qui seront pour certains associés
à des ressources internes du PIC. Un timer est en fait un compteur
incrémentant au rythme d'une horloge, et ceci en ayant la
possibilité de pré positionner une valeur de départ.
Certains timers pourront fonctionner en mode 8 bits, 16 bits ou 32 bits. Dans
le PIC18F4550 il existe quatre timers (un timer de 8 bit et le reste de 16
bits) [10].
II. 12.3 Unité arithmétique et logique UAL et
registre de travail W
L'UAL (ou ALU en anglais) sera chargée d'effectuer
toutes les opérations logiques et arithmétiques de base, C'est
une ALU à 8 bits qui réalise les opérations
arithmétique et logique entre l'accumulateur W et n'importe quel autre
registre 'F' ou constante K. L'accumulateur W est un registre de travail 8
bits, il n'a pas d'adresse comme les autres SFR. Pour les instructions à
deux opérandes, c'est toujours lui qui contient un des deux
opérandes. Pour les instructions à un opérande, celui-ci
peut être soit W soit n'importe quel registre F. Le résultat de
l'opération peut être placé soit dans le registre de
travail W soit dans le registre F [5].
II. 12.4 Les convertisseurs analogiques /
numériques
Pour utiliser un convertisseur analogique / numérique,
il existe trois registres internes nommés ADCON0, ADCON1 et ADCON2, qui
permettront de configurer et de sélectionner les différentes
entrées analogiques (ADC pour Analog to DIgItal Converter) du
PIC utilisé. Le paramétrage de ces trois registres conduit
à choisir la façon dont se comporteront le ou les convertisseurs
utilisés. Les entrées du PIC en relation avec le convertisseur
analogique/ digital interne sont les broches AN0 à AN12. Les
entrées analogiques (RA0 à RA5) transitent via le PORT A
du PIC, les entrées AN5 à AN7 font partie du PORT E et les
entrées AN8 à AN12 font partie du port B.
Comme vous le voyez sur le schéma
général, les bits CHS0 à CHS3 du registre ADCON0
permettent de sélectionner un canal (AN0 à AN12) qui sera en
relation avec le convertisseur. Les bits VCFG0 et VCFG1 du registre ADCON1
permettent quant à eux de définir les références de
tension (AN2 ou Vss pour Vref- et AN3 ou Vdd pour Vref +). Les bits PCFG0
à PCFG3 du même registre permettent de configurer chaque broche
ANO à AN12 soit en entrée analogique soit en entrée /
sortie logique. Le troisième registre ADCON2 permettra de
sélectionner une
Chapitre II Présentation du PIC 18F4550
Commande de l'éclairage public et mesure de la
température à base de PIC18F4550
17
horloge pour le convertisseur analogique (bits ADCS0 à
ADCS2), ainsi qu'un temps d'acquisition avant conversion (temps nommé
TAD : bits ACQT0 à ACQT2), allant de 0 TAD à 20 TAD
(soit 0 top d'horloge à 20 tops d'horloge), puis indiquera grâce
au bit ADFM le format de la valeur de la conversion en sortie.
Lorsqu'une conversion est lancée, un bit nommé
GO/DONE du registre ADCON0 est forcée à «1».
Dès que la conversion en cours est terminée, ce bit repasse
à « 0 ». On réalise donc une boucle d'attente tant que
la conversion n'est pas échue. Notez également que le bit ADON du
même registre permet d'alimenter le convertisseur en 5 V : si ce bit est
à « 0 », alors le convertisseur ne consomme aucun
courant. Le résultat de la conversion sera stocké dans deux
registres 8 bits nommes ADRESH et ADRESL. Le résultat étant sur
10 bits, il faudra choisir (ajustement à droite ou ajustement à
gauche) les 10 bits parmi les 16 contenus dans ces deux registres, le bit ADFM
du registre de configuration ADCON2 aura ce rôle (fig. II.5) [10].
Fig. II.5 Synoptique général du CAN pour le
PIC18F4550
II. 12.4.1 Registre ADCON0
Ce registre permettra [10] :
? de sélectionner un canal parmi 12 (bits CHSO-CHS3) ;
? d'alimenter le module convertisseur (bit ADON) ;
? d'avertir l'utilisateur lorsqu'une conversion en est cours (bit
GO/DONE) ou de lancer une
conversion.
Commande de l'éclairage public et mesure de la
température à base de PIC18F4550
18
Chapitre II Présentation du PIC 18F4550
La figure (fig. II.6) résume ces différentes
fonctionnalités. Les bits CHS0 à CHS2 permettent de
sélectionner le canal à choisir pour la conversion (exemple :
0101 ? canal 5, soit l'entrée AN5 du PIC).
Le bit 1 (GO / DONE) permet de lancer une conversion ou
bien de savoir si une conversion est
en cours d'exécution (0 = fin de conversion). .
Le bit 0 ADON permet l'alimentation du convertisseur : si ce bit
est à 0, le convertisseur n'est pas alimenté.
ADCON0
|
|
|
|
|
|
|
|
|
|
|
|
CHS3
|
CHS2
|
CHS1
|
CHS0
|
GO /DONE
|
ADON
|
|
-
|
|
-
|
|
|
|
|
bit 7 bit 0
bit 7-6 inutilisé: lire come `0'
bit 5-2 CHS3:CHS0: bits de sélection
de canal
0000 = Canal 0 (AN0) 0001 = Canal 1 (AN1) 0010 = Canal 2 (AN2)
0011 = Canal 3 (AN3) 0100 = Canal 4 (AN4) 0101 = Canal 5 (AN5) 0110 = Canal 6
(AN6) 0111 = Canal 7 (AN7) 1000 = Canal 8 (AN8) 1001 = Canal 9 (AN9) 1010 =
Canal 10 (AN10)
1011 = Canal 11 (AN11)
1100 = Canal 12 (AN12)
1101 = non implémenté 1110 = non
implémenté 1111 = non implémenté
bit 1 GO/DONE: bit d'état conversion
Quand ADON = 1:
- 1 = A/D conversion en cours - 0 = A/D conversion
terminée
bit 0 ADON: bit de mise en service
- 1 = A/D Module convertisseur en service - 0 = A/D Module
convertisseur hors service
Fig. II.6 Registre ADCON0
|