72

Etude du microcontrôleur pic16 f84

Embed Size (px)

Citation preview

Page 1: Etude du microcontrôleur pic16 f84
Page 2: Etude du microcontrôleur pic16 f84

INTRODUCTION LA NAISSANCE DU MICRO-ORDINATEUR

IDENTIFICATION DES PICs ARCHITECTURE EXTERNE DU PIC16F84ARCHITECTURE INTERNE DU PIC16F84

MODES D’ARESSAGEJEUX D’INSTRUCTIONS EN ASSEMBLEUR

BIBLIOGRAPHIECONCLUSION

Page 3: Etude du microcontrôleur pic16 f84

Introduction :Un PIC est un microcontrôleur, c’est à dire une unité de traitement de l’information de type microprocesseur à laquelle on a ajouté des périphériques internes.

La dénomination PIC est sous copyright de Microchip.                     PIC = Peripheral Interface Controller

Les PICs sont des composants dits RISC (Reduce Instructions Construction Set), ou encore composant à jeu d’instructions réduit.

Page 4: Etude du microcontrôleur pic16 f84

L’idée de l’invention :

L’idée était d’inventer un petit composant qui permet de faire Les mêmes fonctions principales d’un ordinateur .

Page 5: Etude du microcontrôleur pic16 f84

La naissance du micro-ordinateur :

Intel crée le premier microprocesseur, le 4004. C'est un CPU 4 bits fonctionnant à 108 kHz et composé de 2300 transistors. Sa puissance de calcul énorme pour l'époque, lui permet de réaliser 60000 opérations par seconde.

1971

Fig-1 CPU a 4bits (4004).

Page 6: Etude du microcontrôleur pic16 f84

La naissance du micro-ordinateur :

Texas Instruments met au point le premier microcontrôleur 4 bits.

1974

Fig-1 Le 1ere microcontrolleur TMS 1000

Page 7: Etude du microcontrôleur pic16 f84

Les différentes familles des PICs :

1)Base-Line : utilise des mots d’instructions de 12 bits2)Mid-Range: utilise des mots de 14 bits

La famille des PICs est subdivisée en 3 grandes familles :

3)High-End: utilise des mots de 16 bits.

Page 8: Etude du microcontrôleur pic16 f84

Identification d’un PIC :

16F84-04Catégorie du PIC:PIC Mid-RangeIndique une

mémoire de type FLASH

Identification du PIC

Fréquence horloge

maximale (4 Mhz)

Le PIC existe en 2 versions

PIC16F 84 alimentation classique (4.5 à 5.5V).

PIC16LF 84 l'alimentation (2 à 6V).

Page 9: Etude du microcontrôleur pic16 f84

Organisation du 16F84 :Les caractéristiques principales :

35 instructions4 sources d'interruption1K mots mémoire programme Flash68 octets de données RAM64 octets de données EEPROM13 Entrée/Sortie1 Timer/Compteur

Page 10: Etude du microcontrôleur pic16 f84

Architecture externe du PIC 16f84 :

LE BROCHAGE DU PIC :PORTA 

PORT B

Oscillateur 

Alimentation 5V

Reset (réinitialisation)

Page 11: Etude du microcontrôleur pic16 f84

Architecture externe du PIC 16f84 :

PORTA : Il est constitué de 5 pattes, chacune représente un bit de son registre

RA0 RA1 RA2 RA3 RA4

TRISA

Page 12: Etude du microcontrôleur pic16 f84

Architecture externe du PIC 16f84 :

PORTB : Il est constitué de 8 pattes, chaque patte représente un bit de son registre

RB0 RB1 RB6RB2 RB3 RB4 RB5 RB7

TRISB

Page 13: Etude du microcontrôleur pic16 f84

Architecture externe du PIC 16f84 :

OSC1/CLOCKIN et OSC2/CLOCKOUT :Elle représente les pattes d’horloges, plusieurs types d'horloges peuvent être utilisés: à quartz ou à circuit RC

