Microcontroleur PIC16F84

Documents pareils
PIC : COURS ASSEMBLEUR

PIC 16F84. Philippe Hoppenot

Architecture des ordinateurs

Architecture des ordinateurs

GPA770 Microélectronique appliquée Exercices série A

Fonctionnement et performance des processeurs

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Informatique Industrielle

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

Cours Informatique 1. Monsieur SADOUNI Salheddine

Conception de circuits numériques et architecture des ordinateurs

La programmation des PIC en C. Les fonctions, les interruptions.

Ordinateurs, Structure et Applications

Chapitre 4 : Les mémoires

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

ASR1 TD7 : Un microprocesseur RISC 16 bits

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

TD Architecture des ordinateurs. Jean-Luc Dekeyser

IV- Comment fonctionne un ordinateur?

Architecture matérielle des systèmes informatiques

Licence Sciences et Technologies Examen janvier 2010

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Rappels d architecture

Architecture des Ordinateurs. Partie II:

Microprocesseur + Logiciel

Prise en main. Prise en main - 0

Contraintes, particularités. 1. Généralités Gestion de la mémoire a. Type des variables et constantes... 2

Exécution des instructions machine

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Module M1 Elément 2 : Informatique 1 (I1)

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Architecture des calculateurs

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

Cours 3 : L'ordinateur

La mémoire. Un ordinateur. L'octet. Le bit

Tout savoir sur le matériel informatique

Éléments d'architecture des ordinateurs

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Exigences système Commercial & Digital Printing

Structure de base d un ordinateur

Transmissions série et parallèle

Conception de circuits numériques et architecture des ordinateurs

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Initiation au HPC - Généralités

PG208, Projet n 3 : Serveur HTTP évolué

Partie 7 : Gestion de la mémoire

Fiche technique CPU 315SN/PN (315-4PN33)

ELP 304 : Électronique Numérique. Cours 1 Introduction

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation assembleur : aperçu

PROGRAMMATION D'UN MICROCONTRÔLEUR

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A)

CM2 L architecture MIPS32

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

Temps Réel. Jérôme Pouiller Septembre 2011

Introduction à l Informatique licence 1 ère année Notes de Cours

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Tests de performance du matériel

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Bases de données documentaires et distribuées Cours NFE04

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Prentice Hall, 2011 (ISBN )

CH.3 SYSTÈMES D'EXPLOITATION

I00 Éléments d architecture

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Informatique Générale

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

FICHE PRODUIT 360 SPEECHMAGIC SDK

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Ordinateurs, Structure et Applications

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

ROYAUME DU MAROC RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES : TERTIAIRE ET NTIC : SYSTÈME ET RÉSEAUX INFORMATIQUES

Leçon 1 : Les principaux composants d un ordinateur


Compilation (INF 564)

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

CUOMO PC Route d Oron Lausanne 021/

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Architecture des ordinateurs Introduction à l informatique

Cours A7 : Temps Réel

Dispositif e-learning déployé sur les postes de travail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Exigences système Edition & Imprimeries de labeur

Conférence sur les microcontroleurs.

Matériel & Logiciels (Hardware & Software)

Rapport de projet de fin d études

2013 DOSSIER TECHNIQUE ORDINATEURS. Retrouvez tous les conseils de nos experts en magasin et sur fnac.com

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

Vers du matériel libre

Transcription:

Microcontroleur PIC16F84 II2 - Cours : Systèmes à processeurs J. Villemejane - julien.villemejane@u-pec.fr IUT Créteil-Vitry Département GEII Université Paris-Est Créteil Année universitaire 2012-2013 1/32

Plan du cours 1 Organisation générale d un système à processeur 2 Harvard / Von Neuman Unités de calcul Instructions Jeu d instructions du PIC16F84 Unité de contrôle / commande Mémoire programme Registres Organisation de la mémoire du PIC 16F84 3 Relations avec le monde extérieur Gestion des entrées/sorties Mode d interrogation programme Mode d interruption PIC16F84 4 Exercice 2/32

