Beruflich Dokumente
Kultur Dokumente
Les PIC 16F84A, 16F628A, 16F88, 16F876A, 16F886 (famille mid-range) ont le même jeu
d'instructions, constitué de seulement 35 instructions (architecture RISC : Reduced Instruction-
Set Computer).
Une instruction nécessite 1 cycle, ou bien 2 cycles dans le cas d'une instruction de branchement
(GOTO, CALL ...).
Avec une horloge à quartz de 20 MHz, un cycle correspond à 4/(20.106) = 200 nanosecondes.
Le microcontrôleur peut donc exécuter jusqu'à 5 millions d'instructions par seconde (5 MIPS) !
Jeu d'instructions
W : régistre de travail (accumulateur), taille 8 bits
bit du
Mnémonique , registre nombre
Description
opérande STATUS de cycles
affecté
MOVLW k k (8 bits) est chargé dans (W) - 1
ADDLW k Additionne k (8 bits) et (W) et place le C, DC , 1
résultat dans (W) Z
http://fabrice.sincere.pagesperso-orange.fr/cm_electronique/projet_pic/jeu_instruction.htm 1/4
12/29/2018 Jeu d'instructions 16F84A 16F628A 16F88 16F876A 16F886
L : label (étiquette)
bit du
Mnémonique , registre nombre
Description
opérande STATUS de cycles
affecté
GOTO L Branchement à l'adresse L - 2
Appelle un sous-programme
CALL L - 2
(subroutine) situé à l'adresse L
RETURN Retour de sous-programme - 2
Retour de sous-programme, avec
RETLW k chargement de la valeur littérale k (8 - 2
bits) dans (W)
Retour de sous-programme
RETFIE - 2
d'interruption
/TO,
CLRWDT Efface le Watchdog 1
/PD
Place le microcontrôleur en mode /TO,
SLEEP 1
sommeil /PD
b : position du bit (0 à 7)
bit du
Mnémonique , registre nombre
Description
opérande STATUS de cycles
affecté
BCF f , b Mise à 0 du b ème bit du registre f - 1
BSF f , b Mise à 1 du b ème bit du registre f - 1
http://fabrice.sincere.pagesperso-orange.fr/cm_electronique/projet_pic/jeu_instruction.htm 2/4
12/29/2018 Jeu d'instructions 16F84A 16F628A 16F88 16F876A 16F886
bit du
nombre
Mnémonique registre
Description de
, opérande STATUS
cycles
affecté
MOVWF f (W) est chargé dans (f) - 1
MOVF f , d (f) (8 bits) est chargé dans (destination) Z 1
ADDWF f , Additionne le contenu du registre f (8 bits) et C, DC ,
1
d (W), et place le résultat dans (destination) Z
Soustrait (W) de (f) (8 bits) et place le résultat
SUBWF f , dans (destination). C, DC ,
1
d Z
(f) - (W) ->(destination)
ANDWF f , Réalise un ET logique entre (f) (8 bits) et (W),
Z 1
d et place le résultat dans (destination)
Réalise un OU logique (inclusif) entre (f) (8
IORWF f ,
bits) et (W), et place le résultat dans Z 1
d
(destination)
XORWF f , Réalise un OU exclusif entre (f) (8 bits) et
Z 1
d (W), et place le résultat dans (destination)
Réalise le complément logique de (f) (8 bits),
COMF f , d Z 1
et place le résultat dans (destination)
Décrémente (f) et place le résultat dans
DECF f , d (destination). Z 1
(f) - 1 -> (destination)
Décrémente (f) et place le résultat dans
(destination).
DECFSZ f ,
Si le résultat est 0, alors l'instruction suivante - 1 ou 2
d
est ignorée, et une instruction NOP est
exécutée à la place (soit 2 cycles)
INCF f , d Incrémente (f) et place le résultat dans Z 1
http://fabrice.sincere.pagesperso-orange.fr/cm_electronique/projet_pic/jeu_instruction.htm 3/4
12/29/2018 Jeu d'instructions 16F84A 16F628A 16F88 16F876A 16F886
(destination).
RLF f , d C 1
RRF f , d C 1
http://fabrice.sincere.pagesperso-orange.fr/cm_electronique/projet_pic/jeu_instruction.htm 4/4