Corrige TD3 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

GE2

Corrigé TD 3 Exercice 1

Le microcontrôleur étant alimenté par 5 V, nous allons essayer de dimensionner la résistances R1 dans les montages cidessous, selon les valeurs normalisées données au tableau suivant :

Microcontrôleur : Source de courant

Microcontrôleur : Absorbe le courant

Une Led verte ( = 565 nm à 10 mA, VD = 2.09 V) est montée sur RA2. Calculer la résistance R1 pour avoir un courant ne dépassant pas 4 mA.

U = 5-2.09 =R1.IE ➔ R1 = 2910/4 = 727,5  En serie E12 680 < R1 < 820 → 680  en serie E12 car r = 727-680= 47 et r = 820–727 = 93 En serie E24 750 < R1 < 820 → 750  en serie E24 car r = 820–727 = 93 et r = 750–727 = 23 Exercice 2 Soit un CAN de 8 bits de résolution. Quelle sera la sensibilité (en mV) de ce CAN, pour chacune des plages de tension : a ) 0 V à +2,5 V) s1 = V1/28=2.5 / 256 = 09,77 mV b ) -2,5 V à +2,5 V s2 = V2/28=5 / 256 = 19,53 mV Exercice 3 1. Avec PORTA = 23 et PORTB = 44, évaluer les expressions suivantes : ▪ PORTA &= PORTB ➔ PORTA = PORTA & PORTB

2310 = (0001 0111)2 4410 = (0010 1100)2 0001 0111 & 0010 1100 =============== 0000 0100 = 410 ➔ PORTA = 410 ➔ PORTB = 4410

▪ PORTA ^= PORTB ➔ PORTA = PORTA ^ PORTB 2310 = (0001 0111)2 4410 = (0010 1100)2 0001 0111 ^ 0010 1100 =============== 0011 1011 = 5910 ➔ PORTA = 5910 ➔ PORTB = 4410

1

▪ PORTA = PORTA | PORTB ➔ PORTA = PORTA ^ PORTB 2310 = (0001 0111)2 4410 = (0010 1100)2 0001 0111 Or 0010 1100 =============== 0011 1111 = 6310 ➔ PORTA = 6310 ➔ PORTB = 4410 2. Avec POARTA = 16 et PORTB = 37, évaluer les expressions suivantes :

PORTA = 1610 = (0001 0000)2 PORTB = 3710 = (0010 0101)2 ▪ PORTA = PORTA >> 1 (ou PORTA >>= 1) PORTA = 0 0001 0000 Après 1 décalage DROITE PORTA = 0000 1000 = 810 et C=0 ▪ PORTA = PORTA >> 2 (ou PORTA >>= 2) PORTA = 00 0001 0000 Après 2 décalages DROITE PORTA = 0000 0100 = 410 et C=0 ▪ PORTB = PORTB *2n.

Exercice 4 Écrire un programme pour mettre tous les bits du PORTB du PIC16F84 au niveau logique 1, puis à la logique 0, et répéter ce procédé dix fois avec des retards de ½ s entre les commutations. Nous supposons l'utilisation de l’instruction for pour créer une boucle qui répète les opérations requises dix fois. 1. Proposer la version standard du programme C. Mettre tous les bits = Forcer tous les bits Par contre si on dire LIRE l’état des bits

void main () { unsigned char j ; TRISB = 0 ; for (j = 0 ; j < 10 ; j++) { PORTB = 0xFF ; Delay_ms(500) ; PORTB = 0 ; Delay_ms(500) ; } }

➔ Broches en SORTIE ➔ Broches en ENTREE

//ou 0x00 // Répéter 10 fois ou (j=1 ; j