uc16f877

Upload: salah-dahouathi

Post on 04-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 uC16F877

    1/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 1/37

    TRAITEMENT PROGRAMME

    DE L'INFORMATION

    - PARTIE 6

    Le microcontr!leur PIC 16F877

  • 8/13/2019 uC16F877

    2/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 2/37

    SOMMAIRE

    1 MISE EN SITUATION...................................................................................................................................................3

    2 DESCRIPTION ET STRUCTURE INTERNE............................................................................ ..................................3

    2.1 C.P.U. (Microprocesseur).......................................................................................................................................... 5

    2.2 M#moires programmes..............................................................................................................................................5

    2.3 M#moires de donn#es................................................................................................................................................5

    2.3.1 Organisation m#moire du PIC16F877..............................................................................................................62.3.2 La m#moire ram des donn#es...........................................................................................................................7

    2.3.3 La m#moire FLASH PROGRAMME et la MEMOIRE DONNEES EEPROM..................................................8

    2.4 L&interface parallle................................................................................................................................................10

    2.4.1 Les Ports du PIC16F877 ................................................................................................................................10

    2.5 L&interface s#rie......................................................................................................................................................15

    2.5.1 Les liaisons s#ries synchrones du PIC16F877.................................................................................................16

    2.5.2 La liaison SPI ................................................................................................................................................18

    2.5.3 La liaison I2C en mode slave .........................................................................................................................19

    2.5.4 La liaison s#rie asynchrone du PIC16F877.....................................................................................................20

    2.6 Le CAN. .................................................................................................................................................................212.6.1 Le Can du PIC 16F877..................................................................................................................................21

    2.7 Le timer. .................................................................................................................................................................23

    2.8 Le chien de garde....................................................................................................................................................30

    2.9 Les signaux d&horloge.............................................................................................................................................30

    2.10 Les Particularit#s du PIC16F877.............................................................................................................................31

    3 MODE DE FONCTIONNEMENT...............................................................................................................................34

    3.1 Le fonctionnement en interruptions. ........................................................................................................................34

    3.2 Instructions et modes d&adressages..........................................................................................................................35

    3.3 Les Instructions du PIC16F877. ..............................................................................................................................36

    4 STRUCTURE D$UN PROGRAMME. .........................................................................................................................37

    5 EXEMPLES DE MICROCONTR%LEURS................................................................................................................37

  • 8/13/2019 uC16F877

    3/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 3/37

    LE MICROCONTROLEUR PIC 16F877

    1 Mise en situation.

    Un objet technique, intgrant de l#lectronique, fait souvent appara$tre des fonctions ayant pour r'le le traitementd#informations : oprations arithmtiques (addition, multiplication...) ou logiques ( ET, OU...) entre plusieurssignaux d#entre permettant de gnrer des signaux de sortie.

    Ces fonctions peuvent )tre ralises par des circuits intgrs analogiques ou logiques. Mais, lorsque l#objettechnique devient complexe, et qu#il est alors ncessaire de raliser un ensemble important de traitements

    d#informations, il devient plus simple de faire appel *une structure *base de microcontr'leur.

    2 Description et structure interne.Un microcontr'leur se prsente sous la forme d#un circuit intgr runissant tous les lments d#une structure *base de microprocesseur. Voici gnralement ce que l#on trouve *l#intrieur d#un tel composant :

    w Un microprocesseur (C.P.U.),w De la mmoire de donne (RAM et EEPROM),w De la mmoire programme (ROM, OTPROM, UVPROM ou EEPROM),w Des interfaces parall-les pour la connexion des entres / sorties,

    w Des interfaces sries (synchrone ou asynchrone) pour le dialogue avec d#autres units,w Des timers pour gnrer ou mesurer des signaux avec une grande prcision temporelle,w Des convertisseurs analogique / numrique pour le traitement de signaux analogiques.

    Avantages :Encombrement rduit,Circuit imprimpeu complexe,Faible consommation, Co.t rduit.

    Inconvnient : Syst-me de dveloppement onreux,Programmation ncessitant un matriel adapt.

    Unitde traitementlectronique

    Interfa#aged'entre

    Unitcentrale detraitement

    Interfa#age desortie

    CAPTEURS

    ACTIONNEUR

    OPERATEUR

    ORGANISATION FONCTIONNELLE D'UN SYSTEME A MICROCONTROLEUR"

    Signaux analogique,

    numrique et/ou logique

    Signaux numriques traitsSignaux numriques#traiterSignaux analogique,numrique et/ou logique

  • 8/13/2019 uC16F877

    4/37

  • 8/13/2019 uC16F877

    5/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 5/37

    2.1 C.P.U. (Microprocesseur).Un microprocesseur excute squentiellement les instructions stockes dans la mmoire programme. Il estcapable d#oprer sur des mots binaires dont la taille, en bits, est celle du bus des donnes (parfois le double pourcertains microcontr'leurs). Il est gnralement constitudes lments suivants :

    w Un ou plusieurs registres accumulateurscontenant temporairement les oprandes ainsi que les rsultats desoprations,w Des registresauxiliairespermettant de relayer les accumulateurs,w Des registresd#indexpour le mode d#adressage indirect,w Un compteur programmepointant l#adresse de la prochaine instruction *excuter, sa taille est celle du busdes adresses,w Une unit arithmtique et logique (ALU) permettant d#effectuer des oprations entre l#accumulateur et uneoprande,w Un registre code condition indiquant certaines particularits en ce qui concerne le rsultat de la derni-reopration (retenu, zro, interruption...).

    On peut noter qu#il existe 2 catgories de microprocesseur : les CISC et les RISC.

    CISC (Complex Instruction Set Computer) : Ce microprocesseur poss-de un nombre important d#instructions.Chacune d#elles s#excute en plusieurs priodes d#horloges.

    RISC (Reduced Instruction Set Computer) : Ce microprocesseur poss-de un nombre rduit d#instructions.Chacune d#elles s#excute en une priode d#horloge. C#est le cas du microcontr'leur PIC16F877 de chezMicrochip

    2.2 Mmoires programmes.Ce dispositif contient les instructions du programme que doit excuter le microprocesseur. Ce type de mmoire(appele mmoire morte), est uniquement accessible en lecture. Sa programmation ncessite une procdureparticuli-re et un matriel adquate.

    Il en existe diffrents types selon leur mode de programmation :

    wDe la ROM dont le contenu est programmlors de sa fabrication.wDe la PROM programmable lectriquement une seule fois par le dveloppeur (appele aussi OTPROM),wDe la EPROM programmable lectriquement et effa3able aux U-V (appele aussi UVPROM),wDe la EEPROM programmable et effa3able lectriquement.

    2.3 Mmoires de donnes.Ce dispositif permet de mmoriser temporairement les donnes gnres par le microprocesseur pendant lesdiffrentes phases du traitement numrique (rsultats d#oprations, tats des capteurs...). Ces mmoires sontaccessibles en criture et en lecture.

    On en trouve 2 types :

    w De la mmoire vive (RAM) volatile (donnes perdues en cas de coupure de l#alimentation) ayant un temps delecture et criture assez court (quelques ns),w De la mmoire morte (EEPROM) non-volatile (donnes conserves en cas de coupure de l#alimentation) ayantun temps d#criture assez lev(quelques ms) par rapport au temps de lecture qui est assez faible (quelques ns).

  • 8/13/2019 uC16F877

    6/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 6/37

    2.3.1 Organisation mmoire du PIC16F877.

    Le plan m#moire

    Le PIC 16F877 poss-de un PC de 13 bits (PC0-PC12)est permet donc une capacitd#adressage de 8K X 14 del#adresse 0 *$1FFF . La partie haute(PC8-PC12) du PC est accessible dans le registre PCLATH.

    Il dispose de trois types de mmoire :

    La mmoire flash programme

    La mmoire de donnes RAM

    La mmoire de donnes EEPROM

    Il est *noter que la mmoire programme et l#Eeprom sont sur les m)mes bus et que leur accs se diffrencie parle bit EEPGD (bit7) du registreEECON1.

    La mmoire de donne est, quant *elle, indpendante.

    Stack: pile dans laquelle est

    sauvegard# ltat du

    microprocesseur (PC,W) lors

    d&appel ' sous-programmes ou

    d&interruptions.

    Vecteur Reset: contient l&adresse

    de d#but de programme (2 octets)

    Interrupt Vecteur : contient

    l&adresse du d#but de programme

    d&interruption quand on utilise les

    interruptions.

    Page: z)ne de m#moire contenant

    des registres de configuration, des

    donn#es variables ou du programme

  • 8/13/2019 uC16F877

    7/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 7/37

    2.3.2 La mmoire ram des donnes

    Elle contient les diff#rents registres

  • 8/13/2019 uC16F877

    8/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 8/37

    Avant d&acc#der 'un de ces registres il convient de s&assurer

    que la banque de registres est bien correctement choisie.

    En positionnant les bits RP1 et RP0 du status register

    2.3.3 La mmoire FLASH PROGRAMME et la MEMOIRE DONNEES EEPROM

    C&est le registre EECON1 qui permet de d#finir 'laquelle on veut acc#der.

    Exemple de proc#dures de lecture, #criture vers EEPROMDATA ou

    FLASH PROGRAM MEMORY

  • 8/13/2019 uC16F877

    9/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 9/37

  • 8/13/2019 uC16F877

    10/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 10/37

    2.4 L$interface parall(le.Ce type d#interface, rpartie sur plusieurs ports (maximum 8 bits), permet de prendre en compte des tatslogiques appliqus en entre (tat de capteurs) ou de gnrer des signaux binaires en sortie (commanded#actionneurs). Les broches de ces ports peuvent donc )tre configures en entre ou en sortie, avecdiffrentes options (rsistances de rappel, sorties collecteurs ouverts, interruption...). La configuration ainsi que

    l#tat logique de ces broches est obtenue par des oprations d#criture ou de lecture dans diffrents registresassocis *chaque port. On trouve gnralement :

    w Un registre de direction pour une configuration en entre ou en sortie,w Un registre de donne recopiant les tats logiques de chaque broche de port,w Un registre d#option permettant plusieurs configurations en entre ou en sortie.

    2.4.1 Les Ports du PIC16F877

    Certaines lignes de port en plus de pouvoir ,tre configur#es en entr#e ou en sortie , ont la

    particularit# de pouvoir remplir d&autres fonctions comme sortie PWM, ligne usart, ligne I2C,

    lignes SPI-

    Le PORT A

  • 8/13/2019 uC16F877

    11/37

  • 8/13/2019 uC16F877

    12/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 12/37

    Le PORT B

  • 8/13/2019 uC16F877

    13/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 13/37

    Le PORT C

    Le PORT D

  • 8/13/2019 uC16F877

    14/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 14/37

    Le PORT E

  • 8/13/2019 uC16F877

    15/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 15/37

    2.5 L$interface srie.Ce type d#interface permet au microcontr'leur de communiquer avec d #autres syst-mes *base de microprocesseur. Les donnes envoyes ou re3ues se prsentes sous la formed#un succession temporelle (sur un seul bit) de valeurs binaires images d #un mots. Il y a 2

    types de liaison srie : synchrone et asynchrone. Liaison srie synchrone.

    Dans ce dispositif la transmission est synchronispar un signal d#horloge mis par l#unitma$tre.

    UNIT6

    MA8TRE

    UNIT6

    ESCLAVE

    Sout

    Sin

    Sclk

    t

    t

    SCLK

    SINouSOUT

    D7 D6 D5 D4 D3 D2 D1 D0

    Liaison srie asynchrone.

    Ce dispositif ne poss-de pas de signal d#horloge de synchronisation. Les units en liaisonposs-dent chacune une horloge interne cadence *la m)me frquence. Lorsqu#une unitveut mettre un mot binaire, elle gn-re un front descendant sur sa ligne mettrice. A la finde l#mission de ce mot, la ligne repasse au niveau haut. La donn e * transmettre peutcontenir un bit supplmentaire appel0parit1et servant *la correction d#erreurs.

    UNIT6

    MA8TRE

    UNIT6

    ESCLAVE

    TXD

    t

    TXD

    RXD RXD

    TXD D0 D5D4D3D2D1 D6

    OU

    RXD

    BIT

    DESTART

    BIT

    DE

    STOP

    PARIT6

    TRAMES

    P

    PARAMETRES RENTRANT EN JEU POUR LA NORME RS232 :

    w Longueur des mots :7 bits (ex : caract-re ascii) ou 8 bitsw La vitesse de transmission :elle est dfini en bits par seconde ou bauds. Elle peut prendredes valeurs allant de 110 *115 200 bds.w Parit : le mot transmis peut )tre suivi ou non d'un bit de parit qui sert * dtecter les

    erreurs ventuelles de transmission.w Bit de start :la ligne au repos est *l'tat logique 1 pour indiquer qu'un mot va )tre transmisla ligne passe * l'tat bas avant de commencer le transfert. Ce bit permet de synchroniserl'horloge du rcepteur.w Bit de stop :apr-s la transmission, la ligne est positionne au repos pendant 1, 2 ou 1,5priodes d'horloge selon le nombrede bits de stop.w Niveau de tension :Un 001logique est matrialispar une tension comprise entre 3 et 25V,un 011par une tension comprise entre -25 et -3 V. Des circuits sp cialiss comme le MAX 232ralise la conversion *partir de niveau TTL.

  • 8/13/2019 uC16F877

    16/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 16/37

    2.5.1 Les liaisons sries synchrones du PIC16F877

    Le PIC16F877 permet par son module MASTER SYNCHRONOUS SERIAL PORTDe communiquer suivant deux protocoles :

    :Serial Peripheral Interface (SPI):Inter-Integrated Circuit (I2C)Pour chacun de ces protocoles existent deux modes, le mode MASTER et le mode SLAVE.. Enmode Master c#est le microcontr'leur qui g-re la ligne SCK, alors qu#en mode SLAVE, cettehorloge est pilot par un ma$tre externe et de ce fait le microcontr'leur ne pilote pas latransmission mais la subit.

    Ces liaison se configurent par les registres suivants

  • 8/13/2019 uC16F877

    17/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 17/37

  • 8/13/2019 uC16F877

    18/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 18/37

    2.5.2 La liaison SPI

  • 8/13/2019 uC16F877

    19/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 19/37

    2.5.3 La liaison I2C en mode slave

  • 8/13/2019 uC16F877

    20/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 20/37

    2.5.4 La liaison srie asynchrone du PIC16F877

    Cette liaison peut aussi )tre configure en mode synchroneASYNCHRONOUS RECEIVER

    TRANSMITTER (USART):Synchronous - Master (half duplex)

    En emission

    En rception

  • 8/13/2019 uC16F877

    21/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 21/37

    2.6 Le CAN.Le CAN intgrdans les microcontr'leurs est gnralement du type 0Approximations successives1. Il poss-deplusieurs entres multiplexes accessibles via les broches des ports de l#interface parall-le. Le CAN poss-denormalement 2 registres :

    w Un registre de donnes contenant le rsultat de la conversion,w Un registre de contr'le permettant de lancer et de surveiller la conversion.

    2.6.1 Le Can du PIC 16F877

    Le can interne du PIC 16F877 permet de convertir une tension d&entr#e analogique en

    combinaison num#rique sur 10 bits contenue dans les registres ADRESH et ADRESL.

    Les registres suivants permettent de configurer et de lancer la conversion en fixant notamment

    Vref utilis#e pour la conversion.

  • 8/13/2019 uC16F877

    22/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 22/37

  • 8/13/2019 uC16F877

    23/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 23/37

    2.7 Le timer.Le Timer permettent de raliser les fonctions suivantes :

    w Gnration d#un signal priodique modulou non en largeur d#impulsion,w Gnration d#une impulsion calibre,

    w Temporisation,w Comptage d'vnements.

    Plusieurs registres associs au Timer permettent de configurer les diffrents modes dcrits prcdemment.

    Les timers du PIC16F877.

    Le Pic16F877 comporte trois timers qui sont :

    * le timer 0 qui est un compteur sur 8 bits dont on peut choisir le front de d#clenchement, le

    rapport de division et l&horloge interne ou externe

  • 8/13/2019 uC16F877

    24/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 24/37

    le timer 1 qui est un compteur sur 16 bits dont on peut choisir le fonctionnement enmode comptage ou en mode temporisateur.

  • 8/13/2019 uC16F877

    25/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 25/37

    le timer 2 qui est un compteur sur 8 bits

  • 8/13/2019 uC16F877

    26/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 26/37

    Le module capture comparaison CCP1/2

    qui permet entre autre associ#au timer 2 de g#n#rer des signaux PWM ou MLI (modulation en

    largeur d&impulsion).

  • 8/13/2019 uC16F877

    27/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 27/37

    mode capture

    mode comparaison

  • 8/13/2019 uC16F877

    28/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 28/37

    mode pwm

  • 8/13/2019 uC16F877

    29/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 29/37

  • 8/13/2019 uC16F877

    30/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 30/37

    2.8 Le chien de garde.Ce dispositif est un syst-me anti-plantage du microcontr'leur. Il s#assure qu#il n#y ait pasd'excution prolongd#une m)me suite d#instruction.

    Un compteur prchargeable se dcrmente rguli-re au rythme de la frquence d#horloge.Si aucun prchargement n#est effectu avant qu#il n#atteigne la valeur 001 un Reset estgnrrelan3ant ainsi le microcontr'leur. Il faut donc penser *prcharger rguli-rement cechien de garde par programme lorsqu #il est activ.

    Le chien de garde. Du PIC16F877

    2.9 Les signaux d$horloge.Le signal d#horloge permet de cadencer le fonctionnement du microcontr'leur. Ce dernier int-gregnralement une porte Trigger de Schmitt afin de raliser un oscillateur. Pour l#obtenir on place un quartzentre les deux broches 0OscIn1et 0OscOut1comme l#indique le schma suivant :

    OSCin

    OSCout

    Q1

    8MHzC1

    22pF

    C222pF

    11 2

    Microcontrleur

  • 8/13/2019 uC16F877

    31/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 31/37

    2.10Les Particularits du PIC16F877

    a) Le choix de configuration

    On trouve dans cette configuration des choix concernant la protection des pages de m#moire

    programme, de data EEPROM, de validation du chien de garde (watchdog), de s#lection du type

    d&oscillateur pour le circuit d&horloge, de configuration du mode de RESET

  • 8/13/2019 uC16F877

    32/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 32/37

    b) Le reset

    Il existe diffrentes situation pouvant entra$ner un reset du circuit : Power on reset: la tension d#alimentation descend en dessous du seuil de 1,2 *

    1,7v. Brown on reset : la tension d#alimentation reste vers un niveau de 4 v pendant un

    temps assez long Watcdog reset : action du chien de garde MCLR/ activ:action sur l#entre MCLR

    Le reset initialise les diffrents contenus des registres concerns. (voir doc technique)

  • 8/13/2019 uC16F877

    33/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 33/37

    c) L-horloge

  • 8/13/2019 uC16F877

    34/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 34/37

    3 Mode de fonctionnement

    Le microprocesseur excute squentiellement les instructions codes en binaire etprsentent dans la mmoire programme. L#initialisation de cette squence peut se faire de

    diff

    rentes mani-

    res selon le mode de fonctionnement.

    3 Le fonctionnement en interruptionsLe microcontr'leur, dans son environnement, est destin * traiter des informations en0 temps rel 1. L#application est couple au monde extrieur, par l#change frquent demessages et de signaux *des instants prvus. Il est dans l #obligation de changer d #tat enfonction des priorits relatives de l#opration en cours et de celle qui lui est demand. Ilinterrompt ou non le droulement normal du programme en fonction d #une demandeexterne.

    Quelque soit l#entre d#interruption active, le microprocesseur ralise des t;ches

    identiques :- dans tout les cas, le programme principal est interrompu ;- le processeur doit sauvegarder le contenu du PC dans la pile ;- le processeur excute une squence privilgie, reflet du type de traitement d #interruption

    - la prise en compte d#une interruption ne se fait jamais pendant l #excution d#uneinstruction.

    Les interruptions du PIC16F877

  • 8/13/2019 uC16F877

    35/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 35/37

    En ce qui concerne le PIC 16F877, les interruptions peuvent provenir soit d #une ligne deport configure comme telle, soit par les timers en fi de comptage, soit par le CAN poursignaler la fin de conversion, soit lors d #vnements de transmissions sur les diffrentsinterfaces et liaison sries.

    3 2 Instructions et modes d$adressages.Les instructions contenues dans la mmoire programme sont une suite de mots binaires dcods puis excutspar le microprocesseur, appele langage machine. Ces codes sont difficilement comprhensibles par leprogrammateur. C#est la raison pour laquelle ils sont traduits en diffrents mots faisant partis du langageassembleur. Le codage d#une instruction s#effectue de la fa3on suivante :

    LDI A,0FFh

    Code opration

    Oprandes

    Langage machine Langage assembleur

    17 FF

    Code opration

    Oprandes

    Adresse

    08E1 LABEL

    Les modes d#adressages sont les diffrents moyens qui permettent au microprocesseur d#accder *une oprandeen vue de tester ou de modifier le contenu d#un registre ou d#une mmoire.

    Mode d-adressage inhrent ou implicite.

    L#adressage inhrent concerne les instructions qui ne comportent pas d#oprande, cette derni-re tantimplicite. Il s#agit gnralement des oprations de mise *0 et d#incrmentation ou de dcalage de bits

    Mode d-adressage immdiat.

    Ce mode d#adressage permet de charger les registres internes du microprocesseur directement avec la valeurde l#oprande.

    Mode d-adressage direct.

    Dans ce mode d#adressage l#oprande correspond *une adresse o2est situe la donne de l#opration .

    Mode d-adressage indexou indirect.

    Ce mode d#adressage s#applique aux registres d#index. Ces derniers contiennent une adresse mmoire danslaquelle est place la donne de l#opration.

    Mode d-adressage relatif.

    Ce mode d#adressage est rserv pour les instructions de rupture de squence conditionnel. La conditionprovient gnralement du rsultat de l#opration prcdente (rsultat nul, ayant entra$nune retenue ...) o2de l#tat d#un bit.

    Mode d-adressage tendu.

    Ce mode d#adressage permet d#effectudes ruptures de squence sans condition afin d#atteindre une adressenon successive dans la mmoire programme.

  • 8/13/2019 uC16F877

    36/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    %C16F877.doc 36/37

    3.3 Les Instructions du PIC16F877.

  • 8/13/2019 uC16F877

    37/37

    Gnie Electronique#2ime ann#e de formation Traitement programmde l'information - 6

    4 Structure d$un programme.

    La saisie d#un programme, que 3a soit en langage assembleur ouvolu, doit suivre la structure suivante.

    1- Directives d'assemblage ou de

    2- Dclaration des constantes

    3- Dclaration des variables

    4- Sous-programmes

    compilation

    5- Programme principal

    6- Programme d'interruption

    5 Exemples de microcontr*leurs.

    REFERENCE

    FABRICANT

    VITESSE

    RAM

    ROM/

    EPROM

    /FLASH

    EEPROM

    E/SLOGIQUES

    TIMER

    ENTREES

    ANALOGIQUES

    PARTICULARITE

    8051 Intel 12 Mhz 128 o 4 Ko X 32 2 016C71 Microchip 20 Mhz 36 o 1Kx14 X 13 1 4 RISC

    6805 S2 Motorola 4 MHz 64 1 Ko X 16 2 868HC11 A1 Motorola 8 MHz 256 o X 512 22 1 8 Etendu

    AT90S 8515 Atmel 20 MHz 512 o 4 Ko 512 32 3 8 RISCST 6265 Thomson 8 MHz 128 o 4 Ko 64 o 21 2 13

    PIC 16F8XX Microchip 20 MHz 128 o 8Kx14 128o 3 5 RISCSX28AC SCENIX 20MHZ