Vous êtes sur la page 1sur 5

TD Série N° 4

Module : Informatique Industrielle Enseignant : L. Bouhouch


Système de Management Qualité – ISO 9001, version 2000 V00

Questions à choix :

Encercler le (ou les) bon(s) choix :

1. Dans le cas d'un µC contenant un ADC de 10 bits de résolution, si nous l'utilisons pour effectuer une
conversion AN, alors pour une tension appliquée de 3 V, cela entrainera dans le ou les registres donnant
le résultat de conversion, une valeur décimale d'environ :
a- 307, si les tensions de référence Vref- et Vref+ sont respectivement -5 V et +5 V.
b- 614, si les tensions de référence Vref- et Vref+ sont respectivement 0 V et +2.5 V.
c- 614, si les tensions de référence Vref- et Vref+ sont respectivement 0 V et +5 V.
d- 614, si les tensions de référence Vref- et Vref+ sont respectivement -2.5 V et +2.5 V.
e- Aucun choix

2. Dans le cas d'un µC PIC renfermant le module CCP, en MikroC la génération d'un signal MLI ou PWM
de rapport cyclique d'environ :
a- 50%, se fait grâce à la fonction PWM1_Set_Duty(50).
b- 30%, se fait grâce à la fonction CCP1_Set_Duty(12).
c- 50%, se fait grâce à la fonction PWM1_Set_Duty(20).
d- 50%, se fait grâce à la fonction PWM1_Set_Duty(127).
e- Aucun choix

3. Dans le cas d'un µC PIC renfermant le module CCP, en MikroC, la fonction PWM1_Init(64) entraine la
génération d'un signal MLI ou PWM de rapport cyclique d'environ :
a- 50%.
b- 25%.
c- 163%.
d- 75%.
e- Aucun choix

Exercice 1
Avec v1 = 15 et v2 = 67, évaluer les expressions suivantes :
a. v1 &= v2
v1 = v1 & v2
v1 = 1510 =0000 1111
v2 = 6710 = 0100 0011

0000 1111
& 0100 0011
===========
0000 0011 = 310
➔ v1 = 310
Et v2 = 6710

b. v1 ^= v2
v1 = v1 ^ v2
v1 = 0000 1111
v2 = 0100 0011
0000 1111
^ 0100 0011
===========
0100 1100 = 7610 ➔ v1 = 7610 Et v2 = 6710

ECOLE POLYTECHNIQUE PRIVEE D'AGADIR


- 1 -© Propriété Exclusive de l'Ecole Polytechnique Privée d'Agadir Av. Hassan 1er, Cité Dakhla, Agadir - Tél : 028 23 34 34
TD Série N° 4
Module : Informatique Industrielle Enseignant : L. Bouhouch
Système de Management Qualité – ISO 9001, version 2000 V00

c. v1 = v1 | v2
v1 = v1 OR v2
v1 = 0000 1111
v2 = 0100 0011
0000 1111
OR 0100 0011
===========
0100 1111 = 7910
➔ v1 = 7910
Et v2 = 6710

Exercice 2
Avec PORTB = 0x08 et v = 4, évaluer l'expression suivante :
a. PORTB >>= v
PORTB = PORTB >> v
PORTB = 0000 1000 >> 4
PORTB = 0000 0000 1000 et bit C du STATUS = 1
➔ PORTB = 010
b. PORTB <<= v
PORTB = PORTB << v
PORTB = 0000 1000 << 4
PORTB = 0000 1000 0000 et bit C du STATUS = 0
➔ PORTB = 1000 0000 = 0x80 = 12810

Exercice 3
1. Avec v1 = 12 et v2 = 23, évaluer les expressions suivantes :
v1 = 1210 = 0000 1100
v2 = 2310 = 0001 0111
a. v1 = v1 >> 2 (ou v1 >>= 2)
v1 = v1 >> 2
v1 = 00 0000 1100
v1 = 0000 0011 = 310
b. v2 = v2 << 2 (ou v2 <<=2)
v2 = v2 << 2
v2 = 0001 0111 00
v2 = 0101 1100 = 9210

2. En déduire l'opération arithmétique réalisée par un décalage.


Pour v1=1210 il est Décalé 2x vers DROITE ➔ v1= 3 → Comme si on Divisé par 4=22
Pour v2=2310 il est Décalé 2x vers GAUCHE ➔ v2= 92 → Comme si on Multiplié par 4=22

Pour n décalages DROITE ➔ Diviser par 2n


Pour n décalages GAUCHE ➔ Multiplie par 2n

ECOLE POLYTECHNIQUE PRIVEE D'AGADIR


- 2 -© Propriété Exclusive de l'Ecole Polytechnique Privée d'Agadir Av. Hassan 1er, Cité Dakhla, Agadir - Tél : 028 23 34 34
TD Série N° 4
Module : Informatique Industrielle Enseignant : L. Bouhouch
Système de Management Qualité – ISO 9001, version 2000 V00

Exercice 4
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

