Está en la página 1de 7

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 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 Sintaxis Codificacin Palabras, Ciclos Operacin Bit de estado

ADD Literal to W ADDLW k 11 111x kkkk kkkk

ADDWF Sintaxis

ADD W to F ADDWF f, d 0001 11df 0111 dfff ffff ffff 00

Codificacin 1, 1 W + k -> W C, DC, Z Aade el contenido de W al contenido de k, y almacena el resultado en W Operacin

Palabras, Ciclos 1, 1 W + f -> f si d=1

W + f -> W si d=0 Bit de estado C, DC, Z Aade el contenido de W al contenido de f, y almacena el resultado en W si d=0, y en f si d=1

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

Descripcin

ANDLW Sintaxis

AND Literal and W ANDLW k 1110 kkkk 1001 kkkk kkkk Kkkk

ANDWF Sintaxis

AND W with F ANDWF f, d 0001 01df 0101 ffff dfff ffff

Codificacin

11

Codificacin

00

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin W AND k -> W Z Efecta un AND lgico entre el contenido de W y el literal k, y lo almacena en W

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin W AND f -> f si d=1 W AND f -> W si d=0 Z 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

BCF Sintaxis

Bit Clear F BCF f, b 0100 bbbf 00bb ffff bfff ffff

BSF Sintaxis

Bit Set F BSF f, b 0101 bbbf 01bb ffff bfff ffff

Codificacin

01

Codificacin

01

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin 0 -> b(f) Ninguno Pone a cero el bit numero b de f

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin 1 -> b(f) Ninguno Pone a uno el bit numero b de f

BTFSC Sintaxis

Bit Test, Skip If Clear BTFSC f, b 0110 bbbf 10bb ffff bfff ffff

BTFSS Sintaxis

Bit Test, Skip If Set BTFSS f, b 0111 01 bbbf 11bb ffff bfff ffff

Codificacin

01

Codificacin

Palabras, Ciclos 1, 1 o 2 Palabras, Ciclos 1, 1 o 2 Operacin Bit de estado Descripcin Salta si b(f)=0 Ninguno 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. Descripcin Operacin Bit de estado Salta si b(f)=1 Ninguno 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.

CALL Sintaxis

Subrutina Call CALL k 1001 kkkk 0kkk kkkk kkkk kkkk

CLRF Sintaxis

Clear F with F CLRF f 0000 011f 0001 ffff 1fff ffff

Codificacin

10

Codificacin

00

Palabras, Ciclos 1, 2 En el caso de los 16c5X:

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin 00 -> f Z Pone el contenido de f a cero y activa el bit Z.

Operacin

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) Ninguno Guarda la direccin de vuelta en la pila y despues llama a la subrutina situada en la direccin cargada en el PC.

Bit de estado

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 Sintaxis

Clear W register CLRW 0000 0100 0001 0000 0xxx xxxx

CLRWDT Sintaxis

Clear Watchdog Timer CLRWDT 0000 0000 0000 0100 0110 0100

Codificacin

00

Codificacin

00

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin 00 -> W Z Pone el registro W a cero y activa el bit Z

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin 00 -> WDT y 0 -> predivisor del temporizador 1 -> TO y 1 -> PD Pone a cero el registro contador del temporizador watchdog, asi como el predivisor

COMF Sintaxis

Complement F COMF f, d 0010 01df 1001 ffff dfff ffff 00

DECF Sintaxis

Decrement F to F DECF f, d 0000 11df 0011 ffff dfff ffff

Codificacin

Codificacin

00

Palabras, Ciclos 1, 1 ~f -> f su d=1 Operacin ~f -> W si d=0 Bit de estado Descripcin Z 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 Operacin f - 1 -> W si d=0 Z 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 Palabras, Ciclos 1, 1 f - 1 -> f si d=1

DECFSZ Sintaxis

Decrement F, Skip If Zero DECFSZ f, d 0010 11df 1011 ffff dfff ffff

GOTO Sintaxis

Salto Incondicionalwith F GOTO k 101k kkkk 1kkk kkkk kkkk kkkk

Codificacin

00

Codificacin

10

Palabras, Ciclos 1, 1(2) f - 1 -> f si d=1 Operacin f - 1 -> W si d=0 Bit de estado 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 Descripcin Si el reusltado es nulo, se ignora la siguiente instruccin y en este caso la instruccin dura dos ciclos.

Palabras, Ciclos 1, 2 En el caso de los 16c5X: 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) Ninguno LLama a la subrutina situada en la direccin cargada en el PC

Bit de estado

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 Sintaxis

Increment F INCF f, d 0010 10df 1010 ffff dfff ffff 00

INCFSZ Sintaxis

Increment F, Skip if Zero INCFSZ f, d 0011 11df 1111 ffff dfff ffff 00

Codificacin

Codificacin

Palabras, Ciclos 1, 1 f + 1 -> f si d=1 Operacin f + 1 -> W si d=0 Bit de estado Descripcin Z 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)

Palabras, Ciclos 1, 1(2) 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 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

Descripcin

IORLW Sintaxis

Inclusive OR Literal With W IORLW k 1101 kkkk 1000 kkkk kkkk kkkk

IORWF Sintaxis

Inclusive OR W With f IORWF f, d 0001 00df 0100 ffff dfff ffff

