Está en la página 1de 16

Set de instrucciones Microcontrolador PIC.

Estas son las todas las instrucciones que hay para poder programar el Pic 16c5x, 16c64, 16c71, 16c74, 16c84, 16f84, 16f873. Las encontraremos en orden alfabtico.
En total son 37 y haciendo un clic sobre una de ellas podemos acceder a su respectiva descripcin:
NOTA: Las instrucciones OPTION y TRIS incluidas en este listado, no forman parte del set de instrucciones de los PIC 16f84 y 16f873.
ADDLW
ADDWF
ANDLW
ANDWF
BCF
BSF
BTFSC
BTFSS

CALL
CLRF
CLRW
CLRWDT
COMF
DECF
DECFSZ
GOTO

INCF
INCFSZ
IORLW
IORWF
MOVF
MOVLW
MOVWF

NOP
OPTION
RETFIE
RETLW
RETURN
RLF
RRF

SLEEP
SUBLW
SUBWF
SWAPF
TRIS
XORLW
XORWF

ADDLW

ADD Literal to W

ADDWF

ADD W to F

Sintaxis

ADDLW k

Sintaxis

ADDWF f, d

11

111x

Kkkk

kkkk

Codificacin
Palabras, Ciclos

1, 1

Operacin

W + k -> W

Bit de estado

C, DC, Z
Aade el contenido de W al contenido de k, y
almacena el resultado en W

0001

11df

Codificacin

00

0111

Palabras, Ciclos

1, 1

ffff
dfff

ffff

W + f -> f si d=1
Operacin
W + f -> W si d=0

Descripcin
Atencin: Esta instruccin no existe en los Pic 16c5X

Bit de estado

C, DC, Z

Descripcin

Aade el contenido de W al contenido de f, y almacena el


resultado en W si d=0, y en f si d=1

ANDLW

AND Literal and W

ANDWF

AND W with F

Sintaxis

ANDLW k

Sintaxis

ANDWF f, d

Codificacin

1110
11

Codificacin

0001
00

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operacin

W AND k -> W

Bit de estado

Operacin

W AND f -> f si d=1


W AND f -> W si d=0

Descripcin

Efecta un AND lgico entre el contenido de W y el literal k,


y lo almacena en W

Bit de estado

Descripcin

Efecta un AND lgico entre el contenido de W y el


contenido de f, y almacena el resultado en W si d=0, y en f
si d=1

kkkk
1001

kkkk
kkkk

Kkkk

01df
0101

ffff
dfff

BCF

Bit Clear F

BSF

Bit Set F

Sintaxis

BCF f, b

Sintaxis

BSF f, b

Codificacin

0100
01

Codificacin

0101
01

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operacin

0 -> b(f)

Operacin

1 -> b(f)

Bit de estado

Ninguno

Bit de estado

Ninguno

Descripcin

Pone a cero el bit numero b de f

Descripcin

Pone a uno el bit numero b de f

bbbf
00bb

ffff
bfff

ffff

bbbf
01bb

ffff
bfff

ffff

ffff

BTFSC

Bit Test, Skip If Clear

BTFSS

Bit Test, Skip If Set

Sintaxis

BTFSC f, b

Sintaxis

BTFSS f, b

Codificacin

Codificacin

0110
01

0111
01

Palabras, Ciclos

1, 1 o 2

Operacin

Salta si b(f)=1

Bit de estado

Ninguno

Descripcin

Si el bit numero b de f esta en uno, la instruccin que


sigue a esta se ignora y se trata como un NOP. En este
caso, y solo en este caso, la instruccin BTFSC precisa dos
ciclos para ejecutarse.

Bbbf
10bb

ffff
bfff

ffff

Palabras, Ciclos

1, 1 o 2

Operacin

Salta si b(f)=0

Bit de estado

Ninguno

Descripcin

Si el bit numero b de f es nulo, la instruccin que sigue a


esta se ignora y se trata como un NOP. En este caso, y solo
en este caso, la instruccin BTFSC precisa dos ciclos para
ejecutarse.

CALL

Subrutina Call

CLRF

Clear F with F

Sintaxis

CALL k

Sintaxis

CLRF f

Codificacin

1001
10

Kkkk
0kkk

Palabras, Ciclos

1, 2

Operacin

En el caso de los 16c5X:

kkkk
kkkk

kkkk

PC + 1 -> Pila, k -> PC(0-7), 0 -> PC(8), PA2 a PA0 -> PC(911)

