Vous êtes sur la page 1sur 12

27/10/2021

Timer0

Sommaire Lamari SEM2 20/21

Sommaire :

 Mise en situation
 Présentation du module TMR0 et configuration du registre OPTION-REG
 TMR0 en mode compteur

1
27/10/2021

Mise en situation Lamari SEM2 20/21

Les papiers absorbants sont emballés


par lot de 4 rouleaux, qui sont à leur tour
stockés dans des cartons de 10 lots.
Pour compter le nombre de lots on fait
appel à un compteur à base de timer0 du
microcontrôleur PIC.

Problématique Lamari SEM2 20/21

Problème : Comment compter un lot de 4 rouleaux puis un bloc (carton) de 10 lots?

Solution : on fait appel au module Timer0 des PIC.

C’est quoi le module TIMER0?

2
27/10/2021

Présentation du module Timer0 Lamari SEM2 20/21

Défintion :
Le Timer0 est un module intégré dans les microcontrôleurs PIC. Il assure la
fonction Comptage ou la fonction temporisation.
Le choix du mode de fonctionnement se fait par configuration du registre
OPTION_REG.
Les microcontrôleurs de type PIC comportent un nombre de TIMERS qui
dépend de la référence du microcontrôleur utilisé.
Exemples

Registre de contrôle : OPTION_REG Lamari SEM2 20/21

Ce bit n’intervient
pas dans la
configuration de
TIMER0

3
27/10/2021

Registre de contrôle : OPTION_REG Lamari SEM2 20/21

Registre de contrôle : OPTION_REG Lamari SEM2 20/21

4
27/10/2021

Registre de contrôle : OPTION_REG Lamari SEM2 20/21

Structure interne de TIMER0 Lamari SEM2 20/21

5
27/10/2021

TIMER0 en mode compteur Lamari SEM2 20/21

Activité N°1 : Formation des lots de quatre rouleaux (compteur modulo 4)

 On va incrémenter le compteur tmr0 au passage de chaque rouleau détecté


par un capteur S.
 L’incrémentation se fait à front montant sur la broche RA’/T0CKL.
 Affichage de l’état du timer0 sur le port B.

Schéma de principe Lamari SEM2 20/21

6
27/10/2021

Etapes de programmation Lamari SEM2 20/21

 Choisir le PIC16F628A
 Configurer le PortA en entrée
 Configurer le PortB en sortie
 Configurer le registre OPTION_REG
 Initialiser le TMR0 à 0
 Initialiser le PORTB à 0
 Afficher le contenu du TMR0 dans le PortB

Etapes de programmation Lamari SEM2 20/21

 Configurer le PortA en entrée

 TRISA = 0b11111

 Configurer le PortB en sortie

 TRISB= 0b00000000

 Configurer le registre OPTION_REG  OPTION_REG= 0b0011100

7
27/10/2021

Interruption sur RB0 Lamari SEM2 20/21

Dans le cas du robot aspirateur, une partie du programme principal gère la


fonction de signalisation d’un chenillard avec des diodes LED montées sur
la face avant du robot. Dans la fonction de nettoyage, la détection d’un
obstacle par un capteur P, branché sur la broche RB0, doit faire clignoter 3
fois une diode LED (D0) branchée sur la broche RB1 (La diode D0, signale
la déviation du robot à droite) puis le progrmme principal reprend le
chenillard des LED, dès que l’obstacle disparait.

Programme sur MikroC Lamari SEM2 20/21

Algorithme Programme

Algorithme Compteur
Début
TrisA 1F(16) // Port A en entrée
TRISB  0 (16) // Port B en sortie
OPTION_REG  00111000 (2)
TMR0 0  0 // TMR0 initialiser à 0

Tant que (1=1) FAIRE


Début
Portb  TMR0 // Affich le contenu de TMR0 sur le port B
SI TMR0 = 4 ALORS TMR0  0
Fin
Fin

8
27/10/2021

Programme sur Micro-C Lamari SEM2 20/21

Activité N°2 : Utilisation des prédiviseurs Lamari SEM2 20/21

Production d’un carton de 10 lots


(Compteur modulo 10)

Pour former un paquet de 10 lots, on doit


incrémenter le compteur TMR0 du PIC
16F628 après passage de quatre rouleaux.

 L’incrémentation se fait à front montant


sur la broche RA4/CLK.
 Affichage de l’état du timer0 sur le port B.

9
27/10/2021

Activité N°2 : Utilisation des prédiviseurs Lamari SEM2 20/21

Activité N°2 : Utilisation des prédiviseurs Lamari SEM2 20/21

1. Pour obtenir un lot de 10, combien d’impulsions de S doit-on avoir ?


……………………………………………………………………………….

2. A quelle broche du PIC doit-on relier le capteur S.


…………………………………………………………………………………

3. Configurer le registre OPTION_REG


OPTION_REG = ………………..

10
27/10/2021

Activité N°2 : Utilisation des prédiviseurs Lamari SEM2 20/21

1. Pour obtenir un lot de 10, combien d’impulsions de S doit-on avoir ?


4 impulsions

2. A quelle broche du PIC doit-on relier le capteur S.


RA4/CLK : Source d’horloge externe pour le TIMER

3. Configurer le registre OPTION_REG


OPTION_REG = 0b11110001 // ou 0b00110001

Activité N°2 : Utilisation des prédiviseurs Lamari SEM2 20/21

Algorithme Programme

Algorithme Comp_lots
Début
TrisA 1F(16) // Port A en entrée
TRISB  0 (16) // Port B en sortie
OPTION_REG  11100001 (2)
TMR0 0  0 // TMR0 initialiser à 0

Tant que (1=1) FAIRE


Début
Portb  TMR0 // Affich le contenu de TMR0 sur le port B
SI TMR0 = 10 ALORS TMR0  0
Fin
Fin

11
27/10/2021

Lamari SEM2 20/21

Thank you
Questions

12

Vous aimerez peut-être aussi