COURS «INITIATION AUX MICROCONTROLEURS PIC DE MICROCHIPS»

Documents pareils
PIC : COURS ASSEMBLEUR

PIC 16F84. Philippe Hoppenot

2013 Nos nouveaux outils basés sur Arduino

Informatique Industrielle

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

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

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

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

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

Architecture des ordinateurs

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

CONFIGURATION DE L AUTOMATE SIEMENS

Architecture des ordinateurs Introduction à l informatique

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

Exécution des instructions machine

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

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

Architecture des Ordinateurs. Partie II:

Informatique Générale

Chapitre 4 : Les mémoires

Codage d information. Codage d information : -Définition-

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

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

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

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

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Conception de circuits numériques et architecture des ordinateurs

Conférence sur les microcontroleurs.

PIC EVAL Dev Board PIC18F97J60

PROGRAMMATION D'UN MICROCONTRÔLEUR

ARCEAU DE PARKING MOTORISÉ VIGIPARK

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

TD Architecture des ordinateurs. Jean-Luc Dekeyser

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

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee

Rappels d architecture

Leçon 1 : Les principaux composants d un ordinateur

IV- Comment fonctionne un ordinateur?

Ordinateurs, Structure et Applications

UE Programmation Impérative Licence 2ème Année

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Compilation (INF 564)

Tout savoir sur le matériel informatique

ASR1 TD7 : Un microprocesseur RISC 16 bits

Flowcode - Mode d'emploi

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Présentation et installation PCE-LOG V4 1-5

CM2 L architecture MIPS32

Structure de base d un ordinateur

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

Proteus VSM. manuel_vsm.doc

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Microprocesseur + Logiciel

Robot WIFIBOT Lab V3. 4 roues motrices

Le multiplexage. Sommaire

Rapport de projet de fin d études

Le codage informatique

La technologie Java Card TM

LISA. Manuel Utilisateur

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)

IFT1215 Introduction aux systèmes informatiques

Une version javascript sera disponible directement dans le cours prochainement.

Fiche technique CPU 314SC/DPM (314-6CG13)

Représentation d un entier en base b

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Robot WIFIBOT Lab V4. Lab V4.

Bases de programmation. Cours 5. Structurer les données

2-2. Dimensions externes 113±0.2 P P R±??? 3. FONCTIONS ET TERMINOLOGIE. Sortie prédéfinie. Sortie arrêt du vérin. Type de sortie prédéfinie

I.1- DÉFINITIONS ET NOTIONS DE BASE

Configuration de TCPIPconfig.h

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

Programmation assembleur : aperçu

Carte ARDUINO UNO Microcontrôleur ATMega328

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

Architecture matérielle des systèmes informatiques

CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1

Carte Relais GSM (Manuel Utilisateur)

Modules d automatismes simples

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Série D65/D75/D72 Afficheurs digitaux modulaires

Conversion d un entier. Méthode par soustraction

SYSTÈME DE GESTION DE FICHIERS

Logiciels DSPiy. DSPiyStudio logiciels et format des fichiers. incomplet

1. PRESENTATION DU PROJET

Alcatel OmniPCX Enterprise TSC-IP V1 (4098RE)

Traitement de données

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE UNIVERSITE M HAMED BOGARA DE BOUMERDES

Structure et fonctionnement d'un ordinateur : hardware

CENTRAL TELEPHONIQUE ANALOGIQUE 3 LIGNES 12 POSTES autocommutateur téléphone SELECTEUR FAX TELEPHONE. Ref 3L12PF = VIP312

DMX MASTER I. Notice d utilisation. Lisez soigneusement la notice d utilisation avant d utiliser l appareil! Version 1.

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Transcription:

COURS «INITIATION AUX MICROCONTROLEURS PIC DE MICROCHIPS» Bus d'adresse BUT DU COURS «INITIATION AUX MICROCONTROLEURS PIC DE MICROCHIPS» Processseur Décodeur (EPROM) Instruction s (RAM) Ports Entrée/Sortie Commande Statut Le but de ce cours est d aborder le développement de programmes en assembleur et la mise en œuvre matérielle pour les microcontrôleurs Microchip (PIC) de moyenne gamme (MID- RANGE). RAPPELS SUR LES COMMANDES NUMERIQUES AUTOMATISME Un équipement est dit automatique quand il est capable de prendre des décisions ponctuelles sans intervention humaine. Un automatisme comporte toujours deux parties : Une PARTIE OPERATIVE (P.O.) dont les actionneurs (moteurs, vérins,...) agissent dans un processus, Une PARTIE COMMANDE (P.C.) qui coordonne les différentes actions de la partie opérative. Processeur Bus de données Le processeur lit et exécute les instructions du programme. Les instructions sont des opérations de logique, d'arithmétique, de test ou de transfert. Les données sont reçues par les ports d entrée ou stockées dans la mémoire de données. Le programme est mémorisé sous forme d'instructions élémentaires dans une mémoire de programme non volatile. Ces instructions sont accessibles par l intermédiaire de leur adresse de stockage. s Les données sont mémorisées temporairement sous forme de mots dans la mémoire de données. Ces données sont accessibles par l intermédiaire de leur adresse de stockage. Port d Entrée/Sortie Cette fonction échange les informations de commande et de statut avec la partie opérative. Ces échanges sont arrangés par l intermédiaire d une adresse de sélection Dans un automatisme numérique, la partie commande est une commande numérique. Le Statut est constitué des informations d'entrée de la commande numérique. La Commande constitue l information de sortie de la commande numérique. Le calculateur élabore les commandes, en fonction du statut, suivant une séquence d'opérations numériques. La séquence des opérations numériques est décrite dans un programme d'instructions. COMMANDES NUMERIQUES Bus de s Ce bus transfert les informations, instructions ou données, entre des fonctions internes de la commande numérique. Bus d Adresse et Décodeur L adresse est un numéro d'ordre, émis par le processeur, qui permet d accéder à tous les périphériques. Le décodeur d adresse décode une partie du bus d adresse pour activer la fonction périphérique concernée. ORGANISATION SEQUENTIELLE L organigramme suivant représente l'organisation séquentielle de base des commandes numériques. ORGANISATION FONCTIONNELLE Le schéma synoptique suivant représente une organisation classique de commande numérique de type VON-NEUMAN.

Reset Initialiser Lire Statut MICROPROCESSEURS RISC ET CISC Les microprocesseurs CISC (Complex Instruction Set Computing) sont dotés d un jeu étendu d instructions complexes. Ces instructions sont relativement lentes. Les microprocesseurs CISC privilégient la puissance de traitement au détriment de la rapidité. Les microprocesseurs RISC (Reduced Instruction Set Computing) sont munis d un jeu réduit d instructions simples. Ces instructions sont adaptées et sont très rapides. Calculer Commande Sortir Commande Temporiser Le RESET fait débuter le fonctionnement de la commande par une phase d'initialisation. La commande effectue la lecture du statut actuel. D après les informations contenues dans le statut, la commande numérique élabore un ordre qu elle transfert en sortie. Enfin la commande peut effectuer une période de temporisation avant de recommencer le cycle par une nouvelle lecture du statut. MICROCONTROLEURS Les Microcontrôleurs sont des circuits intégrés qui contiennent, dans un circuit unique, toutes les fonctions d une commande numérique classique. C'est-à-dire : - le microprocesseur ; - les mémoires de programme et de données ; - les ports d entrée et de sortie parallèle ou série ; - les bus de données et d adresse ; - d autres périphériques (compteur/timer, convertisseurs analogique/numérique, etc). SEQUENCE DU PROCESSEUR Le grafcet suivant reproduit le cycle de fonctionnement d un processeur : Début RESET MICROPROCESSEURS Lecture Instruction ARCHITECTURE CLASSIQUE VON-NEUMANN Transfert? Test? Calcul? Architecture Von-Neumann Transfert s Saut Exécution calcul CPU et Suite L architecture Von-Neumann utilise un seul bus pour transmettre les instructions (programme) et les données. Cette architecture ne permet pas de lire les instructions pendant la lecture ou l écriture d une donnée. ARCHITECTURE HARVARD Architecture Harvard CPU L architecture utilise deux bus séparés. Un bus pour les instructions (programme) et un autre bus pour les données. Avec cette architecture ont peut lire les instructions pendant la lecture ou l écriture des données (pipeline). L architecture Harvard est plus rapide. Le RESET fait débuter le processeur par la première instruction du programme. Le processeur lit cette instruction en sélectionnant son adresse dans la mémoire de programme. Les instructions sont des opérations de calcul, de test ou de transfert : En cas de transfert, le processeur effectue un cycle de lecture ou un cycle d'écriture ; En cas de test, le processeur fait un choix entre deux branches de programme ; En cas d'opération de calcul, le processeur exécute l'opération. Le processeur détermine l'adresse de la prochaine instruction et continue la séquence par la lecture de la prochaine instruction.

