Académique Documents
Professionnel Documents
Culture Documents
CHAPITRE 5
LE CONVERTISSEUR ANALOGIQUE NUMERIQUE
1. Description
Ce module est constitué d'un Convertisseur Analogique Numérique CAN 10 bits dont l'entrée
analogique peut être connectée sur l'une des 8 entrées analogiques externes (RA0-RA5,RE0-
RE2). On dit qu'on a un CAN à 8 canaux. Les entrées analogiques doivent être configurées en
entrée à l'aide des registres TRISA et/ou TRISE.
Le PIC dispose d’un échantillonneur bloqueur intégré constitué d'un interrupteur S, d'une
capacité de maintien C=120 pF et d’un CAN 10 bits. Pendant la conversion, la tension Ve à
l'entrée du convertisseur A/N doit être maintenue constante.
Y. RKHISSI KAMMOUN 49
Iset Nabeul Cours microcontrôleurs
Temps d'acquisition
Temps de conversion
Le temps de conversion est égal à 12 TAD
Y. RKHISSI KAMMOUN 50
Iset Nabeul Cours microcontrôleurs
Exemple :
Vref+ = Vdd = 5V, Vref- = 0, Vin = 4 V
Q = 5V/1024 = 0,0048828125 V
N = 4V / 0,0048828125 = 819
3. Configuration du convertisseur
Avant de réaliser une conversion, il faut définir:
- L'horloge
- Le nombre d'entrées analogiques
- Le type de tension de référence (interne ou externe)
Choix de l'horloge
Syntaxe : setup_adc(XXX); // Utilisation de l'horloge interne(4 MHz)
XXX peut être :
- ADC_OFF : CAN désactivé
- ADC_CLOCK_INTERNAL : Utilisation de l'horloge interne
- ADC_CLOCK_DIV_2 : Utilisation de l'horloge interne divisée par 2
- ADC_CLOCK_DIV_8 : Utilisation de l'horloge interne divisée par 8
- ADC_CLOCK_DIV_32: Utilisation de l'horloge interne divisée par 32
Y. RKHISSI KAMMOUN 51
Iset Nabeul Cours microcontrôleurs
C1
LCD1
18PF LM041L
X1
CRYSTAL
C2
18PF
U1
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
35
RB2
+5V 2 36
RA0/AN0 RB3/PGM VDD
VDD
VSS
VEE
3 37
RW
RS
D0
D1
D2
D3
D4
D5
D6
D7
RA1/AN1 RB4
E
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
6 40
RA4/T0CKI/C1OUT RB7/PGD
7
RA5/AN4/SS/C2OUT RV1
15
RC0/T1OSO/T1CKI
8 16
+88.8 RE0/AN5/RD RC1/T1OSI/CCP2
9 17
2
3
4
5
6
GND
R1 Volts
RE1/AN6/WR RC2/CCP1
10 18
58%
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
+88.8 25
50%
RC6/TX/CK
mA 26 1k
RC7/RX/DT
19
RD0/PSP0 1
1k 20
+88.8 RD1/PSP1 2
21
Volts
RD2/PSP2
22
RD3/PSP3
27
RD4/PSP4 3
28
RD5/PSP5 4
29
RD6/PSP6 5
30
RD7/PSP7 6
PIC16F877
VSS
#include <16F877.h>
#uses delay (clock=4000000)
#include <LCD.C> // appel du fichier contenant le driver du LCD
Y. RKHISSI KAMMOUN 52
Iset Nabeul Cours microcontrôleurs
void main()
{
float tension,quantum; //
}
}
Y. RKHISSI KAMMOUN 53