Sie sind auf Seite 1von 16
—— _GENERALETES ___. Les microcontréleurs intégrent en un seul circuit toutes les ressources propres 4 un systéme minimum contrairement 4 un microprocesseur qui lui nécessite des fonctionnalités extérieur. Les microcontréleurs PIC sont constitués autour d ‘une architecture appelée RISC ( Reduced Instruction Set Computer : Circuit & jeu d'instructions réduit ). les PIC voient leur nombre d'instructions limitées 4 33 ou 35. © 14.uit wide instructions @ 8.51 wide cate path G18 spec function hardware regions @ Eigntievel deop horawnare ack @ Direct, ndeect and relanve adatessing modes G Four nlenupt sources: @ 1000 erasciwnite cycles Flash program memory (@-10,000,000 erase/wnte cycles EEPROM data mem- ory (@EEPROM Dala Retention > 49 years ‘Special Microcontroller Features: ([@r-Cirul Serial Programming {ICSP™) - via two ‘na (ROM! deviees support only Dela EEPROM programming (@ Poner-on Reset (POR) G-Poweraup Timer (PWRT) {@-Ovcilnior Startup Timer (OST) (@-wetenceg Timer (WOT} wth ts OWN On snip RE ‘sellator fr relabie operation Pcodecroiectin ‘@ Power savng SLEEP mode @ seecatle oscilaie options re a SaaM PS2 Ox02 Biti Psi Pour le timer TMRO Diviseur = 28" PSi 0x01 Pour le Watchdog ys BitO PSO PSO 0x00 APY bee =H LES REGISTRES SPECIAUX : INTCON INTCON (addr OBh ou 8Bh) [ INTCON EQU 0x0B dans p16F84.inc ] . EQU dans N° BIT | Abbrev | Définition P16F84.inc Bit7 | GIE__| 1 valide toutes les interruptions non masqués. 0 les dévalide GIE 0x07 Bit6 | EEIE | 1 valide interruption de fin d’écriture en EEPROM. 0 la EEIE 0x06 dévalide Bits | TOIE | 1 valide interruption de dépassement sur le timer TMRO.O1a | TOLE 0x05 dévalide Bits | INTE | 1 valide interruption sur RBO/INT du port B, 0 la dévalide INTE x04 Bit3 | RBIE | 1 valide interruption de changement détat sur le port B. 0 la RBIE 0x03 dévalide Bit2 | TOI | Passe a1 encas d'interruption de dépassement du timer TMRO__| TOIF x02 Bitt | INTF | Passe’ 1 en cas d'interruption sur front actif de RBO du port B__| INTF. 0x01 Bito | RBIF | Passei 1 en cas d'interruption de changement d'état sur le port B | RBIF 0x00 Registre |EQU dans p16f84.inc| Addr || Registre de configuration | EQU dans pl6f¥4.inc | Addr Porta PORTA oxos tris TRISA Ox85 PortB PORTB 0x06 tris B TRISB x86 REGISTRE DE CONFIGURATION HARDWARE DU 16F84: Cela se fait lors de la programmation du programme. Un registre situé a l'addresse 2007h est programmé suivant une commande spécifique du compilateur = —CONFIG N° BIT | Abbrev| Définition EQU dans p16F84.inc Bits | cP Bit de protection du code deB44B13—|_cP_ON Ox000F bits ferorr | oxrre Bits | PWRTE PWRTE_ON | Ox3FF7 |_PWRTE OFF | Ox3FFF Bit2 | WDTE | Bit de validation du « chien de garde» | _WDT_ON OxSFFF _WOT_OFF | OXSFFB Bito | FOSCO | Bits de choix du type dhorloge : [_LP_osc Ox3FFC ict | Roscr | -LEFréqvece pase > bi comommaton [3 osc ox3FFD XT Normal (Quartz ou résonateur HS Fréquence haute (Quart) -HS_osc OXSFFE -RC Réseau RC -RC_osc OxSFFF Ex: CONFIG _CP_ON& _PWRTE_ON& _WDT_OFF& _HS_OSC On fait une opération bit a bit entre OOOF et 3FF7 et 3FFB et 3FFE = _CONFIG = 1111111111100 ‘vata! QU 0s Vaintia rot eg dea ges RA ato bre DNAS ieee masamecpean ot Sut Aste presen ric dtp teeta spt er Programme Principal gs atin eet ar PS Suite du programme Principal + les sous programmes} mzz>moonv mn-ozms = Indiqué au compiateur lain du programme Ragle des différents mnémoniques du jeu d ‘instruc! ONS PARTIE 1 *kest un littéral, c‘est-a-dire une valeur codée sur un octet (8 bits). + Fest le symbole correspondant dun registre. -b est le numéro du bit concerné par | ‘instruction, +d spécifie l'endroit ot doit étre placé le résultat de l'opération. Les modes d’adressage sont réduits puisqu’on en compte que 4: +Adressage immédiat : +Adressage Ex: Ex: MOVLW k Le littéral k (1 octet) est placé dans le registre de travail W. kow ADDWF fd Le contenu du registre W est ajouté au contenu du registre f. Si d=0 le résultat est placé dans W. Si d= 1 le résultat est placé dans £. Sid=0 Wif sw Sid=1 WH of BCF fb Le bit b du registre fest placé a zéro (Bit ¢ 0 bitbdet wee +Adressage indirect ( peu utilisé) ee LE JEU D'INSTRUCTIONS PARTIE 2 OBERATIONS SURLES REGISTRES linstruction |Description Indicatours affectés JADDLW Kk | Additionner le contenu du registre W et la valeur immediate "k™ Cast mis AT sity une reense La somme est stockée dans W fasta [ADDWF fd | Additionner le contenu des registres W et fa somme est stockée suivant "@™ Crate sily awe Feenve DDC este A Il a comme de quatee bits de poids fable est > 18 ‘Lest mis Abe lsat ext uh 1=0 le résultat va dans le registre W I= 1 e résultat va dans le registre £ ISUBLW k__ | Soustenire Ia valeur immédinte "K” au contenu du registre W. Catan hvily a wae eae [Lasomme est stockée dans W Dest mis 1 ls me de gee JSUBW fd | Soustraire te contenu du regstre Fdu contenu du regstre W- Costin kT vily ane eae La somme est stockée suivant "d" DC este ease dex quate sid=0 le résultat va dans le registre W sid 1 le résultat va dans le registre f nan [ANDLW Kk [ "ET bit bit entre Te contenu du registre W et Ta valeur immediate "RT LR ETAT TAT TAT Lerésultat est stockée dans W PTET" bitw Bi entre Te contenu des Fegitres W CUT, Le FESUIAT cSt STOGKE suIVaMT A") ZT HIS AT ATE TOOT STENT 1 d=0/e résultat va dans le rogistre W si d= Ile résultat va dans le registre f [ORLW k | "OU" bith bit entree contenu du registre Weta valour immediate "W Tetanat Le résulat est stockée dans W ORWF fd |"OU" bita bit entre le contenu des rogistres W off Le résullal est stocks suivant "a ZUmm aT #1 d= Oe résultat va dans le registre W _ sid= 1 le résultat ya dans le registre f IXORLW k "OU exclusit™ bit a bit entre Te contenu du regisire W et Ia valeur immediate "k" | Zestmis 81 slertralat ew aul Lerésultat ost stockée dans W CORWF fd |"OU exclusit” bit bit entre Te contenu des registres Wet f, Tests ae Fs aad Le résultat est stocké suivant "a" si d= 0 le résultat va dans le registre W si d=1 le résultat va dans lo registre f OPERATIONS SUR LES REGISTRES (suite) linstruction|Description Indicateurs affectés [COME fd | Complémente Te contenu du registre f. Le résaltat est stocké suivant Testa AT Te rev om si d= 0 le résultat va dans le registre W si d=1 le résultat va dans lo registre f [DECK fd _[Décrémente le contenu du registre f Le résultat est tocké suivant "a" Tatas DT ae esata sid=0 le résultat ya dans le registre W sid= Ile résultat va dans le registre [INGE fd |tmerémente le contenu du registre f Le résultat est stoeké suivant ™ Zeta AT ae rial a sid=0 le résultat ya dans le registre W si d= Ile ésultat va dans le registre £ IRLF fd _ [Rotation & gauche du contenu du registre £ Catia Tae BHT ea aT si d=0 le eésultat va dans le registre W side 1 le eésultat va dans le registre f IRRF fd _ Rotation droite du contenu du rogistre f © 7asaret0 Catmind Tae vO Ran AT sid= 0 le résultat va dans le registre W__ sid Ile eésutat va dans le registre £ ISWAPF fd | Echange de quartets entre e contenu du registre [Le résultat et locks suivant na b7b6bSbd b3bzbIbO—> bAbIbIIHO DTHEDSDS 1=0 le résultat va dans le registre W —_sid= 1 le résultat va dans le rogistre £ BCR Eb |Misea 0 dubirb duregistre T BSF Eb [Mise a 1 du bit b du registre F aise CHARGEMENT DE REGISTRE linstructio [Description Indicateurs affects IMOVE fd |Copier le contenu du registre f dans le registre spGeifié suivant "a" Zest AT se conten ds egiaiee Ret lid 0 le résultat va dans le registre W sid 1 le résultat va dans le repistre £| 2° [MOVLW k|Charge la valeur immédiate "k" danse registre W IMOVWF f [Charge le contenu du registre W dansle registre f CLRF f__ |Efiace te contenu duregistre T ZmisaT (CLRW __[Efface te contenu du registre W Zieh [CLRWDT_ |Etface 1c contenu du temporisatcar du du chien de garde (watchdom) TO a YD sont anit INSTRUCTIONS SPECIALES linstructio [Description Indicateurs affectés |NOP [Aucune opération, Cette instruction est utilisé pour passer ua cycle machine [SLEEP [Mise en ville du microcontroleur (Power Down mode) BRANCHEMENT instruction |Description Iindicateurs affectés [GOTO Etiquette [Branchement inconditionnel AV adrese du programme nomnige "Eiiguetie™ IBTFSC Gb [Test dubie"b" du contenu duregstee f Sautd'une instruction s'il est état 1 IBTFSS qb [Test dubie"b” du contenu duregisteeT Saut d'une instruction si est a état 0 [DECKSZ £4 [Décrémentation du contenu du registre fet saut une instruction sile résultat est ‘aul sid=O le résultat va dans lerogistre W__ si d= Ile résultat va dans le registre f [INCFSZ fa Tnerémentation du contenu du registre fet saut d'une instruction si le résultat est nul le résultat va dans le registre W__ si d= Le résultat va dans le registre f [CALL sousprog [Appel du sous programme "sousprog” IRETURN Retour de sous programme apres Padresse dou im été appelé pris le" CALL sousprog") RETLW k ‘Se comporte comme Io "RETURN® aver en plus le contenu du registre W charge par Ia valeur immédiate "k" JRETFIE Retour du programme d'interruption vers le programme interrompu AVendrolt de interruption entrée dans le sous programme d’interruption dévalide de nouveaux appels en interruption et Minstruction RETFIE les revalident

Das könnte Ihnen auch gefallen