Programmation du Microcontrôleur PIC en C

Documents pareils
Les liaisons SPI et I2C

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Ordinateurs, Structure et Applications

Conférence sur les microcontroleurs.

Carte ARDUINO UNO Microcontrôleur ATMega328

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

PIC EVAL Dev Board PIC18F97J60

Bus de communication

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

Cours 7 : Programmation d une chaîne d acquisition

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

PROGRAMMATION D'UN MICROCONTRÔLEUR

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

Configuration de TCPIPconfig.h

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

Rapport de projet de fin d études

1. PRESENTATION DU PROJET

Conception de circuits numériques et architecture des ordinateurs

Description du logiciel Modbus RTU

Master4Light. Caractérisation Optique et Electrique des Sources Lumineuses. Equipement 2-en-1 : source de courant et spectrophotomètre

Informatique Industrielle

PIC 16F84. Philippe Hoppenot

Proteus Design Suite V7 Instruments virtuels

0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V

PIC : COURS ASSEMBLEUR

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

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

Carte Relais GSM (Manuel Utilisateur)

Manuel de l utilitaire Computer Setup (F10) HP Compaq Business Desktops Modèles d220 et d230

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Flowcode - Mode d'emploi

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Fonctions intégrées. Nouvelles solutions universelles & système de communication

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)

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

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

fullprotect inside EOLE SPEie RS E-SPEie V-0.6A-RS 1.0 revision Protection environnement Datasheet édition française

INdICAteur MISE EN SERVICE. INdICAteur. Afficheur déporté pour BAMOFLONIC PFA. MeS. Indicateur pour BAMOFLONIC /1. Code article :

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

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

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

Débuter avec PsoC ou PsoC niveau 0

CONTEC CO., LTD. Novembre 2010

ANALYSE TRAMEs LIAISON SERIE

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

Un grand soin a été apporté à la datation des événements pour une parfaite maîtrise temporelle de l'acquisition.

Ordinateurs, Structure et Applications

Activité initiation Arduino

NOTICE INSTALLATION. ARCHANGE Simplex Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Leçon 1 : Les principaux composants d un ordinateur

Synchronisation Mysql (Replication)

CARTES A PUCE. Pascal Urien - Cours cartes à puce /06/10 Page 1

Mentions légales (non traduites) Introduction Légendes Schémas de raccordement Configuration de la S16...

Ordinateurs, Structure et Applications

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

9 rue Georges Besse BP FONTENAY LE FLEURY FRANCE Tél.:(33) fax:(33)

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

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

Notions d IPMI et retour. Ecole d électronique numérique Fréjus 28 novembre 2012 Nicolas LETENDRE

ANNEXE 5 (1 page) MIC2920x

! analyse du fonctionnement

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

Séverine Marien Maxime Ringard. 2 ème année GEII. Régulateur de charge pour station de recharge photovoltaïque

PERFORMANCE BASE DE DONNÉES

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

Structure et fonctionnement d'un ordinateur : hardware

Manipulations du laboratoire

Chapitre II-2 : Conception SoPC (Altera)

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

Robot WIFIBOT Lab V3. 4 roues motrices

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Chapitre 4 : Les mémoires

Sélection du contrôleur

Projet M1 Année scolaire 2013/2014

Vers du matériel libre

Compilation (INF 564)

La Technologie Carte à Puce EAP TLS v2.0

Une méthode de conception de systèmes sur puce

Caractéristiques principales:

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

Guide de l'utilisateur. Linksys AE1000 Adaptateur USB sans fil - N hautes performances

NOTICE INSTALLATION. ARCHANGE WebDAV Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

Guide d'installation rapide TFM-560X YO.13

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

Robot WIFIBOT Lab V4. Lab V4.

TD Architecture des ordinateurs. Jean-Luc Dekeyser

TeSysT Dec. 17 th 2012 Management of the firmware version evolutions

Tout savoir sur le matériel informatique

Tutoriel Hotpoint. Logiciels. Juillet Formation DARTY. Service Key. Indesit Company

Module de télémétrie MT-021- Guide de démarrage rapide

