Vous êtes sur la page 1sur 3

TP programmation C sur PIC avec MikroC 1ELT

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.

Figure 1
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 2

1 A.TAOUNI
TP programmation C sur PIC avec MikroC 1ELT

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 }

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).

Figure 3

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 :

2 A.TAOUNI
TP programmation C sur PIC avec MikroC 1ELT

Figure 4

3 A.TAOUNI

Vous aimerez peut-être aussi