Codificacin

bbbf
11bb

ffff
bfff

0000

011f

ffff

00

0001

1fff

ffff

ffff

Palabras, Ciclos

1, 1

Operacin

00 -> f

Bit de estado

Descripcin

Pone el contenido de f a cero y activa el bit Z.

En el caso de los 16c64, 71, 74, 84: PC + 1 -> Pila, k ->


PC(0-10), PCLATH(3,4) -> PC(11,12)
Bit de estado

Ninguno
Guarda la direccin de vuelta en la pila y despues llama a
la subrutina situada en la direccin cargada en el PC.

Descripcin

Atencin: El modo de calculo de la direccin difiere segn


la familia PIC utilizada. Tambin hay que posicionar bien
PA2, PA1, PA0 (16c5X) o el registro PCLATH (en los demas
PIC), antes de ejecutar la instruccin CALL

CLRW

Clear W register

CLRWDT

Clear Watchdog Timer

Sintaxis

CLRW

Sintaxis

CLRWDT

Codificacin

0000
00

Codificacin

0000
00

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operacin

00 -> W

Operacin

00 -> WDT y 0 -> predivisor del temporizador

Bit de estado

Bit de estado

1 -> TO y 1 -> PD

Descripcin

Pone el registro W a cero y activa el bit Z

Descripcin

Pone a cero el registro contador del temporizador


watchdog, asi como el predivisor

0100
0001

0000
0xxx

xxxx

0000
0000

0100
0110

0100

COMF

Complement F

DECF

Decrement F to F

Sintaxis

COMF f, d

Sintaxis

DECF f, d

Codificacin

0010
00

Codificacin

0000
00

Palabras, Ciclos

1, 1
Palabras, Ciclos

1, 1

01df
1001

ffff
dfff

ffff

~f -> f su d=1

11df
0011

ffff
dfff

ffff

f - 1 -> f si d=1
Operacin
~f -> W si d=0

Operacin
f - 1 -> W si d=0

Bit de estado

Descripcin

Hace un complemento de f bit a bit. El resultado lo


almacena de nuevo en f si d=1 (borra el anterior), o en W
si d=0 (f no vara)

Bit de estado

Descripcin

Decrementa el contenido de f en una unidad. El resultado


se guarda en W si d=0 (f no varia), y en f si d=1

DECFSZ

Decrement F, Skip If Zero

GOTO

Salto Incondicionalwith F

Sintaxis

DECFSZ f, d

Sintaxis

GOTO k

Codificacin

0010
00

Codificacin

101k
10

Palabras, Ciclos

1, 1(2)

Palabras, Ciclos

1, 2

11df
1011

ffff
dfff

ffff

f - 1 -> f si d=1

kkkk
1kkk

kkkk
kkkk

kkkk

En el caso de los 16c5X:

Operacin
f - 1 -> W si d=0
Bit de estado

Operacin

k -> PC(0-8), PA2 PA1, PA0 -> PC(9-11)


En el caso de los 16c64,71,74 y 84:
k -> PC(0-10), PCLATH(3,4) -> PC(11,12)

Bit de estado

Ninguno

Ninguno
Decrementa el contenido de f en una unidad. El resultado
se guarda en W si d=0 (f no varia), y en f si d=1

LLama a la subrutina situada en la direccin cargada en el


PC

Descripcin
Si el reusltado es nulo, se ignora la siguiente instruccin y
en este caso la instruccin dura dos ciclos.
Descripcin

Atencin: El modo de clculo de la direccin difiere segn


la familia de PIC utilizada. Tambin hay que posicionar
correctamente PA2, PA1, PA0 (16c5X) o el registro PCLATH
(en los demas PIC) antes de ejecutar la instruccin GOTO

INCF

Increment F

INCFSZ

Increment F, Skip if Zero

Sintaxis

INCF f, d

Sintaxis

INCFSZ f, d

Codificacin

0010
00

Codificacin

0011
00

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1(2)

10df
1010

ffff
dfff

ffff

f + 1 -> f si d=1
Operacin
f + 1 -> W si d=0
Bit de estado

Descripcin

Incrementa el contenido de f en una unidad. El resultado


se almacena de nuebo en f si d=1 y en W si d=0(en este
caso f no vara)

11df
1111

ffff
dfff

ffff

f + 1 -> f si d=1
Operacin

f + 1 -> W si d=0
En ambos casos: Salto si f + 1 = 0

