tp 5 convertisseur adc.pdf
TRANSCRIPT
TP programmation C sur PIC avec MikroC 1ELT
1 A.TAOUNI
TP5 Convertisseur analogique numérique du PIC16F877
I. Présentation DU C.A.N. (CONVERTISSEUR ANALOGIQUE NUMÉRIQUE). :
Le PIC 16F877 possède 8 entrées analogiques (RA0..RA5 et RE0..RE2 pour les PICs disposant du port
E) multiplexées vers un C.A.N. à approximation successive (SAR = Successive approximation register).
Ce dernier est précédé d’un échantillonneur / bloqueur permettant une stabilité de la tension d’entrée
pendant toute la durée de la conversion.
II. Exemple :
On désire afficher la valeur en provenance d'un convertisseur analogique numérique sur un LCD.
La figure ci-dessous explique comment et un programme d'exemple se trouve parmi les démonstrations
fournies dans la rubrique d’aide.
Figure 1
Figure 2
TP programmation C sur PIC avec MikroC 1ELT
2 A.TAOUNI
1. Exercice 5.1:
Écrire un programme qui lit le convertisseur et affiche le résultat sur l’afficheur.
Adapter pour que votre programme lise RA3 (contre RA2 dans le programme d'exemple).
2. Exercice 5.2:
Modifier le programme précédent pour qu’il affiche la valeur de la tension correspondante à la valeur
numérique donnée par le convertisseur conformément à la figure ci-dessous :
1 unsigned int temp_res; 2 3 void main() { 4 5 TRISA = 0xFF; // PORTA is input 6 TRISC = 0; // PORTC is output 7 TRISD = 0; // PORTD is output 8 9 do { 10 temp_res = ADC_Read(2); // Get 10-bit results of AD conversion 11 PORTD = temp_res; // Send lower 8 bits to PORTD 12 PORTC = temp_res >> 8; // Send 2 most significant bits to RC1, RC0 13 } while(1); 14 }
Figure 3
TP programmation C sur PIC avec MikroC 1ELT
3 A.TAOUNI
Figure 4