1 Corrigé TD 3 GE2 Exercice 1 Le microcontrôleur étant alimenté par 5 V, nous a

1 Corrigé TD 3 GE2 Exercice 1 Le microcontrôleur étant alimenté par 5 V, nous allons essayer de dimensionner la résistances R1 dans les montages ci- dessous, 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 2 ▪ 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 << 1 (ou PORTB <<=1) PORTB = 0010 0101 0 Après 1 décalage GAUCHE PORTB = 0100 1010 = 7410 et C=0 ▪ PORTB = PORTB << 2 (ou PORTB <<=2) PORTB = 0010 0101 00 Après 2 décalages GAUCHE PORTB = 1001 0100 = 14810 et C=0 3. Quelles sont alors les opérations arithmétiques réalisées par ces décalages ? ▪ a << 1 (→*2) ; a << 2 (→*4) ; a << 3 (→*8) ; a << n (→*2n) ; n décal. Droite ==> /2n. ▪ a >> 1 (→/2) ; a >> 2 (→/4) ; a >> 3 (→/8) ; a >> n (→/2n) ; n décal. Gauche ==> *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 ➔ Broches en SORTIE Par contre si on dire LIRE l’état des bits ➔ Broches en ENTREE void main () { unsigned char j ; TRISB = 0 ; //ou 0x00 for (j = 0 ; j < 10 ; j++) // Répéter 10 fois ou (j=1 ; j <=10 ; j++) ou (j = 0 ; j <= 9 ; j++) { PORTB = 0xFF ; // Mettre les bits du PORTB à 1 ou PORTB= 0b11111111 Delay_ms(500) ; // Retard de ½ s PORTB = 0 ; // Mettre les bits du PORTB à 0 ou 0x00 ou 0b00000000 Delay_ms(500) ; // Retard de ½ s } } 3 2. Proposer la version du programme C utilisant la complémentation du PORTB. void main () { unsigned char j ; TRISB = 0 ; //ou 0x00 PORTB =0xFF ; //valeur initiale du PORTB for (j = 0 ; j < 20 ; j++) // Répéter 10 fois ou (j=1 ; j <=10 ; j++) ou (j = 0 ; j <= 9 ; j++) { PORTB = ~PORTB ; // Complémenter tous les bits du PORTB Delay_ms(500) ; // Retard de ½ s } } uploads/Religion/ corrige-td3 7 .pdf

  • 34
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Aoû 11, 2021
  • Catégorie Religion
  • Langue French
  • Taille du fichier 0.1582MB