Bit de estado

Ninguno

Descripcin

Incrementa el contenido de f en una unidad. El resultado


se guarda de nuevo en f si d=1 y en w si d=0 (en este caso f
no varia). Si el resultado es nulo, se ignora la siguiente
instruccin y en este caso, esta instruccin dura dos ciclos

IORLW

Inclusive OR Literal With W

IORWF

Inclusive OR W With f

Sintaxis

IORLW k

Sintaxis

IORWF f, d

Codificacin

1101
11

Codificacin

0001
11

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operacin

W OR k -> W

Bit de estado

Descripcin

Efecta un OR lgico inclusivo entre el contenido de W y el


literal K, y almacena el resultado en W

kkkk
1000

kkkk
kkkk

kkkk

00df
0100

ffff
dfff

ffff

W OR f -> f si d=1
Operacin
W OR f -> W si d=0
Bit de estado

Descripcin

Efecta un OR lgico inclusivo entre el contenido de W y el


contenido de f, y almacena el resultado en f si d=1 o en W
si d=0

MOVF

Move F

Sintaxis

MOVF f, d

Codificacin

0010
00

Palabras, Ciclos

1, 1

00df
1000

ffff
dfff

Operacin
f -> W si d=0
Z
Pone el contenido de f en f si d=1 o f en W si d=0

Descripcin

Move Literal to W with F

Sintaxis

MOVLW k

Codificacin

1100
11

Palabras, Ciclos

1, 1

Operacin

k -> W

Bit de estado

Ninguno

Descripcin

Carga W con el literal k

ffff

f -> f si d=1

Bit de estado

MOVLW

Atencin: El desplazamiento de f en f que pareceria inutil,


permite comprobar el contenido de f con respecto a cero
ya que esta instuccin acta sobre el bit Z

kkkk
00xx

kkkk
kkkk

kkkk

MOVWF

Move W to F

NOP

No Operation

Sintaxis

MOVWF f

Codificacin

0000
00

Sintaxis

NOP

Codificacin

0000
00

Palabras, Ciclos

1, 1

Operacin

W -> f

Palabras, Ciclos

1, 1

Bit de estado

Ninguno

Operacin

Ninguna

Descripcin

Carga f con el contenido de W

Bit de estado

Ninguna

Descripcin

Consume tiempo de la maquina y ocupa un lugar en la


memoria de programa.

001f
0000

ffff
1fff

ffff

0000
0xx0

0000
0000

OPTION

Load Option Register

RETFIE

Return From Interrupt

Sintaxis

Option

Sintaxis

RETFIE

Codificacin

0000
00

00

Palabras, Ciclos

1, 1

Operacin

W -> OPTION

Bit de estado

Ninguno

0000
0000

0010
0110

0000

0000

0010
Palabras, Ciclos

1, 2

Operacin

Pila -> PC, 1 -> GIE

Bit de estado

Ninguno
Carga el PC con el valor que se encuentra en la parte
superior de la pila, asegurando asi la vuelta de la
interrupcin. Pone a 1 el bit GIE, con el fin de autorizar de
nuevo que se tengan en cuenta las interrupciones

Carga el registro OPTION con el contenido de W


Descripcin
Descripcin

1001

Codificacin

Atencin: Esta instruccin no debe utilizarse en otros


circuitos que no sean los PIC 16c5x. Sin embargo, es
correctamente interpretada por los circuitos 16c64, 71, 74,
84 con el fin de asegurar una compatibilidad ascendente

Atencin: Esta interrupcin dura dos ciclos


Esta instruccin no existe para los PIC 16c5X

RETLW

Return Literal to W

RETURN

Return from Subroutinewith F

Sintaxis

RETLW k

Sintaxis

RETURN

Codificacin

1000
11

00
kkkk
01xx

kkkk
kkkk

0000

0000

kkkk
Palabras, Ciclos

1, 2

Palabras, Ciclos

1, 2

Operacin

Pila -> PC

Operacin

k -> W, Pila -> PC

Bit de estado

Ninguno

Bit de estado

Ninguno
Carga W con el literal k, y despus carga el PC con el valor
que se encuentra en la parte superior de la pila, efectuando
asi un retorno de subrutina

Descripcin

Carga el PC con el valor que se encuentra en la parte


superior de la pila, efectuando asi una vuelta a la
subrutina. Se trata de la instruccin RETLW simplificada
Descripcin
Atencin:Esta instruccin dura dos ciclos
Esta instruccin no existe en los PIC 16c5X

