Electronique et Informatique pour le Traitement de l Information. J. Villemejane - julien.villemejane@institutoptique.fr



Documents pareils
PIC : COURS ASSEMBLEUR

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

Architecture des Ordinateurs. Partie II:

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

Conférence sur les microcontroleurs.

Informatique Industrielle

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

PIC EVAL Dev Board PIC18F97J60

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

PIC 16F84. Philippe Hoppenot

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Robot WIFIBOT Lab V3. 4 roues motrices

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

Structure de base d un ordinateur

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

Conception de circuits numériques et architecture des ordinateurs

Rappels d architecture

Cours Informatique 1. Monsieur SADOUNI Salheddine

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

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

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

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

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

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

Génération de code binaire pour application multimedia : une approche au vol

Robot WIFIBOT Lab V4. Lab V4.

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)

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

PROGRAMMATION D'UN MICROCONTRÔLEUR

2013 Nos nouveaux outils basés sur Arduino

Compilation (INF 564)

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

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

Vers du matériel libre

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Systèmes et traitement parallèles

ASR1 TD7 : Un microprocesseur RISC 16 bits

Leçon 1 : Les principaux composants d un ordinateur

Chapitre 4 : Les mémoires

Fonctionnement et performance des processeurs

Exécution des instructions machine

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

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

11 Février 2014 Paris nidays.fr. france.ni.com

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Architecture des ordinateurs

Cours 3 : L'ordinateur

Diagrammes de Package, de déploiement et de composants UML

Spécialité Professionnelle. Patrick Boulandet

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

Initiation au HPC - Généralités

Matériel & Logiciels (Hardware & Software)

Master (filière Réseau) Parcours Recherche: Systèmes Informatiques et Réseaux (RTS)

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Débuter avec PsoC ou PsoC niveau 0

Structure et fonctionnement d'un ordinateur : hardware

! analyse du fonctionnement

Présentation du système informatique utilisé et éléments d architecture des ordinateurs

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

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

Architecture des ordinateurs

QUESTION 1 {2 points}

TER Licence 3 Electronique des Télécoms Transmission GSM

Modules d automatismes simples

Configuration de TCPIPconfig.h

Architecture des calculateurs

1. PRESENTATION DU PROJET

Architecture des ordinateurs Introduction à l informatique

Flowcode - Mode d'emploi

Microprocesseur + Logiciel

Cours 7 : Programmation d une chaîne d acquisition

Introduction aux systèmes temps réel. Iulian Ober IRIT

Carte ARDUINO UNO Microcontrôleur ATMega328

NanoSense. Protocole Modbus de la sonde Particules P4000. (Version 01F)

Détection de pollution maritime avec GNU/Linux. Eric Bénard - eric@eukrea.com - 08 juillet 2010

Présentation formations SPI/EEA

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

Architecture matérielle des systèmes informatiques

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Prentice Hall, 2011 (ISBN )

IV- Comment fonctionne un ordinateur?

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

HP 600PD TWR i G 4.0G 39 PC

IFT1215 Introduction aux systèmes informatiques

ARCEAU DE PARKING MOTORISÉ VIGIPARK

Tests de performance du matériel

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Travaux pratiques Détermination de la capacité de stockage des données

RFID: Middleware et intégration avec le système d'information Olivier Liechti

L intelligence intégrée et connectée au cœur de vos projets. Dossier de presse

Windows Server Chapitre 1: Découvrir Windows Server 2008

Chapitre II-2 : Conception SoPC (Altera)

Le multiplexage. Sommaire

CM2 L architecture MIPS32

Potentiels de la technologie FPGA dans la conception des systèmes. Avantages des FPGAs pour la conception de systèmes optimisés

Mise en place d une plateforme de télécommande des équipements électrique à distance «Smart House»

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

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

Transcription:

Systèmes embarqués Electronique et Informatique pour le Traitement de l Information J. Villemejane - julien.villemejane@institutoptique.fr Institut d Optique Graduate School Année universitaire 2015-2016 1/57

Previously on EITI - S1 E08 - Les capteurs intelligents Avantages du numérique Moins sensible aux bruits (électroniques) Interfaçage normalisé (protocole de communication) Connectivité en réseau possible 2/57