Codificacin

11

Codificacin

11

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin W OR k -> W Z Efecta un OR lgico inclusivo entre el contenido de W y el literal K, y almacena el resultado en W

Palabras, Ciclos 1, 1 W OR f -> f si d=1 Operacin W OR f -> W si d=0 Bit de estado Descripcin Z 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 Sintaxis

Move F MOVF f, d 0010 00df 1000 ffff dfff ffff 00

MOVLW Sintaxis

Move Literal to W with F MOVLW k 1100 kkkk 00xx kkkk kkkk kkkk

Codificacin

Codificacin

11

Palabras, Ciclos 1, 1 Operacin Bit de estado f -> f si d=1 f -> W si d=0 Z Pone el contenido de f en f si d=1 o f en W si d=0 Descripcin 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 Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin k -> W Ninguno Carga W con el literal k

MOVWF Sintaxis

Move W to F MOVWF f 0000 001f 0000 ffff 1fff ffff 00

NOP Sintaxis

No Operation NOP 0000 0000 0xx0 0000 0000

Codificacin

Codificacin

00

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin W -> f Ninguno Carga f con el contenido de W Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin Ninguna Ninguna Consume tiempo de la maquina y ocupa un lugar en la memoria de programa.

OPTION Sintaxis

Load Option Register Option 0000 0000 0000 0010 0110 0010

RETFIE Sintaxis Codificacin

Return From Interrupt RETFIE 00 0000 0000 1001

Codificacin

00

Palabras, Ciclos 1, 2 Operacin Palabras, Ciclos 1, 1 Operacin Bit de estado W -> OPTION Ninguno Carga el registro OPTION con el contenido de W Descripcin Descripcin 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 Bit de estado Pila -> PC, 1 -> GIE 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

Atencin: Esta interrupcin dura dos ciclos Esta instruccin no existe para los PIC 16c5X

RETLW Sintaxis

Return Literal to W RETLW k 1000 11 kkkk 01xx kkkk kkkk kkkk

RETURN Sintaxis Codificacin

Return from Subroutinewith F RETURN 00 0000 0000 0000

Codificacin

Palabras, Ciclos 1, 2 Palabras, Ciclos 1, 2 Operacin Bit de estado k -> W, Pila -> PC 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 Operacin Bit de estado Pila -> PC Ninguno 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

Descripcin

Atencin: Esta instruccin dura dos ciclos

Atencin:Esta instruccin dura dos ciclos Esta instruccin no existe en los PIC 16c5X

RLF Sintaxis

Rotate Left F through Carry RLF f,d 0011 00 01df 1101 ffff dfff ffff

RRF Sintaxis

Rotate Right F through Carry RRF f, d 0011 00df 1100 ffff dfff ffff 00

Codificacin

Codificacin

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin ver descr. C 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

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin Ver descr. C 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

SLEEP Sintaxis

Sleep SLEEP 0000 0000 0000 0011 0110 0011

SUBLW Sintaxis Codificacin

Substract W from Literal SUBLW k 11 110x kkkk kkkk

Codificacin

00

Palabras, Ciclos 1, 1 Operacin Palabras, Ciclos 1, 1 Operacin Bit de estado 0 -> PD, 1 -> TO, 00 -> WDT, 0 -> Predivisor del WDT PD, TO Pone el circuito a dormir con parada del oscilador. Su consumo es inferior. Descripcin Atencin: Use esta instruccin con mucho cuidado, pues puede provocar que el micro no despierte si no se ha seteado correctamente. Descripcin Atencin: Esta instruccin no existe en los Pic 16c5X Bit de estado k - W -> W 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

SUBWF Sintaxis Codificacin

Substract W from F SUBWF f, d 0000 00 10df 0010 ffff dfff ffff

SWAPF Sintaxis

Swap F to F SWAPF f, d 0011 00 11df 1110 ffff dfff ffff

Codificacin

Palabras, Ciclos 1, 1 f - W -> f si d=1 Operacin f - W -> W si d=0 Bit de estado Descripcin C, DC, Z 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 Bit de estado Descripcin Operacin Resultado -> f si d=1 Resultado -> W si d=0 Ninguno 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 Palabras, Ciclos 1, 1 f(0-3) -> f(4-7) y f(4-7) -> f(0-3)

TRIS Sintaxis

Load TRIS Register TRIS f 0000 0000 0000 0fff 0110 0fff

XORLW Sintaxis

Exclusive OR Literal With W XORLW k 1111 kkkk 1010 kkkk kkkk kkkk

Codificacin

00

Codificacin

11

Palabras, Ciclos 1, 1 Operacin Bit de estado W -> registro TRIS del puerto f Ninguno Carga el contenido de W en el registro TRIS del puerto f.

Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin W OR (Exclusivo) k -> W Z Efecta un OR lgico exclusivo entre el contenido de W y el contenido del Literal K y almacena el resultado en W

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

XORWF Sintaxis

Exclusive Or W with F XORWF f,d 10df 0110 ffff dfff ffff

0001 Codificacin 00 Palabras, Ciclos Operacin

1, 1 W OR (Exclusivo) f -> f si d=1 W OR (Exclusivo) f -> W si d=0

Bit de estado

Z By: Alvaro

A. Vera Descripcin Sch. 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