CONVERTISSEUR RS 232/485 NOTICE

IFT1215 Introduction aux systèmes informatiques

Moteur DC: Comment faire varier sa vitesse?

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

ABox 865G Carte mère Intel 82865G & ICH5 Supporte Socket 478 Intel Pentium 4/ Celeron / Celeron D Processeur

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

This is a preview - click here to buy the full publication NORME INTERNATIONALE INTERNATIONAL STAN DARD. Telecontrol equipment and systems

SIN-FPGA DESCRIPTION PAR SCHEMA

Transcription:

Programmation du Microcontrôleur PIC en C 1

Les Elements D un Microcontôleur User input Input Peripherals CPU Output Peripherals User output Program download ROM Read Only Memory Central Processing Unit RAM Read & Write Memory Le microcontrôleur contient us ces éléments dans une seule puce 2

Figure 1.2 16F877 pin-out Les broches du microcontrôleur ont de multiples fonctions 3

Figure 1.3 PIC 16F877 MCU Block diagram Flash ROM Program Memory 8192 x 14 bits 0000 1FFF Instruction Register Instructions Address Program Counter (13 bits) Stack 13 bits x 8 levels File Address RAM File Registers 368 X 8 bits 000-1FF Program address Literal Working (W) Register File Select Register Opcode Status bits Arithmetic & Logic Unit Status (Flag) Register Data Bus (8 bits) Instruction Decode & CPU control MCU control lines EEPROM 256 bytes Ports, Timers ADC, Serial I/O Timing control Clock Reset Port A B C D E Présente les principales parties de la puce sous une forme simplifiée 4

Les registres du PIC16F877 Bank 0 (000 07F) Bank 1 (080 0FF) Bank 2 (100-180) Bank 3(180-1FF) Address Register Address Register Address Register Address Register 000h Indirect 080h Indirect 100h Indirect 180h Indirect 001h Timer0 081h Option 101h Timer0 181h Option 002h PC Low 082h PC Low 102h PC Low 182h PC Low 003h Status Reg 083h Status Reg 103h Status Reg 183h Status Reg 004h File Select 084h File Select 104h File Select 184h File Select 005h Port A data 085h PortA direction 105h - 185h - 006h Port B data 086h PortB direction 106h Port B data 186h PortB direction 007h Port C data 087h PortC direction 107h - 187h - 008h Port D data 088h PortD direction 108h - 188h - 009h Port E data 089h PortE direction 109h - 189h - 00Ah PC High 08Ah PC High 10Ah PC High 18Ah PC High 00Bh Interrupt Control 08Bh Interrupt Control 10Bh Interrupt Control 18Bh Interrupt Control 00Ch 01Fh 20 Peripheral Control Registers 08Ch 09Fh 20 Peripheral Control Registers 10Ch 10Fh 4 Peripheral Control Registers 18Ch 18Fh 4 Peripheral Control Registers 020h 06Fh 070h 07Fh 80 General Purpose Registers 16 Common Access GPRs 0A0h 0EFh 0F0h 0FFh 80 General Purpose Registers Accesses 70h 7Fh 110h 16Fh 170h 17Fh 96 General Purpose Registers Accesses 70h 7Fh 190h 1EFh 1F0h 1FFh 96 General Purpose Registers Accesses 70h 7Fh 5

Les types du microcontroller PIC MCU Pins Data word (bits) Program memory (bytes) Typical Instruction Set Speed MIPS Comment 10FXXX 12FXXX = 6 8 <= 512 33 x 12 bits <= 2 = 8 8 <= 2 KB 12 / 14 bits <= 5 Low pin count, small form facr, cheap No EEPROM, none low power, assembler program Low pin count, small form facr, cheap EEPROM, 10-bit ADC, some low power, assembler 16FXXX <= 64 8 <= 14 KB 35 x 14 bits <= 5 Mid-range, UART, I2C, SPI many low power, C or assembler program 18FXXXX <= 100 8 <= 128 KB 75 x 16 bits <= 16 High range, CAN, USB J series 3V supply, C program 24FXXXX <= 100 16 <= 128 KB 76 x 24 bits = 16 Power range, 3V supply, no EEPROM, data RAM < 8 KB, C program 6