LANGAGE DE PROGRAMMATION Edition de programme Le programmeur édite, enregistre et teste le programme sur un ordinateur équipé pour le développement du logiciel et la programmation du microcontrôleur ou d une mémoire non volatile. Les programmes peuvent être écrits à trois niveaux différents : Langage évolué (Pascal, Basic, Langage C, etc), Assembleur (mnémonique et opérande), Langage machine (binaire ou hexadécimal). - des périphériques de comptage et temporisation sophistiqués ; - des convertisseurs analogique/numérique internes ; - des capacités mémoires étendues pour le code et les données ; - des périphériques de communication évolués (I2C /SPI / USB/CAN ports et USARTs) ; - une technologie de programmation in situ (sur carte) ; - des mémoires Flash, EEPROM, OTP et ROM. Les Microcontrôleurs PIC sont répartis en trois gammes en fonction de la largeur des mots d instructions. - Base-Line : instruction sur 2 bits, - Mid-Range : instruction sur 4 bits, - High-End : instruction sur 6 bits. LES MICROCONTROLEURS MID- RANGE DE MICROCHIPS (PIC6CXXX) ARCHITECTURE COMPLETE. Le programme binaire est transféré dans une mémoire non volatile. Cette mémoire et sont logiciel sont implantés sur la carte de commande ou dans un microcontrôleur. QUI EST MICROCHIPS Microchip Technology Incorporated fabrique, entre autres, les produits suivants : - les microcontrôleurs picmicro, - des microcontrôleurs radio rfpic, - des microcontrôleurs dsp dspic, - des circuits analogiques et des interfaces, - des circuits d authentification keelok, - des eeproms séries L entreprise Microchip Technology Incorporated a été fondée en 989. Sont siège est installé à Chandler en Arizona (USA). Elle emploie 3400 personnes. Microchips est le premier fournisseur mondial de microcontrôleurs 8 bits. Les microcontrôleurs de Microchips sont commercialisés sous la marque PIC. Depuis leur lancement, en 990, plus de 3 milliards de PIC auraient été livrés. Il y aurait plus de 22 types de microcontrôleurs différents. L architecture des PICs est de type Harvard à noyau RISC. Cette architecture reste compatible à travers une famille de 8 à 84 broches. Ce qui permet une migration aisée avec très peu de changement dans les programmes. Les caractéristiques avancées sont : PIC6C72 (REMPLACE LE PIC 6C7) programme 024*4 EEPROM data - 256 octets Port I/O 8 (Port B) + 5 (Port A) 8 broches CAN 4 entrées sur 8 bits Générateur PWM 0 bits x 6 bits + 2 x 8 bits + WDT