Atencin: Esta instruccin dura dos ciclos

RLF

Rotate Left F through Carry

RRF

Rotate Right F through Carry

Sintaxis

RLF f,d

Sintaxis

RRF f, d

Codificacin

0011
00

Codificacin

0011
00

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

ver descr.

Operacin

Ver descr.

Bit de estado

Operacin

01df
1101

ffff
dfff

0000

Codificacin

ffff

00df
1100

ffff
dfff

ffff

Bit de estado

C
Descripcin

Rotacin de un bit a la derecha del contenido de f,


pasando por el bit de acarreo C. Si d=1 el resultado se
introduce en f, si d=0 el resultado se amacena en W

Descripcin

Rotacin de un bit a la izquierda del contenido de f,


pasando por el bit de acarreo C. Si d=1 el resultado se
almacena en f si d=0 el resultado se almancena en W

SLEEP

Sleep

SUBLW

Substract W from Literal

Sintaxis

SLEEP

Sintaxis

SUBLW k

Codificacin

0000
00

11
0000
0000

0011
0110

kkkk

kkkk

0011

Palabras, Ciclos

1, 1

Operacin

0 -> PD, 1 -> TO, 00 -> WDT, 0 -> Predivisor del WDT

Bit de estado

PD, TO
Pone el circuito a dormir con parada del oscilador. Su
consumo es inferior.

Descripcin

110x

Codificacin
Palabras, Ciclos

1, 1

Operacin

k - W -> W

Bit de estado

C, DC, Z
Sustrae el contenido de W del literal k, y almacena el
resultado en W. La sustraccin se realiza en complemento a
dos

Descripcin
Atencin: Esta instruccin no existe en los Pic 16c5X

Atencin: Use esta instruccin con mucho cuidado, pues


puede provocar que el micro no despierte si no se ha
seteado correctamente.

SUBWF

Substract W from F

Sintaxis

SUBWF f, d

Codificacin

0000
00

Palabras, Ciclos

1, 1

10df
0010

ffff
dfff

ffff

f - W -> f si d=1

SWAPF

Swap F to F

Sintaxis

SWAPF f, d

Codificacin

0011
00

Palabras, Ciclos

1, 1

11df
1110

ffff
dfff

ffff

f(0-3) -> f(4-7) y f(4-7) -> f(0-3)


Operacin
f - W -> W si d=0
Bit de estado

C, DC, Z

Descripcin

Sustrae el contenido de W del contenido de f, y almacena


el resultado en W si d=0 y en f si d=1. La sustraccin se
realiza en complemento a dos

Operacin

Resultado -> f si d=1


Resultado -> W si d=0

Bit de estado

Ninguno

Descripcin

Intercambia los cuatro bit de mayor peso por los cuatro de


menor peso de f, y almacena el resultado en W si d=0, y en
f si d=1

TRIS

Load TRIS Register

XORLW

Exclusive OR Literal With W

Sintaxis

TRIS f

Sintaxis

XORLW k

Codificacin

0000
00

Codificacin

1111
11

Palabras, Ciclos

1, 1

Palabras, Ciclos

1, 1

Operacin

W -> registro TRIS del puerto f

Operacin

W OR (Exclusivo) k -> W

Bit de estado

Ninguno

Bit de estado

Descripcin

Efecta un OR lgico exclusivo entre el contenido de W y el


contenido del Literal K y almacena el resultado en W

0000
0000

0fff
0110

0fff

Carga el contenido de W en el registro TRIS del puerto f.

Descripcin

Atencin: Esta instruccin no debe utilizarse en otros


circuitos que no sean los Pic 16c5X. No obstante, es
correctamente interpretada por los circuitos 16c64, 71, 74,
84, con el fin de asegurar una compatibilidad ascendente

kkkk
1010

kkkk
kkkk

kkkk

XORWF

Exclusive Or W with F

Sintaxis

XORWF f,d

Codificacin

0001
00

10df
0110

ffff
dfff

Ffff

Palabras, Ciclos 1, 1
W OR (Exclusivo) f -> f si d=1
Operacin
W OR (Exclusivo) f -> W si d=0
Bit de estado

Descripcin
Efecta un Or lgico exclusivo entre el contenido de W y el
contenido de f y almacena el resultado en f si d=1 o en W si
d=0

También podría gustarte