Вы находитесь на странице: 1из 15

Estas son las todas las instrucciones que hay para poder programar el

Pic 16c5x, 16c64, 16c71, 16c74, 16c84, 16f84, 16f873. Las


encontraremos en orden alfabetico.

En total son 37 y haciendo un clic sobre una de ellas podemos acceder


a su respectiva descripción:

NOTA: Las instrucciones OPTION y TRIS incluidas en este listado, no


forman parte del set de instrucciones de los PIC 16f84 y 16f873.

ADDLW CALL
INCF NOP SLEEP
ADDWF CLRF
INCFSZ OPTION SUBLW
ANDLW CLRW
IORLW RETFIE SUBWF
ANDWF CLRWDT
IORWF RETLW SWAPF
BCF COMF
MOVF RETURN TRIS
BSF DECF
MOVLW RLF XORLW
BTFSC DECFSZ
MOVWF RRF XORWF
BTFSS GOTO

ADDLW ADD Literal to W ADDWF ADD W to F


Sintaxis ADDLW k Sintaxis ADDWF f, d
11 111x kkkk kkkk 0001 11df ffff
Codificación
Codificación 00 0111 dfff ffff

Palabras,
1, 1
Ciclos Palabras,
1, 1
Operación W + k -> W Ciclos
Bit de W + f -> f si d=1
C, DC, Z
estado Operación
Añade el contenido
W + f -> W si d=0
de W al contenido
de k, y almacena el Bit de
C, DC, Z
resultado en W estado
Descripción Añade el contenido de
W al contenido de f, y
Atención: Esta Descripción almacena el resultado
instrucción no en W si d=0, y en f si
existe en los Pic d=1
16c5X
Volver a la lista

ANDLW AND Literal and W ANDWF AND W with F


Sintaxis ANDLW k Sintaxis ANDWF f, d

1110 kkkk kkkk 0001 01df ffff


Codificación 11 1001 kkkk Kkkk Codificación 00 0101 dfff ffff

Palabras, Palabras,
1, 1 1, 1
Ciclos Ciclos
Operación W AND k -> W W AND f -> f si d=1
Operación
Bit de W AND f -> W si d=0
Z
estado Bit de
Z
Efectúa un AND estado
lógico entre el Efectúa un AND
Descripción contenido de W y el lógico entre el
literal k, y lo contenido de W y el
almacena en W Descripción contenido de f, y
almacena el
resultado en W si
d=0, y en f si d=1

Volver a la lista

BCF Bit Clear F BSF Bit Set F


Sintaxis BCF f, b Sintaxis BSF f, b

0100 bbbf ffff 0101 bbbf ffff


Codificación 01 00bb bfff ffff Codificación 01 01bb bfff ffff

Palabras, Palabras,
1, 1 1, 1
Ciclos Ciclos
Operación 0 -> b(f) Operación 1 -> b(f)
Bit de Bit de
Ninguno Ninguno
estado estado
Pone a cero el bit Pone a uno el bit
Descripción Descripción
numero b de f numero b de f

Volver a la lista

Bit Test, Skip If BTFSS Bit Test, Skip If Set


BTFSC
Clear Sintaxis BTFSS f, b
Sintaxis BTFSC f, b
0111 bbbf ffff
Codificación
0110 bbbf ffff 01 11bb bfff ffff
Codificación 01 10bb bfff ffff
Palabras,
1, 1 o 2
Ciclos
Operación Salta si b(f)=1
Palabras,
1, 1 o 2 Bit de
Ciclos Ninguno
estado
Operación Salta si b(f)=0
Si el bit numero b
Bit de de f esta en uno, la
Ninguno
estado instrucción que
Si el bit numero b sigue a esta se
de f es nulo, la ignora y se trata
instrucción que Descripción como un NOP. En
sigue a esta se este caso, y solo en
ignora y se trata este caso, la
Descripción como un NOP. En instrucción BTFSC
este caso, y solo en precisa dos ciclos
este caso, la para ejecutarse.
instrucción BTFSC
precisa dos ciclos
para ejecutarse.

Volver a la lista

CALL Subrutina Call CLRF Clear F with F