Fréquence max ICSP (programmation in situ) BOR (reset à l affaiblissement CCP (comparaison et capture MEMOIRE DE DONNEES Bank 0 Bank Bank 2 Bank 3 7Fh 28 o 28 o 28 o 28 o 00h PIC6F84A (REMPLACE LE PIC 6F84) programme Flash 024*4 EEPROM data 64 68 octets Port I/O 8 (Port B) + 5 (Port A) 8 broches CAN - Générateur PWM - x 8 bits + WDT Fréquence max ICSP (programmation in situ) Oui BOR (reset à l affaiblissement Non CCP (comparaison et capture Non PIC6F877A (REMPLACE LE PIC 6F877) programme Flash 892*4 EEPROM data 256 368 octets Port I/O 3 x 8 (Port B,C,D) + 6 (Port A) + 3 (port E) 40 broches CAN 8 entrées sur 0 bits Comparateurs 2 Générateur PWM 2 x 0 bits x 6 bits + x 8 bits + WDT Fréquence max Port série USART, I²C, SPI ICSP (programmation in situ) Oui BOR (reset à l affaiblissement Oui CCP (comparaison et capture 2 CHAMPS MEMOIRE MEMOIRE DE PROGRAMME Memory rganization FFFh 800h 7FFh 000h 0FFFh 08000h 07FFh 0000h 2ko (page 3) 2ko (page 2) 2ko (page ) 2ko (page 0) RAM INTERNE 7Fh 20h Fh 00h Bank 0 Bank Bank 2 Bank 3 Zone libre Zone libre Zone libre Zone libre SFR SFR SFR SFR REGISTRES SPECIAUX (SFR) Add Bank 0 Bank Bank 2 Bank 3 00h INDF INDF INDF INDF 0h TMR0 OPTION_REG TMR0 OPTION_REG 02h PCL PCL PCL PCL 03h STATUS STATUS STATUS STATUS 04h FSR FSR FSR FSR 05h PORTA TRISA 06h PORTB TRISB PORTB TRISB 07h PORTC TRISC PORTF TRISF 08h PORTD TRISD PORTG TRISG 09h PORTE PORTE 0Ah PCLATCH PCLATCH PCLATCH PCLATCH 0Bh INTCON INTCON INTCON INTCON 0Ch PIR PIE 0Dh PIR2 PIE2 0Eh TMRL PCON 0Fh TMRH OSCCAL 0h TCON h TMR2 2h T2CON PR2 3h SSPBUF SSPADD 4h SSPCON SSPATAT 5h CCPRL 6h CCPRH 7h CCPCON 8h RCSTA TXSTA 9h TXREG SPBRG Ah RCREG Bh CCPR2L Ch CCPR2H Dh CCP2CON Eh ADRES Fh ADCON0 ADCON REGISTRE D ETAT (STATUS) Bit 7 6 5 4 3 2 0 IRP RP RP0 /TO /PD Z DC C Symbole C Retenue Fonction

DC Z /PD /TO RP0 RP IRP Retenue décimale (pour les opérations BCD). Zéro Power Down Time Out (WDT) Bit 0 de sélection de banque de registre. Bit de sélection de banque de registre. Sélection de banque de registre en accès indirect RP RP0 Banque de Registre Adresse 0 0 Banque 0 000h 07Fh 0 Banque 080h 0FFh 0 Banque 2 00h 7Fh Banque 3 80h FFh RESET ET VECTEUR D INTERRUPTION Le tableau suivant donne les adresses ou le microcontrôleur doit trouver le programme principal et le sous-programme d interruption. Source RESET INTERUPT PORT D ENTREE/SORTIE PARALLELE Vecteur 0000H 0004H OPERATIONS Opérations arithmétiques ADDWF f,d ; si d=0 alors W = W + f ; si d= alors f = W + f ADDLW k ; W = W + #k SUBWF f,d SUBLW k ; si d=0 alors W = f - W ; si d= alors f = f - W ; W = #k W INCF f,d ; si d=0 alors W = f + # ; si d= alors f = f + # DECF f,d ; si d=0 alors W = f - # ; si d= alors f = f - # Opérations logiques ANDWF f,d ; si d=0 alors W = W & f ; si d= alors f = W & f ANDLW k ; W = W & #k COMF f,d ; si d=0 alors W = /f ; si d= alors f = /f IORWF f,d ; si d=0 alors W = W + f ; si d= alors f = W + f IORLW k ; W = W + #k XORWF f,d ; si d=0 alors W = W f ; si d= alors f = W f XORLW k ; si d= alors W = W #k RLF f,d ; si d=0 alors W = < f ; si d= alors f = < f RRF f,d ; si d=0 alors W = f > ; si d= alors f = f > BCF f,b ; bit f.b = 0 BSF f,b ; bit f.b = SWAPF f,d ; échange les demi octets Pour la plupart des ports, la direction des informations (entrée ou sortie) est contrôlée par le registre de direction TRIS. TRISx contrôle la direction du PORTx. Un bit à pour TRISx, correspond à une entrée pour le PORTx. Un bit à 0 pour TRISx, correspond à une sortie pour le PORTx. La lecture d un PORT, prend en compte le niveau logique de la broche et non celui du registre du PORT. JEU D INSTRUCTIONS TRANSFERTS MOVF f,d MOVWF f ; f = W MOVLW k ; W = #k CLRF ; f = 0 CLRFW ; W = 0 CLRWDT ; WDT = 0 ;si d=0 alors W = f ;si d= alors f = f (permet de tester un registre) SAUTS CALL a ; appelle le sous programme à l adresse #a GOTO a ; saut à l adresse #a BTFSC f,b ; si f.b = 0 alors sauter ligne BTFSS f,b ; si f.b = alors sauter ligne RETFIE ; retour d interruption RETURN ; retour de sous-programme RETLW k ; W = #k et RETURN DECFSZ f,d ; DECF et si Zéro alors sauter ligne INCFSZ f,d ; INCF et si Zéro alors sauter ligne NOP ; aucune opération SLEEP ; mode veille