Page 14: Etude du microcontrôleur pic16 f84

Architecture externe du PIC 16f84 :

Vdd & Vss : sont les pattes d'alimentation. VDD doit être compris entre 2 et 6 V en utilisation.Lors de la programmation:                  4,5 V >VDD >5 V 

Page 15: Etude du microcontrôleur pic16 f84

Architecture externe du PIC 16f84 :

MCLR : est la patte de Reset et d'entrée de la tension de programmation. Les circuits PIC intégrant en interne le circuit de Reset automatique à la mise sous tension.cette broche doit être reliée à la VDD en utilisation normale.

Page 16: Etude du microcontrôleur pic16 f84

Tableau comparatif::

Page 17: Etude du microcontrôleur pic16 f84

CPUProgram MemoryFLASH

Free-runCounter

DataMemoryEEPROM

PORTA PORTB

DataMemory

RAM

Structure interne simplifié du PIC:

Page 18: Etude du microcontrôleur pic16 f84

Structure interne du PIC:

Page 19: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Page 20: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

La mémoire programme (flash):

Cette mémoire de 1024 mots stocke le programme. Elle est non volatile et reprogrammable à souhait. Chaque position de 14 bits contient une instruction. L'emplacement du programme peut se situer à n'importe quel endroit de la mémoire.

Page 21: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

L'ALU et le registre W:

C'est une ALU 8 Bits qui réalise les opérations arithmétique et logique entrel'accumulateur W et n'importe quel autre registre 'F' ou constante K.

L'accumulateur W est un registre de travail 8 bits, il n'a pas d'adresse comme les autres SFR. Pour les instructions à deux opérandes, c'est toujours lui qui contient un des deux opérandes. Pour les instructions à un opérande, celui-ci peut être soit W soit n'importe quel registre F.

Le résultat de l'opération peut être placé soit dans le registre de travail W soit dans le registre F

Page 22: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Le Watchdog TimerWDT (Chien de garde):

C’est un compteur 8 bits incrémenté en permanence (même si le µC est en mode sleep) par une horloge RC intégrée indépendante de l'horloge système. Lorsqu’il déborde, (WDT TimeOut), deux situations sont possibles :

•Si le µC est en fonctionnement normal, le WDT time-out provoque un RESET. Ceci permet d’éviter de rester planté en cas de blocage du microcontrôleur par un processus indésirable non contrôlé•Si le µC est en mode SLEEP, le WDT time-out provoque un WAKE-UP, l'exécution du programme continue normalement là où elle s'est arrêtée avant de rentrer en mode SLEEP. Cette situation est souvent exploitée pour réaliser des temporisations

L'horloge du WDT est ajustée pour que Le Time-Out arrive toutes les 18 ms. Il est cependant possible d'augmenter cette durée en faisant passer le signal Time-Out dans un prédiviseur programmable (partagé avec le timer TMR0) l'affectation se fait à l'aide du bit PSA du registre OPTION_REG o PSA = 1 --on utilise le prédiviseur o PSA = 0 --pas de prédiviseur

Page 23: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:La mémoire RAM – Registres:

Elle est constituée de 2 parties:

1) SFR : (Special Function Register), ce sont les registres du fonctionnement du PIC ,l’ensemble est appelé fichier des registres

2) GPR : (General Propose Register), sont des positions mémoire que l'utilisateur peut utiliser pour stocker ses variables et ces données.

La mémoire RAM est organisé en 2 banks Pour accéder a un registre , il faut tout d'abord se placer dans le bank ou il se trouve ,ceci est réalisé en positionnant le bit RP0 du registre STATUS.

RP0 = 0 → Bank 0 RP0 = 1 → Bank 1

Page 24: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 00 et 80 ,INDF:

Cette adresse ne contient pas de registre physique, elle sert pour l’adressage indirect.

