Sunteți pe pagina 1din 19

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 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 11df 0111 ffff dfff ffff

0001 Codificacin 00

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

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

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

ANDLW Sintaxis

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

ANDWF Sintaxis

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

Codificacin

Kkkk

Codificacin

ffff

Palabras, Ciclos Operacin Bit de estado Descripcin

1, 1 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 Operacin

1, 1 W AND f -> f si d=1 W AND f -> W si d=0 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

Bit de estado Z Descripcin

BCF Sintaxis

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

BSF Sintaxis

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

Codificacin

ffff

Codificacin

ffff

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 01 bbbf 10bb ffff bfff

BTFSS Sintaxis

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

Codificacin

ffff

Codificacin

ffff

Palabras, Ciclos Palabras, Ciclos Operacin Bit de estado 1, 1 o 2 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

1, 1 o 2 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.

Descripcin

CALL Sintaxis

Subrutina Call CALL k 1001 10 kkkk 0kkk kkkk kkkk

CLRF Sintaxis

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

Codificacin

kkkk

Codificacin

00

Palabras, Ciclos

1, 2 En el caso de los 16c5X:

Palabras, Ciclos Operacin Bit de estado Descripcin

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

Volver a la lista

CLRW Sintaxis

Clear W register CLRW 0000 00 0100 0001 0000 0xxx

CLRWDT Sintaxis

Clear Watchdog Timer CLRWDT 0000 00 0000 0000 0100 0110

Codificacin

xxxx

Codificacin

0100

Palabras, Ciclos Operacin Bit de estado Descripcin

1, 1 00 -> W Z Pone el registro W a cero y activa el bit Z

Palabras, Ciclos Operacin Bit de estado Descripcin

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

Volver a la lista

COMF Sintaxis

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

DECF Sintaxis

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

Codificacin

Codificacin

ffff

Palabras, Ciclos Operacin

1, 1 ~f -> f su d=1 ~f -> W si d=0

Palabras, Ciclos Operacin

1, 1 f - 1 -> f si d=1 f - 1 -> 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

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

Volver a la lista

DECFSZ

Decrement F, Skip If Zero

GOTO

Salto Incondicionalwith F

Sintaxis

DECFSZ f, d 0010 00 11df 1011 ffff dfff

Sintaxis

GOTO k 101k 10 kkkk 1kkk kkkk kkkk

Codificacin

ffff

Codificacin

kkkk

Palabras, Ciclos Operacin

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

Palabras, Ciclos

1, 2 En el caso de los 16c5X:

Operacin

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 Bit de estado

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

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

Descripcin

Volver a la lista

INCF Sintaxis

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

INCFSZ Sintaxis

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

Codificacin

Codificacin

Palabras, Ciclos Operacin

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

Palabras, Ciclos Operacin Bit de estado

1, 1(2) f + 1 -> f si d=1 f + 1 -> W si En ambos casos: Salto si f + 1 = 0 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 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)

Descripcin

Volver a la lista

IORLW Sintaxis

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

IORWF Sintaxis

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

Codificacin

kkkk

Codificacin

ffff

Palabras, Ciclos Operacin Bit de estado Descripcin

1, 1 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 Operacin

1, 1 W OR f -> f si d=1 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

Volver a la lista

MOVF

Move F

MOVLW

Move Literal to W with F

Sintaxis

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

Sintaxis

MOVLW k 1100 11 kkkk 00xx kkkk kkkk

Codificacin

Codificacin

kkkk

Palabras, Ciclos Operacin

1, 1 f -> f si d=1 f -> W si d=0

Palabras, Ciclos Operacin Bit de estado Descripcin

1, 1 k -> W Ninguno Carga W con el literal k

Bit de estado

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

Volver a la lista

MOVWF

Move W to F

NOP

No Operation

Sintaxis

MOVWF f 0000 00 001f 0000 ffff 1fff ffff

Sintaxis

NOP 0000 00 0000 0xx0 0000 0000

Codificacin

Codificacin

Palabras, Ciclos Operacin Bit de estado Descripcin

1, 1 W -> f Ninguno Carga f con el contenido de W

Palabras, Ciclos Operacin Bit de estado Descripcin

1, 1 Ninguna Ninguna Consume tiempo de la maquina y ocupa un lugar en la memoria de programa.

Volver a la lista

OPTION Sintaxis

Load Option Register Option 0000 00 0000 0000 0010 0110

RETFIE Sintaxis Codificacin 0010 Palabras,

Return From Interrupt RETFIE 00 0000 0000 1001

Codificacin

1, 2

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

Volver a la lista

RETLW Sintaxis Codificacin

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

RETURN Sintaxis Codificacin kkkk

Return from Subroutinewith F RETURN 00 0000 0000 0000

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 Atencin: Esta instruccin dura dos ciclos 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 Atencin:Esta instruccin dura dos ciclos Esta instruccin no existe en los PIC 16c5X

Descripcin

Descripcin

Volver a la lista

RLF Sintaxis

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

RRF Sintaxis

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

Codificacin

ffff

Codificacin

Palabras, Ciclos 1, 1

Palabras, Ciclos 1, 1 Operacin Ver descr.

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

Bit de estado Descripcin

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

Volver a la lista

SLEEP Sintaxis

Sleep SLEEP 0000 00 0000 0000 0011 0110

SUBLW Sintaxis Codificacin 0011

Substract W from Literal SUBLW k 11 110x kkkk kkkk

Codificacin

Palabras, Ciclos 1, 1 Operacin Palabras, Ciclos 1, 1 Operacin Bit de estado Descripcin 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 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 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. Volver a la lista

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

Codificacin

ffff

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

Volver a la lista

TRIS Sintaxis

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

XORLW Sintaxis

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

Codificacin

0fff

Codificacin

kkkk

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

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

Volver a la lista

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 estado

de

Z By: Alvaro A. Vera Sch.

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

S-ar putea să vă placă și