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 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 

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

Sintaxis

ADDLW   k

Codificación

11

111x

kkkk

kkkk

 

 

Palabras, Ciclos

1, 1

Operación

W + k -> W

Bit de estado

C, DC, Z

Descripción

Añade el contenido de W al contenido de k, y almacena el resultado en W

 

Atención: Esta instrucción no existe en los Pic 16c5X

 

 

 

 

 

 

ADDWF

ADD W to F

Sintaxis

ADDWF f, d

Codificación

0001

11df

 

 

ffff

00

0111

dfff

ffff

 

 

 

Palabras, Ciclos

1, 1

Operación

W + f -> f si d=1

 

W + f -> W si d=0 

Bit de estado

C, DC, Z

Descripción

Añade el contenido de W al contenido de f, y almacena el resultado en W si d=0, y en f si d=1

 

 

Volver a la lista

 

 

 

ANDLW

AND Literal and W

Sintaxis

ANDLW k

Codificación

 

1110

kkkk

kkkk

 

11

1001

kkkk

Kkkk

 

 

Palabras, Ciclos

1, 1

Operación

W AND k -> W

Bit de estado

Z

Descripción

Efectúa un AND lógico entre el contenido de W y el literal k, y lo almacena en W

 

 

 

 

 

 

ANDWF

AND W with F

Sintaxis

ANDWF f, d

Codificación

 

0001

01df

ffff

 

00

0101

dfff

ffff

 

 

Palabras, Ciclos

1, 1

Operación

W AND f -> f si d=1

W AND f -> W si d=0 

Bit de estado

Z

Descripción

Efectúa un AND lógico 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

 

 

Volver a la lista

 
   

 

BCF

Bit Clear F

Sintaxis

BCF f, b

Codificación

 

0100

bbbf

ffff

 

01

00bb

bfff

ffff

 
 
 

Palabras, Ciclos

1, 1

Operación

0 -> b(f)

Bit de estado

Ninguno

Descripción

Pone a cero el bit numero b de f

 

 

 

 

 

BSF

Bit Set F

Sintaxis

BSF f, b

Codificación

 

0101

bbbf

ffff

 

01

01bb

bfff

ffff

 
 
 

Palabras, Ciclos

1, 1

Operación

1 -> b(f) 

Bit de estado

Ninguno

Descripción

Pone a uno el bit numero b de f

 

 

Volver a la lista

 
  

BTFSC

Bit Test, Skip If Clear

Sintaxis

BTFSC f, b

Codificación

 

0110

bbbf

ffff

 

01

10bb

bfff

ffff

 
 

 

Palabras, Ciclos

1, 1 o 2

Operación

Salta si b(f)=0

Bit de estado

Ninguno

Descripción

Si el bit numero b de f es nulo, la instrucción que sigue a esta se ignora y se trata como un NOP. En este caso, y solo en este caso, la instrucción BTFSC precisa dos ciclos para ejecutarse.

 

 

 

 

 

BTFSS

Bit Test, Skip If Set

Sintaxis

BTFSS f, b

Codificación

 

0111

bbbf

ffff

 

01

11bb

bfff

ffff

 

Palabras, Ciclos

1, 1 o 2

Operación

Salta si b(f)=1

Bit de estado

Ninguno

Descripción

Si el bit numero b de f esta en uno, la instrucción que sigue a esta se ignora y se trata como un NOP. En este caso, y solo en este caso, la instrucción BTFSC precisa dos ciclos para ejecutarse.

 

 

Volver a la lista

   

 

CALL

Subrutina Call

Sintaxis

CALL k

Codificación

 

1001

kkkk

kkkk

 

10

0kkk

kkkk

kkkk

 

 

Palabras, Ciclos

1, 2

Operación

En el caso de los 16c5X:

 

PC + 1 -> Pila, k -> PC(0-7), 0 -> PC(8), PA2 a PA0 -> PC(9-11) 
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

Descripción

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 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

 

 

 

 

 

 

CLRF

Clear F with F

Sintaxis

CLRF f

Codificación

0000

011f

ffff


 

 

00

0001

1fff

ffff

 

 

Palabras, Ciclos

1, 1

Operación