Page 25: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 01,TMR0 et 81 OPTION:Contenu du Timer (8 bits). Il peut être incrémenté par l’horloge (fosc/4) ou par la broche RA4 du PORTA (mode compteur)

RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0

Le choix de l’horloge se fait à l'aide du bit T0CS du registre OPTION_REG

TOCS=0 → Horloge interneTOCS=1 → Horloge externe appliqué a RA4

En cas d’horloge externe , on peut choisir le front sur lequel le Timer s’incremente.

TOSE=0 → Increm sur fronts montantTOSE=1 → Increm sur fronts descendantsOPTION_REG

Page 26: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 02 et 82 ,PCL:

Le Program Counter est un registre de 13 bits qui s'incrémente automatiquement lors de l'exécution du programme. On peut toutefois le modifier par programme pour réaliser ce qu'on appelle un goto calculé. On y accède par les registres PCL et PCLATH

PCH

PCL

PCLATH

Page 27: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 03 et 83 ,STATUS:

Appelé aussi Registre d’état , les cinq bits de poids faible de ce registre sont en lecture seule , ce sont des témoins (flag en anglais) caractérisant le résultat de l’opération réalisée par l’UAL.

IRP RP1 DCRP0 TO PD Z C

STATUS

Page 28: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 03 et 83 ,STATUS:

IRP RP1 DCRP0 TO PD Z C

STATUS

C (Carry) : ce bit est mis à 1 lors d'opérations avec retenue et si le résultat est négatif.

Page 29: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 03 et 83 ,STATUS:

DC (Digit Carry) : ce bit est mis à "1" lorsque une retenue s'est produite entre les bit 3 et 4.

IRP RP1 RP0 TO PD Z C

STATUS DC

Page 30: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 03 et 83 ,STATUS:

IRP RP1 DCRP0 TO PD Z C

STATUS

Z (Zero) : ce bit est mis à "1" lorsqu’ un résultat arithmétique ou logique est nul.

Page 31: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 03 et 83 ,STATUS:

PD (Power Down) : caractérise l’activité du chien de garde WDT

IRP RP1 DCRP0 TO Z C

STATUS PD

Page 32: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 03 et 83 ,STATUS:

IRP

TO (Time Out) : Le bit est mis à 1 lors de la mise sous tension ou lors de l'exécution des instructions CLRWDT et SLEEP. Ce bit est mis à 0 si le timer chien de garde déborde.

RP1 DCRP0 PD Z C

STATUS TO

Page 33: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 03 et 83 ,STATUS:

RP0 (Time Out) : Le bit RP0 sert à sélectionner la page des registres:RP0=0 →Accés au registre d’adresse 00 a 4F RP0=1 →Accés au registre d’adresse 80 a CF

IRP RP1 DCPD Z C

STATUS TORP0

Page 34: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 03 et 83 ,STATUS:

IRP et RP1 : ne sont pas utilisés par le PIC16F84A et devrait être programmé comme effacé. utilisation de ces bits comme usage général R / W bits est pas recommandé

IRP

STATUS DCPD Z CTORP0RP1

Page 35: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 04 et 84 ,FSR:

FSR (File Select Register) :Appellé aussi Registre de sélection, il sert à sélectionner la mémoire de données, pour pouvoir y accéder.

Page 36: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 05,PORTA et 85 ,TRISA: est un 5 bits de large , bi-directionnelle. Le registre correspondant de direction de données est TRISA. La mise a 1 des bits du registre TRISA configura le PORTA correspondant a une entrée .La mise a 0 des bits du registre TRISA configura le PORTA correspondant a une sortie.

TRISA0

PORTA -- -- RA1-- RA4/T0CKI RA3 RA2 RA0

TRISA TRISA1TRISA2TRISA3TRISA4---

