0% ont trouvé ce document utile (0 vote)
37 vues9 pages

Interface Compteur/Temporisateur Microcontrôleur

Le document décrit les fonctionnalités d'un timer/compteur dans un microcontrôleur, notamment la génération de signaux périodiques, la temporisation et le comptage d'événements. Il explique le fonctionnement des registres associés au timer comme TCNT, TOCx, TFLG1/2. Il aborde ensuite les interruptions, leur gestion, et donne des exemples d'utilisation du timer pour la temporisation.

Transféré par

imane ait baddou
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
37 vues9 pages

Interface Compteur/Temporisateur Microcontrôleur

Le document décrit les fonctionnalités d'un timer/compteur dans un microcontrôleur, notamment la génération de signaux périodiques, la temporisation et le comptage d'événements. Il explique le fonctionnement des registres associés au timer comme TCNT, TOCx, TFLG1/2. Il aborde ensuite les interruptions, leur gestion, et donne des exemples d'utilisation du timer pour la temporisation.

Transféré par

imane ait baddou
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 PDF, TXT ou lisez en ligne sur Scribd

04/05/2024

SYSTÈMES
A MICROCONTROLEURS

4A GEE

Pr. YADEN Mohammed Faysal

Chapitre V
INTERFACE
COMPTEUR/TEMPORISATEUR

Définition

• Le Timer permet de réaliser les fonctions


suivantes :
• Temporisation,
• Génération d’un signal périodique modulé ou non en
largeur d’impulsion,
• Génération d’une impulsion calibrée,
• Comptage d'événements.
• Plusieurs registres associés au Timer permettent
de configurer les différents modes décrits
précédemment.
• Le cœur de ce dernier est un registre de 16 bits,
TCNT (Timer Counter), qui s’incrémente à chaque
pulsation de l’horloge sans arrêt de $0000 jusqu’à
$FFFF.

1
04/05/2024

Schéma fonctionnelle

Les registres du Timer

Le registre TMSK2, Timer Interrupt Mask 2 :

Les registres du Timer


Le registre TCNT, Timer Counter :

• Au débordement de TCNT (passage de 65535 à 0),


le drapeau TOF (bit de TFLG2) passe à 1.
• Le drapeau TOF doit être réinitialisé dans ce sous-
programme pour qu’une nouvelle IT soit possible.
• Ce registre TCNT est utilisé pour les fonctions de
capture et de comparaison.

2
04/05/2024

Les registres du Timer

Le registre TFLG2, Timer Interrupt Flag


2:

• Le bit TOF se positionne à 1 quand il y a


débordement du compteur. il reste dans cet état
tant qu'il n'est pas remis à zéro par l'utilisateur.
• La mise à zéro de ce bit se fait par l’écriture d’un
1 dans TOF.

Temps de cycle

Le temps de cycle étant le temps nécessaire pour que le


TCNT passe de (0000)Hex à (FFFF)Hex soit 216 = 65 536
périodes d’horloge.

Temps de cycle = TH × 216 × Prédiviseur

Cas de temporisation

T=Tc T<Tc T>Tc

Prédiviseur
Prédiviseur Prédiviseur

N fois
Valeur dans le
Teste du bit registre TOCx
TOF (TFLG2) TOCx = valeur

Test du bit bit OCxF ?


OCxF (TFLG1)

3
04/05/2024

Temporisation < Temps de cycle

Pour réaliser une temporisation de 100ms on n’aura


pas besoin d’attendre un cycle en entier :

Calcul de la valeur à charger dans TOCx:

Valeur(TOCx) = (Tempo × 216 )∕ Temps de cycle

• Tempo = 100ms
• VTOCx = (100.10-3 × 65536)/ 524,288.10-3 =12500

10

Les registres TOCx


TOC1 – TOC4 , Timer Output Capture :
Ce sont des registres E/S, codés sur 16 bits.
La fonction de comparaison est établie en
écrivant dans le registre concerné la valeur
recherchée.

11

Les registres TOCx

Lorsque le compteur interne TCNT atteint


une valeur identique, la broche OCxF du
registre TFLG1 correspondante est mise à 1.

TFLG1, Timer Interrupt Flag 1:

12