00 -> f

Bit de estado

Z

Descripción

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

 

 

Volver a la lista

   

 

CLRW

Clear W register

Sintaxis

CLRW

Codificación

 

0000

0100

0000

 

00

0001

0xxx

xxxx

 

 

Palabras, Ciclos

1, 1

Operación

00 -> W

Bit de estado

Z

Descripción

Pone el registro W a cero y activa el bit Z

 

 

 

 

 

 

CLRWDT

Clear Watchdog Timer

Sintaxis

CLRWDT

Codificación

 

0000

0000

0100

 

00

0000

0110

0100

 

 

Palabras, Ciclos

1, 1

Operación

00 -> WDT y 0 -> predivisor del temporizador

Bit de estado

1 -> TO y 1 -> PD

Descripción

Pone a cero el registro contador del temporizador watchdog, asi como el predivisor

 

 

Volver a la lista

   

 

COMF

Complement F

Sintaxis

COMF f, d

Codificación

0010

01df

ffff

 

00

1001

dfff

ffff

 

 

Palabras, Ciclos

1, 1

Operación

~f -> f su d=1

 

~f -> W si d=0

Bit de estado

Z

Descripción

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 varía)

 

 

 

 

 

 

DECF

Decrement F to F

Sintaxis

DECF f, d

Codificación

 

0000

11df

ffff

 

00

0011

dfff

ffff

 

 

Palabras, Ciclos

1, 1

Operación

f - 1 -> f si d=1

 

f - 1 -> W si d=0 

Bit de estado

Z

Descripción

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

 

 

Volver a la lista

   

 

DECFSZ

Decrement F, Skip If Zero

Sintaxis

DECFSZ f, d

Codificación

 

0010

11df

ffff

 

00

1011

dfff

ffff

 

 

Palabras, Ciclos

1, 1(2)

Operación

f - 1 -> f si d=1

 

f - 1 -> W si d=0

Bit de estado

Ninguno

Descripción

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

 

Si el reusltado es nulo, se ignora la siguiente instrucción y en este caso la instrucción dura dos ciclos.

 

 

 

 

 

 

GOTO

Salto Incondicionalwith F

Sintaxis

GOTO k

Codificación

 

101k

kkkk

kkkk

 

10

1kkk

kkkk

kkkk

 

 

Palabras, Ciclos

1, 2

Operación

En el caso de los 16c5X:

 

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

Descripción

LLama a la subrutina situada en la dirección cargada en el PC

 

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

Sintaxis

INCF f, d

Codificación

0010

10df

ffff

 

00

1010

dfff

ffff

 

 

Palabras, Ciclos

1, 1

Operación

f + 1 -> f si d=1

 

f + 1 -> W si d=0

Bit de estado

Z

Descripción

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 varía)

 

 

 

 

 

 

INCFSZ

Increment F, Skip if Zero

Sintaxis

INCFSZ f, d

Codificación

0011

11df

ffff

 

00

1111

dfff

ffff

 

 

Palabras, Ciclos

1, 1(2)

Operación

f + 1 -> f si d=1

 

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

Bit de estado

Ninguno

Descripción

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 instrucción y en este caso, esta instrucción dura dos ciclos

 

 

Volver a la lista

   

 

IORLW

Inclusive OR Literal With W

Sintaxis

IORLW k

Codificación

 

1101

kkkk

kkkk

 

11

1000

kkkk

kkkk

 

 

Palabras, Ciclos

1, 1

Operación

W OR k -> W

Bit de estado

Z

Descripción

Efectúa un OR lógico inclusivo entre el contenido de W y el literal K, y almacena el resultado en W

 

 

 

 

 

 

IORWF

Inclusive OR W With f

Sintaxis

IORWF f, d

Codificación

 

0001

00df

ffff

 

11

0100

dfff

ffff

 

 

Palabras, Ciclos

1, 1

Operación

W OR f -> f si d=1

 

W OR f -> W si d=0

Bit de estado

Z

Descripción

Efectúa un OR lógico 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

 

 

Volver a la lista

   

 

MOVF

Move F

Sintaxis

MOVF f, d

Codificación

0010

00df

ffff

 

00

1000