Page 37: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 05,PORTA et 85 ,TRISA: est un 5 bits de large , bi-directionnelle. Le registre correspondant de direction de données est TRISA. La mise a 1 des bits du registre TRISA configura le PORTA correspondant a une entrée .La mise a 0 des bits du registre TRISA configura le PORTA correspondant a une sortie.

TRISA0

PORTA -- -- RA1-- RA4/T0CKI RA3 RA2 RA0

TRISA TRISA1TRISA2TRISA3TRISA4---

Page 38: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 05,PORTA et 85 ,TRISA: Pin RA4 est multiplexé avec le module horloge Timer0 entrée pour devenir le broche RA4 / T0CKI. Ce Pin est une entrée trigger de Schmitt (type de bascule ).

TRISA0

PORTA -- -- RA1-- RA4/T0CKI RA3 RA2 RA0

TRISA TRISA1TRISA2TRISA3TRISA4---

Page 39: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 06,PORTB et 86 ,TRISB: est un 8 bits de large , bi-directionnelle. Le registre correspondant de direction de données est TRISA. .La mise a 1 des bits du registre TRISB configura le PORTB correspondant a une entrée ..La mise a 0 des bits du registre TRISB configura le PORTB correspondant a une sortie.

Page 40: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 06,PORTB et 86 ,TRISB:

RP4:RB7 :Ces broches peuvent aussi être configurés pour l’opération des interruptions en se servant du registre INTCON ET OPTION

Page 41: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 06,PORTB et 86 ,TRISB:

RP4:RB7 :Ces broches peuvent aussi être configurés pour l’opération des interruptions en se servant du registre INTCON ET OPTION

Page 42: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 06,PORTB et 86 ,TRISB:

RP4:RB7 :Ces broches peuvent aussi être configurés pour l’opération des interruptions en se servant du registre INTCON ET OPTION

Page 43: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

La mémoire EEPROM de données est constituée de 64 octet que l'on peut lire et écrire depuis un programme. Ces octets sont conservés après une coupure de courant et sont très utiles pour conserver des paramètres.

La mémoire EEPROM:

Cette mémoire n’est pas directement mappée dans l'espace du fichier de registre. Elle est accessible indirectement par le biais de la fonction spéciale Registres. Il ya quatre SFR utilisés pour lire et écrire cette mémoire. Ces registres sont:

Page 44: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

C’est le registre dans lequel est disponible la donnée qu’on est allé chercher à une certaine adresse de la mémoire EEPROM.

C’est aussi le registre dans lequel on place la donné pendant une opération d’écriture

Adresse 08,EEDATA:

Page 45: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Appellé aussi EEprom ADRess , c’est le registre dans lequel on écrit l’adresse de la mémoire de données EEPROM

Adresse 09,EEADR:

Page 46: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Appellé aussi EEprom CONtrol1 , c’est un registre qui permet de définir le mode de fonctionnement de la mémoire de données EEPROM

Adresse 88,EECON1:

WR RD

EECON1 WRENWRERREEIF

Page 47: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 88,EECON1:

WR RD

EECON1 WRENWRERREEIF

RD (ReaD) :Ce bit se met a 1 pour lire une donnée. La remise a 0 est automatique

Page 48: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 88,EECON1:

WR (WRite) :Ce bit se met a 1 pour écrire une donnée. La remise a 0 est automatique

RD

EECON1 WRENWRERREEIF WR

Page 49: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 88,EECON1:

WREN (Write Enable) :Ce bit se met a 0 pour interdire l’écriture en EEPROM de données.

WR RD

EECON1 WRERREEIF WREN

Page 50: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 88,EECON1:

WRERR (Write Error) :Ce bit se met a 1 s’il y’a une erreur d’ecriture

WR RD

EECON1 WRENEEIF WRERR

Page 51: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 88,EECON1:

WR RD

EECON1 WRENWRERREEIF

EEIF (EEProm Interrupt Flag) :Ce bit se met a 1 quand l’écriture est terminée.