1. Dire avec quel état s'allume chacune des Leds des montages ci-dessus ?
Montage de GAUCHE → Etat 1
Montage de DROITE → Etat 0
2. Une Led rouge ( = 627 nm à 10 mA, VD = 1.95 V) est montée sur RA1 d'un PIC16F84. On demande
d'évaluer la résistance R1 à mettre pour avoir un courant ne dépassant pas environ 5 mA.
Loi des mailles ➔ - 5 + R1.IS + 1.95 = 0 ➔ R1 = 3,05/(5.10-3) = 610 
E12 ➔ 560N < R1 < 680N (680N-610Cal = 70 et 610-560N = 50 ➔ R1  560 
E24 ➔ 560N < R1 < 620N (620N -610Cal = 10 et 610Cal -560N = 50 ➔ R1  620 
R1.IS

1.95V
5V

Exercice 5
Écrire un programme C pour mettre tous les bits du PORTB du PIC16F84 au niveau logique '1' puis à la
logique '0' (10 fois dans chacun des cas) avec des retards de ½ s entre les commutations (c.à.d. le passage de
'1' à`'0'). Nous supposons l'utilisation de l’instruction for pour créer une boucle qui répète les opérations
requises dix fois. Proposer la version standard du programme C.
void main()
{
char K ;
TRISB = 0 ; //=0x00 ou = 0b00000000
for(K = 0 ; K < 10 ; K++)
{
PORTB = 0xFF ; //=255 ou =0b11111111
Delay_ms(500) ;
PORTB = 0x00 ; //=0 ou =0b00000000
Delay_ms(500) ;
}
}
ECOLE POLYTECHNIQUE PRIVEE D'AGADIR
- 3 -© Propriété Exclusive de l'Ecole Polytechnique Privée d'Agadir Av. Hassan 1er, Cité Dakhla, Agadir - Tél : 028 23 34 34
TD Série N° 4
Module : Informatique Industrielle Enseignant : L. Bouhouch
Système de Management Qualité – ISO 9001, version 2000 V00

Exercice 6
Nous disposons de 8 LEDs qui sont connectées au PORTC du µC PIC16F876A cadencé par un quartz de
4 MHz.
Lorsqu'on initialise le microcontrôleur, les LEDs s'allument en alternance ("Chenillard") avec un délai
d’une seconde, en utilisant une temporisation logicielle grâce à la fonction Delay_ms(), de sorte qu’une
LED peut être en ON et puis en OFF.
Proposer un programme C qui réalise ce "Chenillard" en utilisant une variable qui sera décalée à gauche à
chaque cycle d'allumage.

Schéma du montage dans le cas du µC PIC16F876A


void main()
{
unsigned char var = 1 ;
TRISC = 0 ;
for ( ; ; )
{
PORTC = var ;
Delay_ms(1000) ;
var = var << 1 ;
if (var == 0) var = 1 ;
}
}

Version utilisant un Tableau


void main()
{
unsigned char var[] = {0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80} ;
int i ;
TRISC = 0 ;
for ( ; ; )
{
for(i=0 ; i<8 ; i++)
{
PORTC = var(i) ;
Delay_ms(1000) ;
}
}
}

ECOLE POLYTECHNIQUE PRIVEE D'AGADIR


- 4 -© Propriété Exclusive de l'Ecole Polytechnique Privée d'Agadir Av. Hassan 1er, Cité Dakhla, Agadir - Tél : 028 23 34 34
TD Série N° 4
Module : Informatique Industrielle Enseignant : L. Bouhouch
Système de Management Qualité – ISO 9001, version 2000 V00

Version utilisant le Décalage Gauche du PORTC


void main()
{
TRISC = 0 ;
PORTC = 1 ;
for ( ; ; )
{
Delay_ms(1000) ;
PORTC = PORTC << 1 ;
if (PORTC == 0) PORTC = 1 ;
}
}

Exercice 7
Génération d'un signal PWM (MLI) par le µC PIC16F876A cadencé par un quartz de 4 MHz.
Proposer un programme C qui permet de changer le rapport cyclique du module PWM-1, de 0% à 100%
grâce à une variable qui s'incrémente. Le signal généré est de 5 KHz de fréquence.
Si une LED est connectée à la sortie de ce module (RC2), nous observons un changement graduel de
l'illumination de cette LED. Nous pouvons également mesurer les changements par un oscilloscope.

Remarque : Afin de visualiser les changements de l'éclairement de la LED, nous introduisons un retard de
10 ms entre chaque cycle de changement du rapport cyclique.

Proposer la version de programme C qui utilise un seul programme.

Schéma du montage générant le signal PWM par le µC PIC16F876A

void main()
{
unsigned char K = 100 ; // initialement cela correspond à un rapport cyclique de 39 pourcent
TRISC = 0 ;
PWM1_Init(5000) ;
PWM1_Start() ;
while(1)
{
PWM1_Set_Duty(K) ;
K++ ;
if (K > 255) K=0 ; //obligatoire uniquement si on déclare K de type int
delay_ms(10) ;
}
}

ECOLE POLYTECHNIQUE PRIVEE D'AGADIR


- 5 -© Propriété Exclusive de l'Ecole Polytechnique Privée d'Agadir Av. Hassan 1er, Cité Dakhla, Agadir - Tél : 028 23 34 34

Vous aimerez peut-être aussi