Vous êtes sur la page 1sur 12

Master 2 IEA / Microcontrôleurs

III.5. Jeu d’instructions


• Le PIC 16F84 possède un jeu de 35 instructions. Chaque
instruction est codée sur un mot de 14 bits qui contient le
code op et l’opérande.
• La notation adoptée pour les données et adresses
manipulées par les instructions est présentée sous la forme
suivante:
- ADDWF f, d: f indique le registre et d, l’emplacement du
résultat de l’exécution de l’instruction. Exemple: si d=0,
alors le résultat est placé dans le registre W. Si d=1, alors le
résultat est placé dans le registre f.
UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs
26/04/2022 1
Master 2 IEA / Microcontrôleurs

III.5. Jeu d’instructions


- BTFSC f, b: Instruction de test du bit b du registre f (b peut
prendre une valeur de 0 à 7). Si le bit testé vaut 1, alors le
programme se déroule de manière séquentielle. Si le bit testé
vaut 0, alors il y a saut de l’instruction qui suit le BTFSC.

- ADDLW k: k représente une donnée aussi appelée littérale.


L’instruction signifie qu’on ajoute au registre de travail W la
valeur k et on place le résultat dans W.

UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs


26/04/2022 2
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 18 instructions orientées octets


Bits du
Instructions Syntaxes Opérations Cycle
CCR
On ajoute le contenu de W et le
contenu de f et on place le
ADDWF ADDWF f, d C, DC, Z 1
résultat dans f si d=1 ou dans W si
d=0
On effectue un ET logique entre le
contenu de W et le contenu de f,
ANDWF ANDWF f, d Z 1
on place le résultat dans f si d=1
ou dans W si d=0
CLRF CLRF f Le contenu de f est mis à 0 Z 1

CLRW CLRW Le contenu de W est mis à 0 Z 1


UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs
26/04/2022 3
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 18 instructions orientées octets (suite)


Bits du
Instructions Syntaxes Opérations Cycle
CCR
Le contenu de f est complémenté bit à
COMF COMF f, d bit et on place le résultat dans f si d=1 Z 1
ou dans W si d=0
Le contenu de f est décrémenté de de
DECF DECF f, d 1, le résultat est placé dans f si d=1 ou Z 1
dans W si d=0
Le contenu de f est décrémenté de 1,
le résultat est placé dans f si d=1 ou
DECFSZ DECFSZ f, d aucun 1 ou 2
dans W si d=0. Si le résultat est nul, il
y a un saut

UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs


26/04/2022 4
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 18 instructions orientées octets (suite)


Bits du
Instructions Syntaxes Opérations Cycle
CCR
Le contenu de f est incrémenté de 1,
INCF INCF f, d le résultat est placé dans f si d=1 ou Z 1
dans W si d=0
Le contenu de f est incrémenté de 1,
le résultat est placé dans f si d=1 ou
INCFSZ INCFSZ f, d aucun 1 ou 2
dans W si d=0. Si le résultat est nul, il
y a un saut
On effectue un OU entre
le contenu de W et le
IORWF IORWF f, d contenu de f , on place le Z 1
résultat dans f si d=1,
dans W si d=0
UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs
26/04/2022 5
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 18 instructions orientées octets (suite)

Bits du
Instructions Syntaxes Opérations Cycle
CCR
Le contenu de f est déplacé dans f si
MOVF MOVF f, d Z 1
d=1 ou de f dans W si d=0
MOVWF / NOP MOVWF f Le contenu de f est chargé dans W aucun 1

NOP NOP Pas d’opération aucun 1


Effectuer une rotation à gauche de 1
RLF RLF f, d bit du contenu de f en passant par le C 1
bit de retenue C
Effectuer une rotation à droite de 1 bit
RRF RRF f, d du contenu de f en passant par le bit C 1
de retenue C
UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs
26/04/2022 6
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 18 instructions orientées octets (suite)

Bits du
Instructions Syntaxes Opérations Cycle
CCR
On soustrait le contenu de W du
SUBWF SUBWF f, d contenu de f et le résultat est placé C, DC, Z 1
dans f si d=1 ou dans W si d=0
On échange les 4 bits de poids forts
avec les 4 bits de poids faibles, le
SWAPF SWAPF f, d aucun 1
résultat est placé dans f si d=1 ou dans
W si d=0
On effectue un OU exclusif entre W et
XORWF XORWF f, d le contenu de f, le résultat est placé Z 1
dans f si d=1 ou dans W si d=0

UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs


26/04/2022 7
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 4 instructions orientées bits

Bits du
Instructions Syntaxes Opérations Cycle
CCR
BCF BCF f, b On met à 0 le bit b du registre f aucuns 1

BSF BSF f, b On met à 1 le bit b du registre f aucuns 1


On teste le bit b de f, saut
BTFSC BTFSC f, b aucuns 1 ou 2
d’instruction si le résultat est 0
On teste le bit b de f, saut
BTFSS BTFSS f, b aucuns 1 ou 2
d’instruction si le résultat est 1

UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs


26/04/2022 8
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 6 instructions de contrôle

Bits du
Instructions Syntaxes Opérations Cycle
CCR
On ajoute au contenu de W la
ADDLW ADDLW k valeur k et on place le résultat C, DC, Z 1
dans W
On effectue un ET logique entre k
ANDLW ANDLW k et le contenu de W et on place le C, DC, Z 1
résultat dans W
On effectue un OU logique entre
IORLW IORLW k le contenu de W et le littéral k, on Z 1
place le résultat dans W

UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs


26/04/2022 9
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 6 instructions de contrôle

Bits du
Instructions Syntaxes Opérations Cycle
CCR
On charge le contenu de W avec le
MOVLW MOVLW k aucun 1
littéral k
On soustrait le contenu de W du
SUBLW SUBLW k littéral k et on place le résultat C, DC, Z 1
dans W
On effectue un OU Exclusif entre
XORLW XORLW k W et le littéral k et on place le Z 1
résultat dans W

UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs


26/04/2022 10
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 7 instructions de saut et appel de procédures


Bits du
Instructions Syntaxes Opérations Cycle
CCR
On sauvegarde l’adresse de retour
dans la pile, puis on appelle le
CALL CALL label aucun 2
sous programme défini avec
l’étiquette label
Le contenu du timer chien de garde et
CLRWDT CLRWDT TO, PD 1
du pré-diviseur mis à 0
On effectue un saut dans le
programme pour aller à
GOTO GOTO label aucun 2
l’adresse pointée par le label
précisé dans GOTO
UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs
26/04/2022 11
Master 2 IEA / Microcontrôleurs

III.5. Jeu de 7 instructions de saut et appel de procédures

Bits du
Instructions Syntaxes Opérations Cycle
CCR
On charge PC avec la valeur qui se
RETURN RETURN aucun 2
trouve au sommet de la pile
On charge PC avec la valeur qui se
RETFIE RETFIE trouve au sommet de la pile, on aucun 2
fait un retour
On charge W avec le littéral k, on
RETLW RETLW k charge PC avec la valeur qui se Aucun 2
trouve au sommet de la pile
On place le circuit en mode
SLEEP SLEEP TO, PD 1
sommeil avec arrêt d’oscillateur
UN/ENSAI/GEEA/PC2S/Pr. Kamta Martin/Microprocesseurs et Microcontrôleurs
26/04/2022 12

Vous aimerez peut-être aussi