Previously on EITI - S1 E08 - Les capteurs intelligents Avantages du numérique Moins sensible aux bruits (électroniques) Interfaçage normalisé (protocole de communication) Connectivité en réseau possible 2/57

Les systèmes embarqués 3/57

Les systèmes embarqués Définition Système embarqué Regroupement d un système matériel et d un logiciel Architecture spécifique dédiée Réalisation d une tâche particulière En parfaite autonomie En contact permanent avec l environnement Entrées/sorties spécifiques et très réactives 4/57

Les systèmes embarqués Structure 5/57

Les systèmes embarqués Caractéristiques Caractéristiques d un système embarqué Principalement numérique pouvant intégrer une partie analogique conditionnement de signaux, modulation, filtrage Exécution d une application dédiée, mais peut intégrer une interface homme-machine Système matériel simplifié Meilleure fiabilité Réduction de la consommation électrique Réduction des couts de fabrication Nombre de ressources limité (mémoires, E/S) 6/57

Les systèmes embarqués Caractéristiques Système embarqué = Sous-ensemble d un système plus complexe Dans l automobile Entre 40 et 100 systèmes embarqués pour assurer : la sécurité (ABS, EPS...) le confort (auto-radio, ouverture centralisée...) 7/57

Les systèmes embarqués Contraintes Contraintes d utilisation d un système embarqué Conditions environnementales extrêmes (température, humidité...) Consommation électrique minimale Faible encombrement et faible poids Gestion du temps très précise (souvent temps réel) Un système embarqué doit être : robuste simple fiable fonctionnel sûr autonome 8/57

Les systèmes embarqués Contraintes Contraintes d utilisation d un système embarqué Conditions environnementales extrêmes (température, humidité...) Consommation électrique minimale Faible encombrement et faible poids Gestion du temps très précise (souvent temps réel) Un système embarqué doit être : robuste simple fiable fonctionnel sûr autonome 8/57

Constitution d un système embarqué Pour concevoir un système embarqué intelligent, deux solutions principales : des architectures existantes (microcontroleurs) des architectures dédiées (FPGA, ASIC) 9/57

Constitution d un système embarqué FPGA et ASIC FPGA Interconnexion de composants logiques Opérateurs logiques Bascules Description comportementale d un système logique (VHDL) 10/57

Constitution d un système embarqué FPGA et ASIC FPGA Interconnexion de composants logiques Opérateurs logiques Bascules Description comportementale d un système logique (VHDL) 10/57

Constitution d un système embarqué FPGA et ASIC FPGA Interconnexion de composants logiques Opérateurs logiques Bascules Description comportementale d un système logique (VHDL) 10/57

Constitution d un système embarqué FPGA et ASIC Avantages Exécution parallèle des calculs Gestion d horloge avancée quelques MHz à quelques GHz Reconfiguration dynamique Inconvénients Aucun module précablé Entrées-sorties numériques seulement 11/57

Constitution d un système embarqué FPGA et ASIC Avantages Exécution parallèle des calculs Gestion d horloge avancée quelques MHz à quelques GHz Reconfiguration dynamique Inconvénients Aucun module précablé Entrées-sorties numériques seulement 11/57

Constitution d un système embarqué Microcontroleur Microcontroleur Unité de calcul séquentiel précablée Exécution d une séquence d instructions Entrées/Sorties spécifiques (numériques et analogiques) 12/57

Constitution d un système embarqué Microcontroleur Microcontroleur Unité de calcul séquentiel précablée Exécution d une séquence d instructions Entrées/Sorties spécifiques (numériques et analogiques) 12/57

Constitution d un système embarqué Microcontroleur Microcontroleur Unité de calcul séquentiel précablée Exécution d une séquence d instructions Entrées/Sorties spécifiques (numériques et analogiques) 12/57

Constitution d un système embarqué Microcontroleur Avantages Large choix de composants Modules déjà existants (ADC, PWM...) Gestion d horloge - oscillateur interne quelques MHz à quelques centaines de MHz Facilité de mise en oeuvre Inconvénients Exécution séquentielle des calculs Moins rapide pour le traitement de données Instructions prédéfinies Utilisation réservée de certains modules (entrées-sorties limitées) 13/57