Sintaxis CALL k Sintaxis CLRF f
Codificación
1001 kkkk kkkk
10 0kkk kkkk kkkk 0000 011f ffff
Codificación
00 0001 1fff ffff
Palabras,
1, 2
Ciclos
En el caso de los Palabras,
1, 1
16c5X: Ciclos
Operación 00 -> f
Bit de
PC + 1 -> Pila, k -> Z
estado
PC(0-7), 0 -> PC(8),
PA2 a PA0 -> PC(9- Pone el contenido
Operación Descripción de f a cero y activa
11)
En el caso de los el bit Z.
16c64, 71, 74, 84:
PC + 1 -> Pila, k ->
PC(0-10),
PCLATH(3,4) ->
PC(11,12)
Bit de
Ninguno
estado
Guarda la dirección
de vuelta en la pila
y despues llama a la
subrutina situada en
la dirección cargada
en el PC.

Atención: El modo
de calculo de la
Descripción
dirección difiere
según la familia PIC
utilizada. También
hay que posicionar
bien PA2, PA1, PA0
(16c5X) o el registro
PCLATH (en los
demas PIC), antes
de ejecutar la
instrucción CALL

Volver a la lista
CLRW Clear W register Clear Watchdog
CLRWDT
Sintaxis CLRW Timer
Sintaxis CLRWDT
0000 0100 0000
Codificación 00 0001 0xxx xxxx 0000 0000 0100
Codificación 00 0000 0110 0100

Palabras,
1, 1
Ciclos Palabras,
1, 1
Operación 00 -> W Ciclos
Bit de 00 -> WDT y 0 ->
Z Operación predivisor del
estado
temporizador
Pone el registro W a
Descripción Bit de
cero y activa el bit Z 1 -> TO y 1 -> PD
estado
Pone a cero el
registro contador del
Descripción temporizador
watchdog, asi como
el predivisor

Volver a la lista

COMF Complement F DECF Decrement F to F


Sintaxis COMF f, d Sintaxis DECF f, d
0010 01df ffff
Codificación 00 1001 dfff ffff 0000 11df ffff
Codificación 00 0011 dfff ffff

Palabras,
1, 1
Ciclos Palabras,
1, 1
~f -> f su d=1 Ciclos
Operación f - 1 -> f si d=1

~f -> W si d=0 Operación


Bit de f - 1 -> W si d=0
Z
estado Bit de
Z
Hace un estado
Descripción
complemento de f
bit a bit. El Decrementa el
resultado lo contenido de f en
almacena de nuevo una unidad. El
Descripción
en f si d=1 (borra el resultado se guarda
anterior), o en W si en W si d=0 (f no
d=0 (f no varía) varia), y en f si d=1

Volver a la lista

Decrement F, Skip Salto


DECFSZ GOTO
If Zero Incondicionalwith F
Sintaxis DECFSZ f, d Sintaxis GOTO k

0010 11df ffff 101k kkkk kkkk


Codificación 00 1011 dfff ffff Codificación 10 1kkk kkkk kkkk

Palabras, Palabras,
1, 1(2) 1, 2
Ciclos Ciclos
f - 1 -> f si d=1 En el caso de los
16c5X:
Operación
f - 1 -> W si d=0
Bit de k -> PC(0-8), PA2
Ninguno PA1, PA0 -> PC(9-
estado Operación
11)
Decrementa el En el caso de los
contenido de f en 16c64,71,74 y 84:
una unidad. El k -> PC(0-10),
resultado se guarda PCLATH(3,4) ->
en W si d=0 (f no PC(11,12)
varia), y en f si d=1
Bit de
Ninguno
Descripción estado
Si el reusltado es LLama a la
nulo, se ignora la subrutina situada en
siguiente la dirección cargada
instrucción y en en el PC
este caso la
Descripción
instrucción dura
dos ciclos. Atención: El modo
de cálculo de la
dirección difiere
según la familia de
PIC utilizada.
También hay que
posicionar
correctamente PA2,
PA1, PA0 (16c5X) o
el registro PCLATH
(en los demas PIC)
antes de ejecutar la
instrucción GOTO

Volver a la lista

INCF Increment F Increment F, Skip


INCFSZ
Sintaxis INCF f, d if Zero
Sintaxis INCFSZ f, d
0010 10df ffff
0011 11df ffff
Codificación 00 1010 dfff ffff
Codificación 00 1111 dfff ffff

Palabras,
1, 1
Ciclos Palabras,
1, 1(2)
f + 1 -> f si d=1 Ciclos
f + 1 -> f si d=1
Operación
f + 1 -> W si d=0
Operación
Bit de f + 1 -> W si d=0
Z En ambos casos:
estado
Salto si f + 1 = 0
Incrementa el
contenido de f en Bit de
Ninguno
una unidad. El estado
resultado se Incrementa el
Descripción
almacena de nuebo contenido de f en
en f si d=1 y en W si una unidad. El
d=0(en este caso f resultado se guarda
no varía) de nuevo en f si
d=1 y en w si d=0
Descripción (en este caso f no
varia). Si el
resultado es nulo,
se ignora la
siguiente
instrucción y en
este caso, esta
instrucción dura
dos ciclos