I/O pin operation Write TRIS bit Data Direction Latch Tri-state Output Enable CPU Data Bus Write data bit Output Data Latch Output Current Driver Read data bit Input Data Latch Analogue input multiplexer La broche peut être réglée pour l'entrée ou la sortie de données 7

Operation du Timer Capture signal Capture register Instruction Clock External Pulse Clock Source Select Prescaler (clock divide) Binary Counter Post-scaler (output divide) Timer Overflow/ Timeout (Interrupt) Flag Compare register Match flag Un compteur binaire est utilisée comme une horloge lorsqu'il est entraîné à partir de l'horloge 8

Conversion analogique/numerique ADC Input volts 0-Vf Reference volts, Vf ANx Vref+ Analogue Digital Converter Setup ADC Read ADC 8-bit or 16-bit integer result Le ADC convertit une entrée analogique en un code binaire 9

Comparateur Vc+ Vc- Comparr status bit Vc+ > Vc- Le comparateur établit si une entrée est supérieure à l'autre 10

Opérations sur Port parallèle Chip select Read Write Parallel Slave Port Interrupt EXTERNAL Data x 8 INTERNAL Data x 8 La PSP permet à un bus de données externe pour être connecté à l'unité MCU 11

Les sources d interruptions pour PIC 16F877 Interrupt Source Interrupt trigger event CCS C Interrupt label TIMERS Timer 0 Timer 0 register overflow INT_TIMER0 Timer 1 Timer 1 register overflow INT_TIMER1 CCP 1 Timer 1 capture or compare detected INT_CCP1 Timer 2 Timer 2 register overflow INT_TIMER2 CCP2 Timer 2 capture or compare detected INT_CCP2 PORTS RB0/INT pin Change on single pin RB0 INT_EXT Port B pins Change on any of four pins RB4 RB7 INT_RB Parallel Slave Port Data received at PSP (write input active) INT_PSP Analog Converter A/D conversion completed INT_AD Analog Comparar Voltage compare true INT_COMP SERIAL UART Serial Port Received data available INT_RDA UART Serial Port Transmit data buffer empty INT_TBE SPI Serial Port Data transfer completed (read or write) INT_SSP I2C Serial Port Interface activity detected INT_SSP I2C Serial Port Bus collision detected INT_BUSCOL MEMORY EEPROM Non-volatile data memory write complete INT_EEPROM 12

Principe de l interruption Timer Program Execution 4 Jump ISR 1 Start counter statement Program Execution 7 Continue 3 Timeout Interrupt 2 Run Counter until overflow 5 Time-out Process (Interrupt Service Routine) 6 Return from Interrupt Force le délai d'expiration que le programme soit suspendu et que le ISR exécuté 13

Signal USART RS232 HOST PC PIC MCU TX1 Transmit RX1 Receive Ground Line Driver Interface +/- 12V RX2 TX2 COM PORT Ground Les Line Driver permets de convertir le signal à un bipolaire avec une tension plus élevée 14

Connections SPI Master Serial Data Out, SDO Serial Data In, SDI Serial Clock, SCK Slave 1 SDO SDI SCK!SS Slave 2 SDO SDI SCK!SS Slave Select Outputs SS1 SS2 SS3 SPI utilise la sélection matérielle de l esclave et de l'horloge séparée 15

Connections I 2 C +5V Master Slave1 Slave2 etc SDA SCL La sélection de l'esclave utilise des adresses émises par le maître 16

Un programme C simple #include "16F877A.h" void main() { output_d(255); } // MCU select // Main block // Switch on outputs Ce programme minimal envoi un code binaire «255» sur le Port D 17

Projet MPLAB Le programme C est compilé et testé en mode simulation 18

module Microchip ICD2/ICD3 ICD2/ICD3 fournit le débogage in-circuit 19

ICD fenêtres de débogage Interface utilisateur pour la programmation in-circuit et le débogage 20