Constitution d un système embarqué Microcontroleur Avantages Large choix de composants Modules déjà existants (ADC, PWM...) Gestion d horloge - oscillateur interne quelques MHz à quelques centaines de MHz Facilité de mise en oeuvre Inconvénients Exécution séquentielle des calculs Moins rapide pour le traitement de données Instructions prédéfinies Utilisation réservée de certains modules (entrées-sorties limitées) 13/57

Microcontroleurs Un large choix Plusieurs fabricants : Atmel : AT91, AVR (Arduino) Freescale : 68HC11, ARM : ARM-7, ARM-9, ARMv7 (S4), ARMv8 (iphone 5S) Intel : 8051, 8085 STMicroElectronics : ST6, STM32 Texas Instruments : MSP430 Cypress : PSoC Microchip : PIC, dspic 14/57

Microcontroleurs Un large choix - ARM - Applications mobiles ARM = Advanced RISC Machines Société britannique spécialisée dans le développement de microcontroleurs 32 bits pour des applications mobiles Fondée par Acorn Computers, Apple Computer (maintenant Apple Inc.) et VLSI Technology 15/57

Microcontroleurs Un large choix - ARM - Applications mobiles ARM = Advanced RISC Machines Société britannique spécialisée dans le développement de microcontroleurs 32 bits pour des applications mobiles Fondée par Acorn Computers, Apple Computer (maintenant Apple Inc.) et VLSI Technology 15/57

Microcontroleurs Un large choix - ARM - Applications mobiles ARM = Advanced RISC Machines Société britannique spécialisée dans le développement de microcontroleurs 32 bits pour des applications mobiles Fondée par Acorn Computers, Apple Computer (maintenant Apple Inc.) et VLSI Technology 15/57

Microcontroleurs Un large choix - MICROCHIP - Applications industrielles Microchip Société américaine spécialisée dans le développement de microcontroleurs 8, 16 et 32 bits pour des applications industrielles Local Interconnect Network 16/57

Microcontroleurs Un large choix - MICROCHIP - Applications industrielles Microchip Société américaine spécialisée dans le développement de microcontroleurs 8, 16 et 32 bits pour des applications industrielles Local Interconnect Network 16/57

Microcontroleurs Un large choix - MICROCHIP - Applications industrielles Microchip Société américaine spécialisée dans le développement de microcontroleurs 8, 16 et 32 bits pour des applications industrielles 16/57

Microcontroleurs Exemples d application 17/57

Microcontroleurs Exemples d application - Affichage LCD 18/57

Microcontroleurs Exemples d application - Mini-Projet TP 1A2S Commande à distance d un bandeau RGB 2 binômes : 1 pour l émetteur / 1 pour le récepteur Mise en place d un protocole de communication numérique par la lumière Objectifs : Découvrir les système embarqués 19/57

Microcontroleurs Définition Microcontroleur Unité de calcul séquentiel précablée Exécution d une séquence d instructions Entrées/Sorties spécifiques (numériques et analogiques) 20/57

Microcontroleurs Architecture simplifiée Processeur Unité de calcul Unité de controle Registres de controle Gestion d horloge Mémoire programme Mémoire données Entrées-Sorties Autres périphériques / modules 21/57

Microcontroleurs Jeux d instructions Deux grands types de jeux d instructions CISC : Complex Instruction Set Computing Exemples : familles x86 (Intel / AMD) Fonctionne en modèle mémoire-mémoire généralement RISC : Reduced Instruction Set Computing Exemples : Sun Sparc, MicroChip PIC Fonctionne en modèle mémoire-registre généralement Différences fondamentales Instructions en nombre réduit pour le RISC Instructions de taille fixe (code opération + opérande) pour le RISC 22/57