Organisation générale d un système à processeur Qu est-ce qu un processeur? CPU - Central Processing Unit Le processeur est un composant qui exécute des instructions séquentiellement (programme) à partir de données. Il possède (généralement) : Unité de calcul (UAL) Arithmétique Logique Unité de commande Coordination générale Lecture et décodage des instructions Registres Horloge Mémoire cache 3/32

Organisation générale d un système à processeur Système informatique type 4/32

Organisation générale d un système à processeur Micro-contrôleur PIC16F84 5/32

Organisation générale d un système à processeur Caractéristiques du PIC 16F84 Caractéristiques du PIC 16F84 35 instructions (RISC) Instructions en 1 cycle (sauf saut) Vitesse : DC - 10 MHz Mots de 14 bits Bus de données de 8 bits Mémoires Programme : 1K mots (Flash) Données : 68 octets (RAM) Données : 64 octets (EEPROM) 13 E/S indépendantes Autres périphériques (Timer, Watchdog...) 6/32

Harvard / Von Neuman Programme / Données La suite d instructions à exécuter est contenue dans une partie de la mémoire nommée mémoire-programme. Les données sur lesquelles opère le processeur sont stockées dans la partie mémoire-donnée. 7/32

Harvard / Von Neuman Programme / Données La suite d instructions à exécuter est contenue dans une partie de la mémoire nommée mémoire-programme. Les données sur lesquelles opère le processeur sont stockées dans la partie mémoire-donnée. 7/32

Harvard / Von Neuman- Micro-contrôleur PIC16F84 8/32

Unités de calcul Unités de calcul Un processeur est avant tout un organe de calcul intégrant des unités de calcul, pouvant être de plusieurs types : arithmétique et logique (ALU) flottant (FPU) autres Un processeur peut intégrer une ou plusieurs unités de type identique ou différent. Par exemple, l Athlon 64 d AMD embarque 3 ALU et 3 FPU (calculs en parallèle possibles) 9/32

Unités de calcul Unités de calcul Un processeur est avant tout un organe de calcul intégrant des unités de calcul, pouvant être de plusieurs types : arithmétique et logique (ALU) flottant (FPU) autres Un processeur peut intégrer une ou plusieurs unités de type identique ou différent. Par exemple, l Athlon 64 d AMD embarque 3 ALU et 3 FPU (calculs en parallèle possibles) 9/32

Unités de calcul- Micro-contrôleur PIC16F84 10/32

Instructions Instruction C est l opération élémentaire qu un programme demande à un processeur d effectuer. Les instructions sont codées en binaire. Un champ de l instruction appelé code opération ou opcode désigne l opération à effectuer. Puisque sa valeur numérique n a pas de sens pour les humains, le programmeur utilise une abréviation désignant le code opération fourni par le langage assembleur pour ce processeur appelée mnémonique. 11/32

Instructions Instruction C est l opération élémentaire qu un programme demande à un processeur d effectuer. Les instructions sont codées en binaire. Un champ de l instruction appelé code opération ou opcode désigne l opération à effectuer. Puisque sa valeur numérique n a pas de sens pour les humains, le programmeur utilise une abréviation désignant le code opération fourni par le langage assembleur pour ce processeur appelée mnémonique. 11/32

Instructions Instruction C est l opération élémentaire qu un programme demande à un processeur d effectuer. Les instructions sont codées en binaire. Un champ de l instruction appelé code opération ou opcode désigne l opération à effectuer. Puisque sa valeur numérique n a pas de sens pour les humains, le programmeur utilise une abréviation désignant le code opération fourni par le langage assembleur pour ce processeur appelée mnémonique. 11/32

Jeu d instructions du PIC16F84 12/32

Jeu d instructions du PIC16F84 13/32

Jeu d instructions du PIC16F84 14/32

Jeu d instructions du PIC16F84 14/32

