Microcontrôleurs et Langage C Les Timers diapo 1

Slides:



Advertisements
Présentations similaires
La Logique séquentielle
Advertisements

Chapitre annexe. Récursivité
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Architecture des processeurs généralistes haute performance
Les éléments de mémorisation
Le Concept du programme enregistré
Nicolas Bourbaki.
Les Compteurs A. Objectifs de la séquence:
5. Les structures répétitives
Conception d’une carte à microcontrôleur ARM pour le robot Amphibot II
Démarche de résolution de problèmes
Langage C :acquisition des connaissances sous forme de TP.
Calcul et implantation des filtres numériques RIF et RII dans un DSP
Les TIMERS du PIC V1.0 novembre T.B.
Algorithmique et Programmation
1 Exercice : longueur d’un mot est-elle paire ?  Test fonctionnel  Quel ensemble de valeur choisir / spécification  Test structurel  Soit le code d’un.
Électronique numérique Intervenants : Boitier V. / Perisse T.
Architecture introduction.
LES SYSTEMES AUTOMATISES
Le Bus S.P.I © T.Berenguer.
Choix d’un microcontrôleur
Mécanismes d'exécution et de communication
IFT Complexité et NP-complétude Chapitre 0 Rappels.
FONCTIONNEMENT AUTOMATE
Grille d’Appréciation ou d’Evaluation
HORLOGE PROGRAMMABLE Réaliser par : ilyas mimouni –
Générateur d’un signal Carré MICROCONTROLEUR PIC 16F84 Application 1:
Afficheur industriel « AIW » MAT Électronique
Représentation des informations
Le CCF en Anglais BTS STI. 2/14 Définition du CCF : Ce n’est pas le ‘contrôle continu’. C’est une évaluation : ‘individualisée’ ; organisée sur une période.
Microcontrôleurs et Langage C Les Interruptions diapo 1
République Algérienne Démocratique et Populaire Ministère de l'enseignement supérieur et de herche scientifique Université de Ferhat Abbas -Sétif.
Banc d’essai pour un circuit combinatoire
CONTRÔLE DES COMPTABILITÉS INFORMATISÉES
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Implémentation d’un.
Examen final de pratique GPA787 Session Été 2014.
Architecture Chapitre 4 Interruptions. 2 Plan Principe Schéma d’acquisition Les états d’une interruption Décentralisation des interruptions Exemples.
Advanced Boolean Equation Language
Chapitre 9 : La machine MIASM
Les machines de Turing Lionel Blavy Sébastien Giraud Fabien Tricoire
Macros 16 pages de macros en parallèles Activation indépendante des macros Description des macros Une grille de programmation de 15x15 Programmation graphique.
8PRO100 Éléments de programmation Comment répéter plusieurs fois une séquence d’instructions.
Partie 2 : Acquisition de données avec une carte Daqmx
Commande d’actionneurs à l’aide d’un microprocesseur 2 EPWM Christian Koechli.
A.P.I LES FONCTIONS INTERRUPTION
XT-SOFT BACKSTORE. 2 Fonction BACKUP ETAT Database SQL/DS BACKUP.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Le problème du déphasage.
Cours d’ Algorithmique 2012 Algorithmique. Cours d’ Algorithmique 2012 Qu’est ce que l’Algorithmique ? Avez-vous déjà suivi une recette ? Avez-vous déjà.
Les microcontrôleurs PIC
Chapitre 5 : Les circuits séquentiels
Exemple de mise en oeuvre
Construction d'une hiérarchie mémoire faible consommation
GPA770: Microélectronique appliquée
Introduction et Généralités sur l’Algorithmique
On utilisera la version HC912DG128
1 II2/AVR II2 - Microcontroleur  Introduction  Famille ATMEL AVR8bits  ATMega16  Organisation Mémoire  Architecture CPU  Modes d'adressage et jeu.
Architecture du AT91SAM9G45 Janvier Pulse Width Modulation Modulation par largeur d’impulsion 2.
III) Programmation du PIC
BEP Electronique - Systèmes microprogrammés
Semaine 5 Registres spéciaux et périphériques internes Projet initial en ingénierie informatique et travail en équipe INF1995 Jérôme Collin et al.
Entrées-Sorties « Timer » David Saint-Mellion. Générer des signaux Compter des événements Créer des événements à un instant donné Application des Timers.
CONSTRUIRE UNE SEANCE DE COURS
L3 Instrumentation Pétrolière S6
Algorithmique Boucles et Itérations
A. Lebrun. Principe de base Dans la logique combinatoire, les sorties dépendent des différentes entrées et peuvent être calculées par l’algèbre de Boole.
Les bascules et registres
Intervention sur un système technique Afficheur industriel « AIW »
Le langage Ladder Le langage Ladder
Transcription de la présentation:

Microcontrôleurs et Langage C Les Timers diapo 1 Qu’est-ce qu’un timer? Un timer est un compteur interne au µC qui peut être incrémenté par un signal d’horloge externe ou interne. Il peut y avoir un prédiviseur avant le timer: Un timer génère un « drapeau » de débordement à chaque passage de sa valeur max à zéro. Certains timers peuvent être en écriture, ce qui permet de compter depuis une valeur particulière. On peut lire à tout moment la valeur du timer.

Microcontrôleurs et Langage C Les Timers diapo 2 Quel est l’intérêt des timers? La gestion, la mesure et la maîtrise du temps! En effet, dans beaucoup d’applications, on a besoin de mesurer des durées, de générer des signaux bien définis temporellement etc … Sans timer, cela serait bien difficile, car dépendant du temps d’exécution des instructions. Cela nécessiterait un contrôle délicat des boucles. Leur usage n’est pas très compliqué, mais demande une bonne compréhension de la structure des différents timers d’un µC. Il peut être parfois judicieux de faire un schéma fonctionnel de la configuration désirée.

Microcontrôleurs et Langage C Les Timers diapo 3 Quels timers dans les PIC16F87xA? On dispose de 3 timers: Timer0 sur 8 bits: Timer1 sur 16 bits: Timer2 sur 8 bits : pré-diviseur programmable de 1:2 à 1:256, lecture/écriture, Horloge interne ou externe (choix du front pour cette dernière) Interruption possible sur débordement $FF à $00 pré-diviseur programmable de 1:1 à 1:8, Lecture/écriture, Horloge interne ou externe (oscillateur possible pour cette dernière) Interruption possible sur débordement $FFFF à $0000 pré-diviseur programmable 1:1, 1:4 ou 1:16, post-diviseur programmable 1:1 à 1:16, Lecture/écriture, Horloge interne uniquement comparateur entre TMR2 et PR2 qui génère un drapeau Interruption possible sur sortie post-diviseur

Microcontrôleurs et Langage C Les Timers diapo 4 Quel timer choisir, pour quelle application? Là les choses se compliquent car les possibilités sont étendues. Comptage d’évènements externes: Timer2 exclus d’office. On ne doit pas utiliser de pré-diviseur, sauf cas particulier. Timer0  comptage jusqu’à 255 Timer1  comptage jusqu’à 65535 Mesure de temps: Tous les timers sont utilisables. La précision ou la capacité déterminera le Timer à utiliser Il existe des dispositifs spécifiques internes utilisant les timers (Capture/Compare/PWM) que nous verrons plus loin pour la génération de signaux ou la mesure de période.

Microcontrôleurs et Langage C Les Timers diapo 5 Exercice simple d’utilisation du timer1: Clignotement de la LED rouge indépendamment du déroulement du programme. Exercice d’utilisation du timer0 en comptage d’événements: Inversion de l’état de la LED tous les x appuis du bouton poussoir, indépendamment du déroulement du programme. Exercice d’utilisation conjointe Timer0 et Timer1: Activation de la LED pendant 0,3s tous les x appuis du bouton poussoir, indépendamment du déroulement du programme.

Microcontrôleurs et Langage C Les Timers diapo 6 Mesure de durée avec le module « Capture » Ce module utilise le timer1. L’entrée de détection se fait sur l’entrée RC2/CCP1. (détection tous les 1, 4 ou 16 fronts). A détection, le contenu du registre TMR1 est recopié dans le registre CCPR1. Technique pour mesurer une durée: Dans la routine d’interruption de CCP1, on mémorise l’instant du premier front (T1=CCPR1) puis au deuxième front, on mémorise cet instant (T2=CCPR1) puis on fait la différence. Le problème, c’est que le timer1 peut être amené à déborder plusieurs fois avant que le 2ème front arrive. Il faut donc dans la routine d’interruption de Timer1 compter les débordements et en tenir compte dans le calcul de durée. (Voir explications orales).