Microcontrôleurs et Langage C Les Interruptions diapo 1

Slides:



Advertisements
Présentations similaires
Hiver 2010JGA Beaulieu GEF 243B Programmation informatique appliquée Structure de base des programmes en C.
Advertisements

GEF 243B Programmation informatique appliquée
Premier programme en C :
La boucle for : init7.c et init71.c
Le Concept du programme enregistré
A RECUPERER EN ENTRANT Le polycopié de Caml Partie 1
Rappels C.
Développement logiciel sur micro-contrôleurs PIC en C
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
GEF 243B Programmation informatique appliquée Boucles §
GEF 243B Programmation informatique appliquée
la programmation en langage C
C.
Le Concept du programme enregistré
5. Les structures répétitives
Principes de programmation (suite)
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Conception d’une carte à microcontrôleur ARM pour le robot Amphibot II
Récursivité.
Langage C :acquisition des connaissances sous forme de TP.
Algorithmique et Programmation
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Algorithmique et Programmation
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Architecture introduction.
HistoriqueHistorique Langage C++, parution du livre Bjarne Stroustrup Normalisation ANSI.
Développement logiciel pour microcontrôleurs PIC
Les structure d’un programme :
Les itérations (boucle) Les routines Les Fonctions
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Choix d’un microcontrôleur
Répéter dans un programme avec une Instruction itérative
Faculté Polytechnique de Mons
L’essentiel du langage C
Le langage C Structures de données
HORLOGE PROGRAMMABLE Réaliser par : ilyas mimouni –
Générateur d’un signal Carré MICROCONTROLEUR PIC 16F84 Application 1:
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Sous-programmes.
CYCLE 6 : FONCTIONS Faire un programme en C avec des FONCTIONS 1- A quoi servent les FONCTIONS ? 2- Comment écrire un programme avec FONCTIONS ? 3- Comment.
Examen final de pratique GPA787 Session Été 2014.
Gestion de processus Corrigé TD 1 EFREI I
Microcontrôleurs et Langage C Les Timers diapo 1
ALGORITHMIQUE ET PROGRAMMATION C
8PRO100 Éléments de programmation Comment répéter plusieurs fois une séquence d’instructions.
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à.
Interactions entre Processus
Etude de cas: carte 80C552++ ‘APPALACHES’
Sound designer Java & Music.
1 Structures des données. 2  Le tableau permettait de désigner sous un seul nom un ensemble de valeurs de même type, chacune d'entre elles étant repérée.
HistoriqueHistorique Langage C++, parution du livre Bjarne Stroustrup Normalisation ANSI.
Introduction au langage C Fonctions et Procédures
Les types composés Les enregistrements.
Microcontrôleurs PIC. 1ère séance Présentation du PIC16F876 Outils de programmation du PIC Le langage C Exemples d’applications simples 2ème séance Présentation.
Classe 1 CSI2572 Autres modificateurs de déclaration de variables: & volatile & register & static & auto & extern & const volatile Indique au compilateur.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Pthread Ordonnancement. #define _MULTI_THREADED #include #ifndef _CHECK_H #define _CHECK_H /* headers used by a majority of the example program */ #include.
1 II2/AVR II2 - Microcontroleur  Introduction  Famille ATMEL AVR8bits  ATMega16  Organisation Mémoire  Architecture CPU  Modes d'adressage et jeu.
8PRO107 Éléments de programmation Les adresses et les pointeurs.
IFT209 – Programmation Système
Utilisation de l’assembleur en Microcontrôleur
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Informatique 2A Langage C 2 è séance. Objectifs de la séance 2 Début de la modularité avec les fonctions Création d’une première bibliothèque.
Transcription de la présentation:

Microcontrôleurs et Langage C Les Interruptions diapo 1 Qu’est-ce qu’une interruption: Une interruption, c’est un événement externe ou interne au système qui interrompt le déroulement du programme en cours et oblige le système à exécuter une routine particulière. Événement externe: Changement sur une entrée spécifique appelée entrée d’interruption. (tout µC en a au moins une) Changement sur un bit de port. (sur le PIC16F877, seuls les bits PB4 à PB7 peuvent déclencher une interruption.) Événement interne: Fin de conversion A/N Événement sur le bus série (fin d’émission, réception …) Événement I²C ou SPI Débordement Timer ……

Microcontrôleurs et Langage C Les Interruptions diapo 2 Quelles conditions pour qu’une interruption soit prise en compte? Qu’elle soit autorisée!!! Sur les PIC, il y a 2 niveaux d’autorisations: Autorisation individuelle: on configure la ou les interruptions autorisées. Autorisation globale: on autorise ou interdit toutes les interruptions (qui doivent être autorisées individuellement). Pour qu’une interruption soit prise en compte, les 2 autorisations sont requises.

Microcontrôleurs et Langage C Les Interruptions diapo 3 Programme principal Routine d’interruption début Actions Fin Initialisations début Actions 2 Fin Actions 1 Cette routine peut se produire à n’importe quel moment du programme principal. Si une interruption doit modifier le déroulement du programme principal, on fera en sorte que sa routine modifiera une variable globale qui sera testée dans le programme principal.

Microcontrôleurs et Langage C Les Interruptions diapo 4 Comment utiliser les interruptions avec PicC? On se sert de l’assistant pour créer les routines d’interruption. Il fera les initialisations nécessaires. Exemple: On veut une interruption sur l’entrée INT/RB0 du µC: Dans l’assistant, on va sur l’onglet « Interrupts »: On coche « External interrupt ». Si les autres onglets ont été renseignés, on peut cliquer sur « OK ».

Microcontrôleurs et Langage C Les Interruptions diapo 5 L’assistant a donc construit 2 fichiers: Inter1.h (qui contient les en-têtes et les fusibles): #include <16F877A.h> #device ICD=TRUE #device adc=10 #FUSES NOWDT,HS,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP,NOCPDNOWRT #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) Inter1.c (qui contient le programme): #include "inter1.h" #int_EXT EXT_isr() { } void main() . . . enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); Routine d’interruption externe précédée de la directive de compilation #int_ext Programme principal Validation de l’interruption externe Validation globale des interruptions

Microcontrôleurs et Langage C Les Interruptions diapo 6 Il ne reste plus qu’à écrire l’algorithme de la routine d’interruption et du programme principal … #byte PORTB=0x06 #bit LED_ROUGE=PORTB.5 int16 compt; #int_EXT EXT_isr() { compt=compt+1; LED_ROUGE = !LED_ROUGE; } void main() . . . enable_interrupts(INT_EXT); enable_interrupts(GLOBAL); i=0; do printf("valeur du compteur %lu \r", compt); delay_ms(300); while(TRUE); Définition des ports et des bits de port (c’est différent du #define!) Déclaration de la variable globale compt Routine d’interruption: on incrémente compt et on inverse l’état de la LED rouge Boucle infinie du programme principal qui se contente d’afficher la valeur de compt toutes les 1/3 secondes.