Jeu d instructions du PIC16F84 - Exemple de l instruction ADDWF 15/32

Jeu d instructions du PIC16F84 - Exemple de l instruction ADDWF 16/32

Unité de contrôle / commande Unité de contrôle / commande Unité qui coordonne le fonctionnement des autres éléments dans le but d exécuter une séquence d instructions (le programme). Constituée de plusieurs éléments : Registre d Instruction (RI) : reçoit le code de la prochaine instruction à exécuter Décodeur : à partir du code de l instruction, détermine l opération à exécuter Horloge : pour synchroniser les éléments Compteur Ordinal (CO) : registre contenant l adresse du mot mémoire stockant le code de la prochaine instruction Séquenceur : coordonne le tout 17/32

Unité de contrôle / commande Unité de contrôle / commande Unité qui coordonne le fonctionnement des autres éléments dans le but d exécuter une séquence d instructions (le programme). Constituée de plusieurs éléments : Registre d Instruction (RI) : reçoit le code de la prochaine instruction à exécuter Décodeur : à partir du code de l instruction, détermine l opération à exécuter Horloge : pour synchroniser les éléments Compteur Ordinal (CO) : registre contenant l adresse du mot mémoire stockant le code de la prochaine instruction Séquenceur : coordonne le tout 17/32

Mémoire programme 18/32

Mémoire programme - Exemple d un programme movlw 0 x33 movwf 0 x22 r e p e r e decfsz 0x22, 1 goto r e p e r e f i n goto f i n 19/32

Mémoire programme - Exemple d un programme ; commentaire l i s t p=16 f84 org 0 goto debut debut movlw 0 x33 movwf 0 x22 r e p e r e decfsz 0x22, 1 goto r e p e r e f i n goto f i n end 20/32

Registres Registre Mot mémoire interne au processeur Plusieurs types : Registres de fonctionnement Compteur Ordinal (CO), Registre Instruction (RI)... Accumulateur (interne à l ALU) Registres généraux servent à stocker des valeurs souvent utilisées ou des résultats intermédiaires sans passer par la mémoire Registres de pile (SP : Stack Pointer) Registres d état (PSW : Program Status Word) Ensemble de bits représentant chacun un état particulier (drapeau ou flag) C : dépassement de capacité après un calcul de l ALU Z : résultat de l opération est égal à 0 21/32

Registres Registre Mot mémoire interne au processeur Plusieurs types : Registres de fonctionnement Compteur Ordinal (CO), Registre Instruction (RI)... Accumulateur (interne à l ALU) Registres généraux servent à stocker des valeurs souvent utilisées ou des résultats intermédiaires sans passer par la mémoire Registres de pile (SP : Stack Pointer) Registres d état (PSW : Program Status Word) Ensemble de bits représentant chacun un état particulier (drapeau ou flag) C : dépassement de capacité après un calcul de l ALU Z : résultat de l opération est égal à 0 21/32

Registres Registre Mot mémoire interne au processeur Plusieurs types : Registres de fonctionnement Compteur Ordinal (CO), Registre Instruction (RI)... Accumulateur (interne à l ALU) Registres généraux servent à stocker des valeurs souvent utilisées ou des résultats intermédiaires sans passer par la mémoire Registres de pile (SP : Stack Pointer) Registres d état (PSW : Program Status Word) Ensemble de bits représentant chacun un état particulier (drapeau ou flag) C : dépassement de capacité après un calcul de l ALU Z : résultat de l opération est égal à 0 21/32

Registres Registre Mot mémoire interne au processeur Plusieurs types : Registres de fonctionnement Compteur Ordinal (CO), Registre Instruction (RI)... Accumulateur (interne à l ALU) Registres généraux servent à stocker des valeurs souvent utilisées ou des résultats intermédiaires sans passer par la mémoire Registres de pile (SP : Stack Pointer) Registres d état (PSW : Program Status Word) Ensemble de bits représentant chacun un état particulier (drapeau ou flag) C : dépassement de capacité après un calcul de l ALU Z : résultat de l opération est égal à 0 21/32

