Vous êtes sur la page 1sur 4

Série 19 Compteurs - Microcontrôleurs

Exercice 1
Résoudre le travail relatif à chaque montage sachant que Q0 est de poids le plus faible :
Compléter le schéma du compteur modulo 10 en Compteur Modulo 7
utilisant un décodage partiel : • Donner l’équation de la remise à zéro dans chaque cas :
Décodage partiel : RAZ = .
Décodage complet : RAZ = .
• Compléter le schéma en utilisant un décodage complet :

Compléter le câblage d’un compteur donnant le Compléter le câblage d’un décompteur donnant le
cycle suivant : {4, 5 % 12} cycle suivant : {6, 5% 0}

• Compléter le chronogramme suivant t


décrivant le comportement du 74193 au cours
de son cycle : CLK
t
• Donner les significations des termes
Q0
suivants figurant sur le symbole du 4029 : t
4D : %%%%%%%%%%%%%%%%..%%%%
Q1
%%%%%%%%%%%%%%%%.%%%%%%%%%% t

%%%%%%%%%%%%%%%%..%%%% Q2
t
1,2CT=15 : %%%%%%%%%%%%%%%%
Q3
%%%%%%%%%%%%%%%%.%%%%%%%%%% t
%%%%%%%%%%%%%%%%..%%%%

Laboratoire GE 4ST(NR) Série 19 : Compteurs AS : 2023/2024 Page 1/4


• Compléter le tableau suivant relatif au fonctionnement du circuit 4029 :
/ / PL CP P3P2P1P0 Mode
Préchargement de la valeur 7
Comptage binaire cycle complet
Décomptage décimal cycle complet
Sans changement
RAZ
NB : Mettre un ‘X’ dans le cas où l’entrée est sans importance.
Exercice 2
1- Compléter le schéma du montage suivant donnant un compteur modulo 380 à partir des circuits 4510, et
en adoptant une cascade asynchrone :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

2- Compléter le schéma du montage suivant donnant un compteur modulo 651 à partir des circuits 74161, et en
adoptant une cascade synchrone.

Laboratoire GE 4ST(NR) Série 19 : Compteurs AS : 2023/2024 Page 2/4


3- Compléter le schéma du montage suivant donnant un compteur dont le cycle est {20 119} à partir des
circuits 74193 :

Exercice 3 Compteur modulo 680


On veut réaliser un compteur
modulo 680 conformément au
montage suivant :
1- Répondre aux questions
suivantes :
• Quel est le type du transistor
utilisé ? %%.

• Quel est le type de l’afficheur 7


segment utilisé ? Justifier.
%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
%%%%%%%%%%%%..%..

2- Compéter le tableau suivant traduisant le comportement de l’aff 7 seg vis-à-vis aux sortie du PIC :
Potentiel à la Etat du Potentiel sur la borne Etat de
sortie du PIC transistor commune de l’aff 7 seg l’aff 7 seg
0V
5V
3- Sur le tableau suivant, indiquer à chaque fois les états RD2 RD1 RD0
des broches RD2, RD1 et RD0 : Eteindre tous les afficheurs
Activation de l’aff de droite
Activation de l’aff de milieu
Activation de l’aff de gauche

Laboratoire GE 4ST(NR) Série 19 : Compteurs AS : 2023/2024 Page 3/4


Rappel de la syntaxe de l’instruction « for »
for (expression initiale; expression de condition; expression incrément)
{ Action1; Action2; }
Exemples : for(N=0;N<10;N++) { PORTB=afficheur[N]; delay_ms(1000); }
for(N=9;N>=0;N--) {portb = N ; delay_ms(1000);}
4- Compléter le programme MikroC relatif à ce compteur modulo 680 :
Ligne Programme MikroC Commentaire
1 %%%%%%%%%%%.. ; // Déclarer la variable de comptage : m
// Variable relatif à la boucle d’affichage (Boucle qui
2 %%%%%%%%..% h ; // se répète 20 fois)
3 %%%%%%%%..% uni , dix , cent ; // Déclaration des unités, dizaines et centaines
4 %%%%%%%%..% { // Mot clé de début du programme
5 trisc=0x%%. ; trisd=0x%%. ; // Configurer toute broche libre comme entrée
6 %%%%%.%%%%%%%%.. ; // Initialisation des sorties
7 %%%%%%%%..% { // Boucle infinie
8 for(%%%%%.%%%%%%.%%%%..) // Incrémentation du compteur de 0 jusqu’à 679
9 { uni= %%%%%%%%..%; // Sélection des unites
10 dix= %%%%%%%%..%; // des dizaines
11 cent= %%%%%%%%..%; // des centaines
12 for(%%%%%.%%%%%%%%%..) // Boucle de l’affichage (se répète 20 fois)
13 portd= ........... ; delay_ms(1); // Eteindre tous les afficheurs durant 1ms
14 portc= ........... ; portd= 0b......... ; delay_ms(10); // Afficher les unités durant 10ms
15 portd= ........... ; delay_ms(1); // Eteindre tous les afficheurs durant 1ms
16 portc= ........... ; portd= 0b......... ; delay_ms(10); // Afficher les dizaines durant 10ms
17 portd= ........... ; delay_ms(1); // Eteindre tous les afficheurs durant 1ms
18 portc= ........... ; portd= 0b......... ; delay_ms(10); // Afficher les centaines durant 10ms
19 } } } }
5- Pour doubler le temps d’affichage, quel est le paramètre à modifier sur ce programme?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6- Quelle modification faut apporter au programme précédent pour obtenir un décompteur modulo 680 ?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7- On veut obtenir les mêmes résultats précédents (Compteur mod 680) en utilisant le registre TMR0 dont
l’horloge fonctionne sur front descendant et qui s’incrémente à chaque impulsion sur un bouton P
branché sur l’entrée RA4.

…………… m ; uni= …………………………… ;


char a , uni , dix , cent ; dix= …………………………… ;
void main() { cent= …………………………… ;
option_reg=0b00………………… ; if(m==680){TMR0=………; m=………; a=………; }
trisc=0x……. ; trisd=0x……. ; trisa=0x…….. ;
portd= 0b……… ; delay_ms(1);
tmr0= …… ; a= 0 ; m= …… ;
portc= ……… ; portd= 0b……… ; delay_ms(10);
portc= ……; portd= ……… ;
while(1) { portd= 0b……… ; delay_ms(1);
/*La valeur max du TMR0 est 255, donc pour éviter son
portc= ……… ; portd= 0b……… ; delay_ms(10);
débordement (passage de 255 à 0), on doit à chaque fois portd= 0b……… ; delay_ms(1);
soustraire une valeur de ce compteur (200 par exemple)*/ portc= ……… ; portd= 0b……… ; delay_ms(10);
if(TMR0==200) }
{ TMR0 = ………………….………… ; a = …………. ; } }
m = …………………………….…………………….;

Laboratoire GE 4ST(NR) Série 19 : Compteurs AS : 2023/2024 Page 4/4

Vous aimerez peut-être aussi