Volver a la lista

Inclusive OR Literal Inclusive OR W


IORLW IORWF
With W With f
Sintaxis IORLW k Sintaxis IORWF f, d

1101 kkkk kkkk 0001 00df ffff


Codificación 11 1000 kkkk kkkk Codificación 11 0100 dfff ffff

Palabras, Palabras,
1, 1 1, 1
Ciclos Ciclos
Operación W OR k -> W W OR f -> f si d=1
Bit de Operación
Z W OR f -> W si d=0
estado
Efectúa un OR lógico Bit de
Z
inclusivo entre el estado
Descripción contenido de W y el Efectúa un OR
literal K, y almacena lógico inclusivo
el resultado en W entre el contenido
Descripción de W y el contenido
de f, y almacena el
resultado en f si
d=1 o en W si d=0

Volver a la lista

MOVF Move F Move Literal to W


MOVLW
Sintaxis MOVF f, d with F
Sintaxis MOVLW k
0010 00df ffff
Codificación 00 1000 dfff ffff
1100 kkkk kkkk
Codificación 11 00xx kkkk kkkk
Palabras,
1, 1
Ciclos
f -> f si d=1 Palabras,
1, 1
Ciclos
Operación
Operación k -> W
f -> W si d=0
Bit de
Bit de Ninguno
Z estado
estado
Carga W con el
Pone el contenido Descripción
literal k
de f en f si d=1 o f
en W si d=0

Atención: El
desplazamiento de
Descripción
f en f que pareceria
inutil, permite
comprobar el
contenido de f con
respecto a cero ya
que esta instucción
actúa sobre el bit Z

Volver a la lista

MOVWF Move W to F NOP No Operation


Sintaxis MOVWF f Sintaxis NOP
0000 001f ffff
Codificación 00 0000 1fff ffff 0000 0000 0000
Codificación 00 0xx0 0000

Palabras,
1, 1
Ciclos Palabras,
1, 1
Operación W -> f Ciclos
Bit de Operación Ninguna
Ninguno
estado Bit de
Ninguna
Carga f con el estado
Descripción
contenido de W Consume tiempo de
la maquina y ocupa
Descripción un lugar en la
memoria de
programa.
Volver a la lista

Load Option Return From


OPTION RETFIE
Register Interrupt
Sintaxis Option Sintaxis RETFIE
00 0000 0000 1001
0000 0000 0010 Codificación
Codificación 00 0000 0110 0010
Palabras,
1, 2
Ciclos
Palabras, Operación Pila -> PC, 1 -> GIE
1, 1
Ciclos Bit de
Ninguno
Operación W -> OPTION estado
Bit de Carga el PC con el
Ninguno valor que se
estado
encuentra en la
Carga el registro
parte superior de la
OPTION con el
pila, asegurando
contenido de W
asi la vuelta de la
interrupción. Pone
a 1 el bit GIE, con
Atención: Esta
el fin de autorizar
instrucción no debe
de nuevo que se
utilizarse en otros Descripción
tengan en cuenta
circuitos que no sean
Descripción las interrupciones
los PIC 16c5x. Sin
embargo, es
correctamente
Atención: Esta
interpretada por los
interrupción dura
circuitos 16c64, 71,
dos ciclos
74, 84 con el fin de
Esta instrucción no
asegurar una
existe para los PIC
compatibilidad
16c5X
ascendente

Volver a la lista

RETLW Return Literal to W Return from


RETURN
Sintaxis RETLW k Subroutinewith F
Sintaxis RETURN
Codificación
1000 kkkk kkkk 00 0000 0000 0000
11 01xx kkkk kkkk Codificación

Palabras, Palabras,
1, 2 1, 2
Ciclos Ciclos
Operación k -> W, Pila -> PC Operación Pila -> PC
Bit de Bit de
Ninguno Ninguno
estado estado
Carga W con el Carga el PC con el
literal k, y después valor que se
carga el PC con el encuentra en la
valor que se parte superior de la
encuentra en la pila, efectuando asi
parte superior de la una vuelta a la
pila, efectuando asi subrutina. Se trata
Descripción de la instrucción
un retorno de
subrutina Descripción RETLW simplificada