Microcontroleurs Jeux d instructions Deux grands types de jeux d instructions CISC : Complex Instruction Set Computing Exemples : familles x86 (Intel / AMD) Fonctionne en modèle mémoire-mémoire généralement RISC : Reduced Instruction Set Computing Exemples : Sun Sparc, MicroChip PIC Fonctionne en modèle mémoire-registre généralement Différences fondamentales Instructions en nombre réduit pour le RISC Instructions de taille fixe (code opération + opérande) pour le RISC 22/57

Microcontroleurs Jeux d instructions Deux grands types de jeux d instructions CISC : Complex Instruction Set Computing Exemples : familles x86 (Intel / AMD) Fonctionne en modèle mémoire-mémoire généralement RISC : Reduced Instruction Set Computing Exemples : Sun Sparc, MicroChip PIC Fonctionne en modèle mémoire-registre généralement Différences fondamentales Instructions en nombre réduit pour le RISC Instructions de taille fixe (code opération + opérande) pour le RISC 22/57

Microcontroleurs Jeux d instructions Deux grands types de jeux d instructions CISC : Complex Instruction Set Computing Exemples : familles x86 (Intel / AMD) Fonctionne en modèle mémoire-mémoire généralement RISC : Reduced Instruction Set Computing Exemples : Sun Sparc, MicroChip PIC Fonctionne en modèle mémoire-registre généralement Différences fondamentales Instructions en nombre réduit pour le RISC Instructions de taille fixe (code opération + opérande) pour le RISC 22/57

Microcontroleurs Jeux d instructions Exemple de calcul Faire la somme du registre W et de la valeur à l adresse 20 en mémoire et placer le résultat à l adresse 30 En CISC Une seule opération nécessaire : ADD W, @20, @30 En RISC (exemple PIC 16F84) MOVLW 0x54 ADDWF 0x20, 0 MOVWF 0x30 3 instructions nécessaires 23/57

Microcontroleurs Jeux d instructions Exemple de calcul Faire la somme du registre W et de la valeur à l adresse 20 en mémoire et placer le résultat à l adresse 30 En CISC Une seule opération nécessaire : ADD W, @20, @30 En RISC (exemple PIC 16F84) MOVLW 0x54 ADDWF 0x20, 0 MOVWF 0x30 3 instructions nécessaires 23/57

Microcontroleurs Jeux d instructions Exemple de calcul Faire la somme du registre W et de la valeur à l adresse 20 en mémoire et placer le résultat à l adresse 30 En CISC Une seule opération nécessaire : ADD W, @20, @30 En RISC (exemple PIC 16F84) MOVLW 0x54 ADDWF 0x20, 0 MOVWF 0x30 3 instructions nécessaires 23/57

Microcontroleurs Jeux d instructions Exemple de calcul Faire la somme du registre W et de la valeur à l adresse 20 en mémoire et placer le résultat à l adresse 30 En CISC Une seule opération nécessaire : ADD W, @20, @30 En RISC (exemple PIC 16F84) MOVLW 0x54 ADDWF 0x20, 0 MOVWF 0x30 3 instructions nécessaires 23/57

MICROCHIP - PIC16F1503 Caractéristiques du PIC 16F84 49 instructions (RISC) Vitesse : DC - 20 MHz Mots de 14 bits Bus de données de 8 bits Mémoires Programme : 1K mots (Flash) Données : 128 octets (RAM) 12 E/S indépendantes Autres périphériques (Timer, Watchdog, ADC, PWM...) PIC = Peripheral Interface Controller RISC = Reduced Instruction Set Computer 24/57

MICROCHIP - PIC16F1503 Caractéristiques du PIC 16F84 49 instructions (RISC) Vitesse : DC - 20 MHz Mots de 14 bits Bus de données de 8 bits Mémoires Programme : 1K mots (Flash) Données : 128 octets (RAM) 12 E/S indépendantes Autres périphériques (Timer, Watchdog, ADC, PWM...) PIC = Peripheral Interface Controller RISC = Reduced Instruction Set Computer 24/57

MICROCHIP - PIC16F1503 Caractéristiques du PIC 16F84 49 instructions (RISC) Vitesse : DC - 20 MHz Mots de 14 bits Bus de données de 8 bits Mémoires Programme : 1K mots (Flash) Données : 128 octets (RAM) 12 E/S indépendantes Autres périphériques (Timer, Watchdog, ADC, PWM...) PIC = Peripheral Interface Controller RISC = Reduced Instruction Set Computer 24/57