Page 52: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 89,EECON2:Appellé aussi EEprom CONtrol2 , c’est un registre de sécurité d’écriture en EEPROM de données

Page 53: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:Appellé aussi INTerrupt CONtrol c’est un registre qui préside au fonctionnement des interruptions.Les quatre sources d’interruption

possibles sont :

1) la fin d’une programmation de l’EEPROM de données .

2) le débordement du timer interne .3) une commande externe appliquée

sur la pin 6 (RB0/INT).4) un changement d’état sur l’une des

pins 10, 11, 12 ou 13 (respectivement RB4,RB5, RB6,RB7).

Page 54: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:

RBIF (RB Interrupt Flag) :Ce bit se met a 1 quand l’interruption est provoquée par les broches RB4-RB7

INTCON INTFTOIFTOIEEEIE RBIEINTEGIE RBIF

Page 55: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:

INTF (Interrupt Flag) :Ce bit se met a 1 quand l’interruption est provoquée par la broche RB0/INT

RBIF

INTCON TOIFTOIEEEIE RBIEINTEGIE INTF

Page 56: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:

TOIF(Timer 0 Interrupt Flag) :Ce bit se met a 1 quand le timer est débordée

RBIF

INTCON INTFTOIEEEIE RBIEINTEGIE TOIF

Page 57: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:

RBIE(RB Interrupt Enable) :Ce bit se met a 1 pour autoriser les interruptions provoquées par un changement d'états sur l'une des broches RB4 à RB7.

RBIF

INTCON INTFTOIFTOIEEEIE INTEGIE RBIE

Page 58: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:

INTE(Interrupt Enable) :Ce bit se met a 1 pour autoriser l’interruption provoquée par un changement d'état sur broche RB0/INT.

RBIF

INTCON INTFTOIFTOIEEEIE RBIEINTEGIE

Page 59: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:

RBIF

INTCON INTFTOIFEEIE

T0IE(Timer 0 Interrupt Enable) :Ce bit se met a 1 pour autoriser l'interruption provoquée par ledébordement du TIMER0

RBIEINTEGIE T0IE

Page 60: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:

RBIF

INTCON INTFTOIF

EEIE(EEProm Interrupt Enable) :Ce bit se met a 1 pour autorise l'interruption venant de l'EEPROM

RBIEINTEGIE T0IEEEIE

Page 61: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

Adresse 0Bet 8B ,INTCON:

RBIF

INTCON INTFTOIF

GIE(Global Interrupt Enable) :masque global d’inter

RBIEINTET0IEEEIEGIE

Page 62: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

La mémoire EEPROM de configuration:

Pendant la phase d'implantation d'un programme dans la mémoire programme du PIC, on programme aussi une EEPROM de configuration constituée principalement de :

FOSC0FOSC1WDTEPWRTECPCPCPCPCPCPCPCPCPCP

Page 63: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

La mémoire EEPROM de configuration:

Pendant la phase d'implantation d'un programme dans la mémoire programme du PIC, on programme aussi une EEPROM de configuration constituée principalement de :

FOSC0FOSC1WDTEPWRTECPCPCPCPCPCPCPCPCPCP