Atención: Esta Atención:Esta


instrucción dura dos instrucción dura dos
ciclos ciclos
Esta instrucción no
existe en los PIC
16c5X

Volver a la lista

Rotate Left F Rotate Right F


RLF RRF
through Carry through Carry
Sintaxis RLF f,d Sintaxis RRF f, d
0011 00df ffff
0011 01df ffff Codificación 00 1100 dfff ffff
Codificación
00 1101 dfff ffff

Palabras, Palabras,
1, 1 1, 1
Ciclos Ciclos
Operación ver descr. Operación Ver descr.
Bit de Bit de
C C
estado estado
Rotación de un bit a Rotación de un bit a
la izquierda del la derecha del
contenido de f, contenido de f,
pasando por el bit pasando por el bit
Descripción de acarreo C. Si d=1 Descripción de acarreo C. Si d=1
el resultado se el resultado se
almacena en f si d=0 introduce en f, si
el resultado se d=0 el resultado se
almancena en W amacena en W

Volver a la lista

SLEEP Sleep Substract W from


SUBLW
Sintaxis SLEEP Literal
Sintaxis SUBLW k
0000 0000 0011 11 110x kkkk kkkk
Codificación 00 0000 0110 0011 Codificación

Palabras,
1, 1
Ciclos
Palabras,
1, 1 Operación k - W -> W
Ciclos
0 -> PD, 1 -> TO, 00 - Bit de
C, DC, Z
Operación > WDT, 0 -> estado
Predivisor del WDT Sustrae el contenido
Bit de de W del literal k, y
PD, TO almacena el
estado
resultado en W. La
Pone el circuito a
sustracción se
dormir con parada
realiza en
del oscilador. Su Descripción
complemento a dos
consumo es inferior.

Atención: Esta
Atención: Use esta
Descripción instrucción no existe
instrucción con
en los Pic 16c5X
mucho cuidado, pues
puede provocar que
el micro no
despierte si no se ha
seteado
correctamente.

Volver a la lista
SUBWF Substract W from F SWAPF Swap F to F
Sintaxis SUBWF f, d Sintaxis SWAPF f, d
0000 10df ffff
Codificación 00 0010 dfff ffff 0011 11df ffff
Codificación
00 1110 dfff ffff
Palabras,
1, 1
Ciclos Palabras,
1, 1
f - W -> f si d=1 Ciclos
Operación f(0-3) -> f(4-7) y f(4-
7) -> f(0-3)
f - W -> W si d=0
Bit de Operación
C, DC, Z Resultado -> f si
estado
d=1
Sustrae el contenido
Resultado -> W si
de W del contenido
d=0
de f, y almacena el
resultado en W si Bit de
Descripción Ninguno
d=0 y en f si d=1. La estado
sustracción se Intercambia los
realiza en cuatro bit de mayor
complemento a dos peso por los cuatro
Descripción de menor peso de f,
y almacena el
resultado en W si
d=0, y en f si d=1

Volver a la lista

TRIS Load TRIS Register Exclusive OR Literal


XORLW
Sintaxis TRIS f With W
Sintaxis XORLW k
0000 0000 0fff
Codificación 00 0000 0110 0fff 1111 kkkk kkkk
Codificación 11 1010 kkkk kkkk

Palabras,
1, 1
Ciclos Palabras,
1, 1
Ciclos
W -> registro TRIS W OR (Exclusivo) k -
Operación Operación
del puerto f >W
Bit de Bit de
Ninguno Z
estado estado
Carga el contenido Efectúa un OR lógico
de W en el registro exclusivo entre el
TRIS del puerto f. contenido de W y el
Descripción
contenido del
Literal K y almacena
Atención: Esta el resultado en W
instrucción no debe
utilizarse en otros
circuitos que no
Descripción
sean los Pic 16c5X.
No obstante, es
correctamente
interpretada por los
circuitos 16c64, 71,
74, 84, con el fin de
asegurar una
compatibilidad
ascendente

Volver a la lista

XORWF Exclusive Or W with F


Sintaxis XORWF f,d
0001 10df ffff
Codificación 00 0110 dfff ffff

Palabras,
1, 1
Ciclos
W OR (Exclusivo) f -> f si d=1
Operación
W OR (Exclusivo) f -> W si d=0
Bit de
Z
estado
By: Alvaro
A. Vera
Descripción
Sch.
Efectúa un Or lógico 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

Вам также может понравиться