MICROCHIP - PIC16F1503 Architecture interne 25/57

MICROCHIP - PIC16F1503 Architecture interne 26/57

MICROCHIP - PIC16F1503 Architecture interne 27/57

MICROCHIP - PIC16F1503 Processeur Processeur / CPU Unité de calcul Unité de controle Registres de controle Gestion d horloge CPU : Central Processing Unit Processeur ou CPU Le processeur est un composant qui exécute des instructions séquentiellement. Une suite d instructions s appelle un programme. ADDWF : Add W and f MOVWF : Move W to f 28/57

MICROCHIP - PIC16F1503 Processeur Processeur / CPU Unité de calcul Unité de controle Registres de controle Gestion d horloge CPU : Central Processing Unit Processeur ou CPU Le processeur exécute une instruction à la fois à la vitesse d un cycle d instruction. Un cycle d instruction correspond à 4 périodes d horloge sur les microcontroleurs PIC. Avec un quartz à 4 MHz, on peut exécuter 1 000 000 d instructions par seconde. 29/57

MICROCHIP - PIC16F1503 Unité de calcul Processeur Unité de calcul Unité de controle Registres de controle Gestion d horloge Unité 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 30/57

MICROCHIP - PIC16F1503 Unité de calcul Processeur Unité de calcul Unité de controle Registres de controle Gestion d horloge ALU / UAL : Arithmetic and Logic Unit W : registre temporaire STATUS : registre d état 31/57

MICROCHIP - PIC16F1503 Unité de calcul Processeur Unité de calcul Unité de controle Registres de controle Gestion d horloge ALU / UAL : Arithmetic and Logic Unit W : registre temporaire STATUS : registre d état ADDLW 0x22 W = W + 0x22 32/57

MICROCHIP - PIC16F1503 Unité de calcul Processeur Unité de calcul Unité de controle Registres de controle Gestion d horloge ALU / UAL : Arithmetic and Logic Unit W : registre temporaire STATUS : registre d état ADDWF 0x22 W = W + @(0x22) 33/57

MICROCHIP - PIC16F1503 Unité de calcul Processeur Unité de calcul Unité de controle Registres de controle Gestion d horloge ALU / UAL : Arithmetic and Logic Unit W : registre temporaire STATUS : registre d état MOVWF 0x22 @(0x22) = W 34/57

MICROCHIP - PIC16F1503 Espaces mémoires Deux architectures possibles 35/57

MICROCHIP - PIC16F1503 Espaces mémoires Deux architectures possibles 35/57

MICROCHIP - PIC16F1503 Espaces mémoires Mémoires Programme Données ROM : Read Only Memory RAM : Random Access Memory Mémoire Dispositif capable d enregistrer, de conserver et de restituer des informations Informations binaires pour un ordinateur 36/57

MICROCHIP - PIC16F1503 Espaces mémoires - Deux grands types Deux méthodes d accès sont aussi possibles : accès séquentiel accès direct (ou aléatoire) 37/57

MICROCHIP - PIC16F1503 Mémoire Programme Mémoire Données Flash-ROM RAM 2048 mots de 14 bits 256 octets - 256 x 8 Suite d instructions Données temporaires 38/57

MICROCHIP - PIC16F1503 Mémoire programme Mémoire programme Reset Vector Première ligne lue lors de la mise en service Interrupt Vector Première ligne lue lors d une interruption PC / PCL Program Counter Pointe sur la ligne à exécuter 39/57

MICROCHIP - PIC16F1503 Mémoire données Mémoire données 1 adresse = 8 bits CR = Core Registers SFR = Special File Registers Configuration Statut du microcontroleur GP RAM = General Purpose RAM C RAM = Common RAM Données 40/57

MICROCHIP - PIC16F1503 Mémoire données Mémoire données Composée de 32 banques Core Registers 128 adresses chacune 41/57

MICROCHIP - PIC16F1503 Registres spéciaux 42/57