Registres Registre Mot mémoire interne au processeur Plusieurs types : Registres de fonctionnement Compteur Ordinal (CO), Registre Instruction (RI)... Accumulateur (interne à l ALU) Registres généraux servent à stocker des valeurs souvent utilisées ou des résultats intermédiaires sans passer par la mémoire Registres de pile (SP : Stack Pointer) Registres d état (PSW : Program Status Word) Ensemble de bits représentant chacun un état particulier (drapeau ou flag) C : dépassement de capacité après un calcul de l ALU Z : résultat de l opération est égal à 0 21/32

Organisation de la mémoire du PIC 16F84 22/32

Organisation de la mémoire du PIC 16F84 23/32

Organisation de la mémoire du PIC 16F84 24/32

Organisation de la mémoire du PIC 16F84 25/32

Relations avec le monde extérieur Gestion des entrées/sorties Organes d interface de natures diverses : Débit d informations utile : qq bits par seconde (clavier) à qq Gbits par seconde (liaison numérique) Régularité des demandes (requêtes) : échelle de la seconde (dactylographie) à la microseconde (disque dur) Volume d informations : qq octets pour un clavier à quelques centaines de Mo pour un disque dur Un système informatique doit répondre à TOUTES les requêtes Deux modes de réponse : Interrogation programme (polling) Interruption 26/32

Relations avec le monde extérieur Gestion des entrées/sorties Organes d interface de natures diverses : Débit d informations utile : qq bits par seconde (clavier) à qq Gbits par seconde (liaison numérique) Régularité des demandes (requêtes) : échelle de la seconde (dactylographie) à la microseconde (disque dur) Volume d informations : qq octets pour un clavier à quelques centaines de Mo pour un disque dur Un système informatique doit répondre à TOUTES les requêtes Deux modes de réponse : Interrogation programme (polling) Interruption 26/32

Relations avec le monde extérieur Gestion des entrées/sorties Organes d interface de natures diverses : Débit d informations utile : qq bits par seconde (clavier) à qq Gbits par seconde (liaison numérique) Régularité des demandes (requêtes) : échelle de la seconde (dactylographie) à la microseconde (disque dur) Volume d informations : qq octets pour un clavier à quelques centaines de Mo pour un disque dur Un système informatique doit répondre à TOUTES les requêtes Deux modes de réponse : Interrogation programme (polling) Interruption 26/32

Relations avec le monde extérieur Gestion des entrées/sorties Organes d interface de natures diverses : Débit d informations utile : qq bits par seconde (clavier) à qq Gbits par seconde (liaison numérique) Régularité des demandes (requêtes) : échelle de la seconde (dactylographie) à la microseconde (disque dur) Volume d informations : qq octets pour un clavier à quelques centaines de Mo pour un disque dur Un système informatique doit répondre à TOUTES les requêtes Deux modes de réponse : Interrogation programme (polling) Interruption 26/32

Relations avec le monde extérieur Gestion des entrées/sorties Organes d interface de natures diverses : Débit d informations utile : qq bits par seconde (clavier) à qq Gbits par seconde (liaison numérique) Régularité des demandes (requêtes) : échelle de la seconde (dactylographie) à la microseconde (disque dur) Volume d informations : qq octets pour un clavier à quelques centaines de Mo pour un disque dur Un système informatique doit répondre à TOUTES les requêtes Deux modes de réponse : Interrogation programme (polling) Interruption 26/32

Relations avec le monde extérieur Gestion des entrées/sorties Organes d interface de natures diverses : Débit d informations utile : qq bits par seconde (clavier) à qq Gbits par seconde (liaison numérique) Régularité des demandes (requêtes) : échelle de la seconde (dactylographie) à la microseconde (disque dur) Volume d informations : qq octets pour un clavier à quelques centaines de Mo pour un disque dur Un système informatique doit répondre à TOUTES les requêtes Deux modes de réponse : Interrogation programme (polling) Interruption 26/32