FOSC1 ET FOSC0:Sélection du type d'oscillateur pour l'horloge11 : Oscillateur RC 10 : Oscillateur HS (High speed) : quartz haute fréquence (jusqu'à 10 MHz) 01 : Oscillateur XT, c'est le mode le plus utilisé, quartz jusqu'à 4 MHz 00 : Oscillateur LP (Low power), consommation réduite, jusqu'à 200 kHz

Page 64: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

La mémoire EEPROM de configuration:

Pendant la phase d'implantation d'un programme dans la mémoire programme du PIC, on programme aussi une EEPROM de configuration constituée principalement de :

FOSC0FOSC1WDTEPWRTECPCPCPCPCPCPCPCPCPCP

WDTE:validation du timer WDT (chien de garde)1 : WDT validé 0 : WDT inhibé

Page 65: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

La mémoire EEPROM de configuration:

Pendant la phase d'implantation d'un programme dans la mémoire programme du PIC, on programme aussi une EEPROM de configuration constituée principalement de :

FOSC0FOSC1WDTEPWRTECPCPCPCPCPCPCPCPCPCP

PWRTE:validation d'une temporisation à la mise sous tension 1 : temporisation inhibée 0 : temporisation validée

Page 66: Etude du microcontrôleur pic16 f84

Architecture interne simplifié du PIC:

La mémoire EEPROM de configuration:

Pendant la phase d'implantation d'un programme dans la mémoire programme du PIC, on programme aussi une EEPROM de configuration constituée principalement de :

FOSC0FOSC1WDTEPWRTECPCPCPCPCPCPCPCPCPCP

CP:Protection en lecture du code programme 1 : pas de protection 0 : protection activée

Page 67: Etude du microcontrôleur pic16 f84

Modes d’adressage:1)Adressage immédiat :La donnée est contenue dans l'instruction.

Exemple : movlw 0xC4 ; Transfert la valeur 0xC4dans W2)Adressage direct :La donnée est contenue dans un registre. Ce dernier peut être par un nom (par exemple W)ou une adresse mémoire.

Exemple : movf 0x2B, 0 ; Transfert dans W la valeur contenue à l'adresse 0x2B.

3)Adressage indirect L'adresse de la donnée est contenue dans un pointeur .Dans les PIC, un seul pointeur est disponible pour l'adressage indirect : FSR. Contenu à l'adresse 04h dans les deux banques, il est donc accessible indépendamment du numéro de banque.

Page 68: Etude du microcontrôleur pic16 f84

Les directives de MPASM :Les directives de l'assembleur sont des instructions qu'on ajoute dans le programme et qui seront interprétées par l'assembleur MPASM.les plus utilisées sont :LIST: permet de définir un certain nombre de paramètres comme le processeur utilisé (p), la base par défaut pour les nombres (r), le format du fichier hex à produire (f) ainsi que d'autres paramètres. Exemple : LIST p=16F84A, r=dec, f=inhx8mINCLUDE: permet d'insérer un fichier source. Par exemple le fichier p16f84A.inc exemple : INCLUDE "p16f84A.inc"_CONFIG: permet de définir les 14 fusibles de configuration qui seront copié dans l'EEPROM de configuration lors de l'implantation du programme dans le PIC exemple :_CONFIG _CP_OFF & _XT_OSC & _PWRTE_OFF& _WDT_OFF

Page 69: Etude du microcontrôleur pic16 f84

Jeux d’instructions en assembleur du PIC:

Page 70: Etude du microcontrôleur pic16 f84

Jeux d’instructions en assembleur du PIC:

Page 71: Etude du microcontrôleur pic16 f84

Conclusion:

Il est recommandée aux programmeurs de bien choisir un PIC du point de vue performance ,Sa mémoire , le prix , et sa disponibilité dans le marché du coté hardware et software comme les outils de développement .

Page 72: Etude du microcontrôleur pic16 f84

[1] PIC16F8X, document DS30430C, www.microchip.com[2] PIC16F84a, document DS35007A, www.microchip.com[3] Programmation des PIC, Première partie-PIC16F84-Révision 5, http://www.abcelectronique.com/bigonoff/organisation.php?2654c[4] PIC16F684 Data Sheet CMOS Microcontrollers with nanoWatt Technology[5] ] PIC16F684A Data Sheet [6] Le microcontrôleur PIC 16F84 ,L’auteur Pierre LOGLISCI[7] PIC 16F84 ,L’auteur Philippe Hoppenothttp://lsc.univ-evry.fr/~hoppenot/presentationfrancaise.html

BIBLIOGRAPHIE