MICROCHIP - PIC16F1503 Registres spéciaux - Registre de travail - W Registre W Le registre de travail W stocke les résultats des calculs de l ALU MOVLW : déplace une valeur dans W ADDWF : additionne W et une adresse XORWF : OU exclusif entre W et une adresse 43/57

MICROCHIP - PIC16F1503 Registres spéciaux - STATUS 44/57

MICROCHIP - PIC16F1503 Registres spéciaux - OSCCON 45/57

MICROCHIP - PIC16F1503 Registres spéciaux 46/57

MICROCHIP - PIC16F1503 Entrées / Sorties Entrées / Sorties PORT : valeur sur la broche TRIS : direction de la broche - entrée ou sortie Entrées / Sorties Interface avec le monde extérieur Ports bi-directionnels Configuration via des registres spécifiques (TRISx) 47/57

MICROCHIP - PIC16F1503 Entrées / Sorties Entrées / Sorties PORT : valeur sur la broche TRIS : direction de la broche - entrée ou sortie 48/57

MICROCHIP - PIC16F1503 Autres modules Autres modules PWM ADC Timers ADC : Analog Digital Converter PWM : Pulse Width Modulation 49/57

MICROCHIP - PIC16F1503 Autres modules Autres modules PWM ADC Timers ADC : Analog Digital Converter PWM : Pulse Width Modulation 50/57

MICROCHIP - PIC16F1503 Autres modules - OPTION REG 51/57

Développement d une application Le composant 52/57

Développement d une application L interface de développement MPLABX 53/57

Développement d une application Le compilateur XC8 Langages de programmation Langage machine / Assembleur Bas niveau Propre à chaque processeur Langage C Haut niveau Normalisé 54/57

Développement d une application Le compilateur XC8 void main(void) { TRISAbits.TRISA0 = 0 ; TRISCbits.TRISC0 = 1 ; while(1) { if(portcbits.rc0 == 1) PORTAbits.RA0 =!PORTAbits.RA0 ; } return ; } 07AB 0021 MOVLB 0x1 07AC 100C BCF TRISA, 0x0 07AD 140E BSF TRISC, 0x0 07BB 2FAE GOTO 0x7AE 07AE 0020 MOVLB 0x0 07AF 1C0E BTFSS PORTC, 0x0 07B0 2FAE GOTO 0x7AE 07B1 1003 BCF STATUS, 0x0 07B2 1C0C BTFSS PORTA, 0x0 07B3 1403 BSF STATUS, 0x0 07B4 1C03 BTFSS STATUS, 0x0 07B5 2FB9 GOTO 0x7B9 07B6 0020 MOVLB 0x0 07B7 140C BSF PORTA, 0x0 07B8 2FAE GOTO 0x7AE 07B9 0020 MOVLB 0x0 07BA 100C BCF PORTA, 0x0 55/57

Développement d une application Le compilateur XC8 void main(void) { TRISAbits.TRISA0 = 0 ; TRISCbits.TRISC0 = 1 ; while(1) { if(portcbits.rc0 == 1) PORTAbits.RA0 =!PORTAbits.RA0 ; } return ; } 07AB 0021 MOVLB 0x1 07AC 100C BCF TRISA, 0x0 07AD 140E BSF TRISC, 0x0 07BB 2FAE GOTO 0x7AE 07AE 0020 MOVLB 0x0 07AF 1C0E BTFSS PORTC, 0x0 07B0 2FAE GOTO 0x7AE 07B1 1003 BCF STATUS, 0x0 07B2 1C0C BTFSS PORTA, 0x0 07B3 1403 BSF STATUS, 0x0 07B4 1C03 BTFSS STATUS, 0x0 07B5 2FB9 GOTO 0x7B9 07B6 0020 MOVLB 0x0 07B7 140C BSF PORTA, 0x0 07B8 2FAE GOTO 0x7AE 07B9 0020 MOVLB 0x0 07BA 100C BCF PORTA, 0x0 55/57

Développement d une application Le programmateur ICD3 56/57

Développement d une application En résumé 57/57

Développement d une application En résumé 57/57