tp 5 convertisseur adc.pdf

3
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

Upload: nawzat

Post on 11-Aug-2015

1.243 views

Category:

Documents


26 download

TRANSCRIPT

Page 1: TP 5 convertisseur ADC.pdf

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

Page 2: TP 5 convertisseur ADC.pdf

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

Page 3: TP 5 convertisseur ADC.pdf

TP programmation C sur PIC avec MikroC 1ELT

3 A.TAOUNI

Figure 4