4
04/05/2024

Temporisation > Temps de cycle


• La temporisation nécessite un ou plusieurs cycles de
passage du TCNT de (0000)Hex à (FFFF)Hex.

• Exemple :
Une temporisation de 1,25 s;
Un temps de cycle = 524,288 ms

1ère étape : Calculer le temps de cycle


Temps de cycle = 216 × 1/(fréquence du quartz)/4 × 16
= 524,288 ms.

13

Temporisation > Temps de cycle

2ème étape : Calculer le nombre de fois que le TCNT


doit passer de (0000)h à (FFFF)h.

Ratio = Temporisation ∕ Temps de cycle

• Ratio = 1,25 /524,288.10-3 = 2,38

• Donc le TCNT doit passer de (0000)Hex à (FFFF)Hex


2 fois.

14

Temporisation > Temps de cycle

3ème étape : Programmer la partie décimale 0,38

• Déterminer la valeur à charger au TOCx équivalente à


0,38;

• Puis le test du bit OCxF pour cette partie décimale.

• Reset de OCxF pour une autre utilisation.

15

5
04/05/2024

Chapitre VI
LES INTERRUPTIONS

16

Introduction
Les modes de communication :

Microcontrôleur Microcontrôleur

Périphériques Périphériques

Interruption Scrutation

17

Introduction
Une interruption consiste à interrompre un programme
en cours d’exécution pour exécuter un sous-programme
d’interruption (SPI) traitant l’interruption puis à
reprendre l’exécution du programme principal.

Avantages :
• Réactivité en temps réel
• Multitâche
• Économie de ressources
• Gestion d'erreurs

18

6
04/05/2024

Principe

• Lors d’une demande


d’interruption, le µC quitte le
programme en cours pour se
brancher au VECTEUR
D’INTERRUPTION.
• Le SPI se termine par une
instruction RTI qui fait retourner
le µC au programme principal.
• Avant de faire le saut au SPI, le
µC sauvegarde automatiquement
les données des registres internes
dans la pile et il les restaure avant
le retour au programme principal.

19

Affectation des vecteurs


d'interruption

20

Sources d’interruptions

• Externes : entrées IRQ, XIRQ et RESET


(non masquables sauf IRQ).

• Logicielles : instruction SWI et “code


opération illégal” (non masquables)

• Internes : (unités périphériques intégrées):


débordement Timer, entrées capture, sorties
comparaison, accumulateur d’impulsions,
lignes séries (SCI et SPI). Toutes ces IT sont
masquables.

21

7
04/05/2024

Instructions de gestion des IT

• RTI : retour de sous-programme d’interruption


• SWI : interruption logiciel
• WAI : attente d’interruption
• CLI : autorise les interruptions masquables
(I←0)
• STOP : mode STOP

22

Mise en place d’une IT


1. Charger le programme d’IT dans le vecteur
d’IT correspondant.
2. Terminer le SPI par l’instruction RTI.
3. Réserver un espace mémoire pour la pile.
4. Autoriser les interruptions de manière
générale.
5. Autoriser l’interruption souhaitée (bit xxxI
d’un registre particulier à mettre à 1).
6. Attendre l’arrivée de l’interruption.

23

Le mode de communication
HANDSHAKING

• Le sous-système de handshaking
se compose de PORTB, du
PORTC et de deux lignes de
PORTB
contrôle, strobe A (STRA) et
strobe B (STRB).
PORTC
• Il existe deux méthodes de
Handshaking supportées par le 68HC11
68HC11, simple et complète. STRB
• Les différents modes et fonctions
sont sélectionnés et contrôlés par STRA
les bits du registre PIOC
(Parallel Input/Output Control).

24

8
04/05/2024

Les modes de fonctionnement

Mode simple Mode complet

25

Les registres du mode HANDSHAKING

Le registre PIOC (Parallel Input/Output Control)

26

Les registres du mode HANDSHAKING

Le registre PORTCL (Port C Latched)

C’est un registre associé au PORTC qui fait apparaitre


les niveaux logiques appropriés sur les connexions du
PORTC.
La lecture du registre PORTCL n’est possible que
lorsque la ligne STRA est activée.

27

Vous aimerez peut-être aussi