100% ont trouvé ce document utile (1 vote)
178 vues3 pages

Exercice 2

Le document contient deux exercices demandant d'écrire des programmes en C pour la gestion de compteurs avec un timer et l'affichage sur des afficheurs 7 segments multiplexés.

Transféré par

Gharby Nour Elhouda
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
178 vues3 pages

Exercice 2

Le document contient deux exercices demandant d'écrire des programmes en C pour la gestion de compteurs avec un timer et l'affichage sur des afficheurs 7 segments multiplexés.

Transféré par

Gharby Nour Elhouda
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 3

Exercice 2 

:
Selon le circuit de la figure ci-dessous, écrire un programme en C qui permet de compter par
le module TIMER0 les fronts montants arrivant sur la broche RA4 et d'allumer la diode
chaque fois que 4 sont comptés

Exercice3 :
On désire réaliser un compteur modulo 100 en utilisant le Timer TMR0 d’un PIC 16F84A. Le
compteur est incrémenté à chaque front descendant de RA4. On adopte l’affichage multiplexé
puisqu’on dispose d’un seul décodeur BCD – 7Segments et deux afficheurs. Ecrire un
programme en MikroC.
1. Configurer le registre option_reg
2. Remplir le tableau suivant :
Nb à afficher T1 T2 Afficheur1 Afficheur2 temps
bloqué bloqué non non 1ms
Unité tmr0 saturé ………… oui non 10ms
bloqué bloqué non non 1ms
Dizaine tmr0 …………. …………. ….. …. 10ms
bloqué bloqué non non 1ms

3. Compléter le programme suivant :


Int uni,dix ;
Void main()
{TRISB=……
TRISA=…..
OPTION_REG=…….
TMR0=……
While(1)
{
While(TMR0<…..)
{uni=TMR0 ….. 10 ;
Dix=TMR0 …… 10 ;
PORTA=0 ;
Demay_ms(1) ;
PORTB=uni ;
PORTA=…..
Delay_ms(10) ;
PORTA=0 ;
Delay_ms(1) ;
PORTB=dix;
PORTA=…..
Delay_ms(10);
}
TMR0= …….. ;
}
}

Vous aimerez peut-être aussi