Relations avec le monde extérieur Mode d interrogation programme Mode d interrogation programme (polling) L unité de contrôle balaye successivement tous les périphériques pour constater la présence de requêtes éventuelles. Algorithme : //programme répéter indéfiniment pour (chaque périphérique) si (requ^ete présente) alors satisfaire la requ^ete exécuter les instructions du programme... //fin du programme TEMPS PERDU INTERROGATION 27/32

Relations avec le monde extérieur Mode d interrogation programme Mode d interrogation programme (polling) L unité de contrôle balaye successivement tous les périphériques pour constater la présence de requêtes éventuelles. Algorithme : //programme répéter indéfiniment pour (chaque périphérique) si (requ^ete présente) alors satisfaire la requ^ete exécuter les instructions du programme... //fin du programme TEMPS PERDU INTERROGATION 27/32

Relations avec le monde extérieur Mode d interrogation programme Mode d interrogation programme (polling) L unité de contrôle balaye successivement tous les périphériques pour constater la présence de requêtes éventuelles. Algorithme : //programme répéter indéfiniment pour (chaque périphérique) si (requ^ete présente) alors satisfaire la requ^ete exécuter les instructions du programme... //fin du programme TEMPS PERDU INTERROGATION 27/32

Relations avec le monde extérieur Mode d interruption Mode d interruption L unité de contrôle interrompt le programme principal lorsqu une requête est présentée par un périphérique. Algorithme : //programme répéter indéfiniment exécuter les instructions //fin du programme //---routine d interruption n 1 si (interruption par périph 1) exécuter la routine n1... reprendre l exécution du programme là où il a été interrompu //------------------------------ PLUS EFFICACE MATERIEL SPECIFIQUE 28/32

Relations avec le monde extérieur Mode d interruption Mode d interruption L unité de contrôle interrompt le programme principal lorsqu une requête est présentée par un périphérique. Algorithme : //programme répéter indéfiniment exécuter les instructions //fin du programme //---routine d interruption n 1 si (interruption par périph 1) exécuter la routine n1... reprendre l exécution du programme là où il a été interrompu //------------------------------ PLUS EFFICACE MATERIEL SPECIFIQUE 28/32

Relations avec le monde extérieur Mode d interruption Mode d interruption L unité de contrôle interrompt le programme principal lorsqu une requête est présentée par un périphérique. Algorithme : //programme répéter indéfiniment exécuter les instructions //fin du programme //---routine d interruption n 1 si (interruption par périph 1) exécuter la routine n1... reprendre l exécution du programme là où il a été interrompu //------------------------------ PLUS EFFICACE MATERIEL SPECIFIQUE 28/32

Relations avec le monde extérieur PIC16F84 GIE Global Interrupt Enable EEIE EEprom write complete IE T0IE Timer0 IE INTE INTerrupt pin Enable (RB0) RBIE RB port change IE Registre INTCON T0IF Timer0 Interrupt Flag INTF INTerrupt pin Flag RBIF RB port change IF Connexion à l adresse 0x04 29/32

Exercice Adresse Code instruction Mnémonique Cycles MOVLW 0x33 MOVWF 0x22 DECFSZ 0x22,1 ;REPERE GOTO REPERE GOTO FIN ;FIN 30/32

Exercice Adresse Code instruction Mnémonique Cycles 0x000 0x3033 MOVLW 0x33 1 11 0000 1010 0010 0x001 0x00A2 MOVWF 0x22 1 00 0000 1010 0010 ;REPERE 0x002 0x0BA2 DECFSZ 0x22,1 1 (2) 00 1011 1010 0010 0x003 0x2802 GOTO REPERE 2 10 1000 0000 0010 ;FIN 0x004 0x2804 GOTO FIN 2 10 1000 0000 0100 31/32

Exercice 32/32