set de instrucciones microcontrolador pic
DESCRIPTION
instrucciones para pic 16f84aTRANSCRIPT
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. ADDLWADDWF ANDLW ANDWF BCF BSF BTFSC BTFSSCALLCLRF CLRW CLRWDT COMF DECF DECFSZ GOTOINCFINCFSZ IORLW IORWF MOVF MOVLW MOVWFNOPOPTION RETFIE RETLW RETURN RLF RRFSLEEPSUBLW SUBWF SWAPF TRIS XORLW XORWF
ADDLWADD Literal to W
SintaxisADDLW k
Codificacin11111xkkkkkkkk
Palabras, Ciclos1, 1
OperacinW + k -> W
Bit de estadoC, DC, Z
DescripcinAade el contenido de W al contenido de k, y almacena el resultado en W Atencin: Esta instruccin no existe en los Pic 16c5X
ADDWFADD W to F
SintaxisADDWF f, d
Codificacin000111dfffff
000111dfffffff
Palabras, Ciclos1, 1
OperacinW + f -> f si d=1 W + f -> W si d=0
Bit de estadoC, DC, Z
DescripcinAade 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
ANDLWAND Literal and W
SintaxisANDLW k
Codificacin
1110kkkkkkkk
111001kkkkKkkk
Palabras, Ciclos1, 1
OperacinW AND k -> W
Bit de estadoZ
DescripcinEfecta un AND lgico entre el contenido de W y el literal k, y lo almacena en W
ANDWFAND W with F
SintaxisANDWF f, d
Codificacin
000101dfffff
000101dfffffff
Palabras, Ciclos1, 1
OperacinW AND f -> f si d=1W AND f -> W si d=0
Bit de estadoZ
DescripcinEfecta 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
Volver a la lista
BCFBit Clear F
SintaxisBCF f, b
Codificacin
0100bbbfffff
0100bbbfffffff
Palabras, Ciclos1, 1
Operacin0 -> b(f)
Bit de estadoNinguno
DescripcinPone a cero el bit numero b de f
BSFBit Set F
SintaxisBSF f, b
Codificacin
0101bbbfffff
0101bbbfffffff
Palabras, Ciclos1, 1
Operacin1 -> b(f)
Bit de estadoNinguno
DescripcinPone a uno el bit numero b de f
Volver a la lista
BTFSCBit Test, Skip If Clear
SintaxisBTFSC f, b
Codificacin
0110bbbfffff
0110bbbfffffff
Palabras, Ciclos1, 1 o 2
OperacinSalta si b(f)=0
Bit de estadoNinguno
DescripcinSi 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.
BTFSSBit Test, Skip If Set
SintaxisBTFSS f, b
Codificacin
0111bbbfffff
0111bbbfffffff
Palabras, Ciclos1, 1 o 2
OperacinSalta si b(f)=1
Bit de estadoNinguno
DescripcinSi 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.
Volver a la lista
CALLSubrutina Call
SintaxisCALL k
Codificacin
1001kkkkkkkk
100kkkkkkkkkkk
Palabras, Ciclos1, 2
OperacinEn 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 estadoNinguno
DescripcinGuarda la direccin de vuelta en la pila y despues llama a la subrutina situada en la direccin cargada en el PC. 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
CLRFClear F with F
SintaxisCLRF f
Codificacin0000011fffff
0000011fffffff
Palabras, Ciclos1, 1
Operacin00 -> f
Bit de estadoZ
DescripcinPone el contenido de f a cero y activa el bit Z.
Volver a la lista
CLRWClear W register
SintaxisCLRW
Codificacin
000001000000
0000010xxxxxxx
Palabras, Ciclos1, 1
Operacin00 -> W
Bit de estadoZ
DescripcinPone el registro W a cero y activa el bit Z
CLRWDTClear Watchdog Timer
SintaxisCLRWDT
Codificacin
000000000100
00000001100100
Palabras, Ciclos1, 1
Operacin00 -> WDT y 0 -> predivisor del temporizador
Bit de estado1 -> TO y 1 -> PD
DescripcinPone a cero el registro contador del temporizador watchdog, asi como el predivisor
Volver a la lista
COMFComplement F
SintaxisCOMF f, d
Codificacin001001dfffff
001001dfffffff
Palabras, Ciclos1, 1
Operacin~f -> f su d=1 ~f -> W si d=0
Bit de estadoZ
DescripcinHace 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)
DECFDecrement F to F
SintaxisDECF f, d
Codificacin
000011dfffff
000011dfffffff
Palabras, Ciclos1, 1
Operacinf - 1 -> f si d=1 f - 1 -> W si d=0
Bit de estadoZ
DescripcinDecrementa 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
DECFSZDecrement F, Skip If Zero
SintaxisDECFSZ f, d
Codificacin
001011dfffff
001011dfffffff
Palabras, Ciclos1, 1(2)
Operacinf - 1 -> f si d=1 f - 1 -> W si d=0
Bit de estadoNinguno
DescripcinDecrementa 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 instruccin y en este caso la instruccin dura dos ciclos.
GOTOSalto Incondicionalwith F
SintaxisGOTO k
Codificacin
101kkkkkkkkk
101kkkkkkkkkkk
Palabras, Ciclos1, 2
OperacinEn 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 estadoNinguno
DescripcinLLama 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
Volver a la lista
INCFIncrement F
SintaxisINCF f, d
Codificacin001010dfffff
001010dfffffff
Palabras, Ciclos1, 1
Operacinf + 1 -> f si d=1 f + 1 -> W si d=0
Bit de estadoZ
DescripcinIncrementa 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)
INCFSZIncrement F, Skip if Zero
SintaxisINCFSZ f, d
Codificacin001111dfffff
001111dfffffff
Palabras, Ciclos1, 1(2)
Operacinf + 1 -> f si d=1 f + 1 -> W si d=0 En ambos casos: Salto si f + 1 = 0
Bit de estadoNinguno
DescripcinIncrementa 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
Volver a la lista
IORLWInclusive OR Literal With W
SintaxisIORLW k
Codificacin
1101kkkkkkkk
111000kkkkkkkk
Palabras, Ciclos1, 1
OperacinW OR k -> W
Bit de estadoZ
DescripcinEfecta un OR lgico inclusivo entre el contenido de W y el literal K, y almacena el resultado en W
IORWFInclusive OR W With f
SintaxisIORWF f, d
Codificacin
000100dfffff
110100dfffffff
Palabras, Ciclos1, 1
OperacinW OR f -> f si d=1W OR f -> W si d=0
Bit de estadoZ
DescripcinEfecta 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
MOVFMove F
SintaxisMOVF f, d
Codificacin001000dfffff
001000dfffffff
Palabras, Ciclos1, 1
Operacinf -> f si d=1 f -> W si d=0
Bit de estadoZ
DescripcinPone el contenido de f en f si d=1 o f en W si d=0 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
MOVLWMove Literal to W with F
SintaxisMOVLW k
Codificacin
1100kkkkkkkk
1100xxkkkkkkkk
Palabras, Ciclos1, 1
Operacink -> W
Bit de estadoNinguno
DescripcinCarga W con el literal k
Volver a la lista
MOVWFMove W to F
SintaxisMOVWF f
Codificacin0000001fffff
0000001fffffff
Palabras, Ciclos1, 1
OperacinW -> f
Bit de estadoNinguno
DescripcinCarga f con el contenido de W
NOPNo Operation
SintaxisNOP
Codificacin
000000000000
000xx00000
Palabras, Ciclos1, 1
OperacinNinguna
Bit de estadoNinguna
DescripcinConsume tiempo de la maquina y ocupa un lugar en la memoria de programa.
Volver a la lista
OPTIONLoad Option Register
SintaxisOption
Codificacin
000000000010
00000001100010
Palabras, Ciclos1, 1
OperacinW -> OPTION
Bit de estadoNinguno
DescripcinCarga el registro OPTION con el contenido de W 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
RETFIEReturn From Interrupt
SintaxisRETFIE
Codificacin00000000001001
Palabras, Ciclos1, 2
OperacinPila -> PC, 1 -> GIE
Bit de estadoNinguno
DescripcinCarga 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
RETLWReturn Literal to W
SintaxisRETLW k
Codificacin
1000kkkkkkkk
1101xxkkkkkkkk
Palabras, Ciclos1, 2
Operacink -> W, Pila -> PC
Bit de estadoNinguno
DescripcinCarga 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
RETURNReturn from Subroutinewith F
SintaxisRETURN
Codificacin00000000000000
Palabras, Ciclos1, 2
OperacinPila -> PC
Bit de estadoNinguno
DescripcinCarga 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
Volver a la lista
RLFRotate Left F through Carry
SintaxisRLF f,d
Codificacin
001101dfffff
001101dfffffff
Palabras, Ciclos1, 1
Operacinver descr.
Bit de estadoC
DescripcinRotacin 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
RRFRotate Right F through Carry
SintaxisRRF f, d
Codificacin001100dfffff
001100dfffffff
Palabras, Ciclos1, 1
OperacinVer descr.
Bit de estadoC
DescripcinRotacin 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
SLEEPSleep
SintaxisSLEEP
Codificacin
000000000011
00000001100011
Palabras, Ciclos1, 1
Operacin0 -> PD, 1 -> TO, 00 -> WDT, 0 -> Predivisor del WDT
Bit de estadoPD, TO
DescripcinPone el circuito a dormir con parada del oscilador. Su consumo es inferior. Atencin: Use esta instruccin con mucho cuidado, pues puede provocar que el micro no despierte si no se ha seteado correctamente.
SUBLWSubstract W from Literal
SintaxisSUBLW k
Codificacin11110xkkkkkkkk
Palabras, Ciclos1, 1
Operacink - W -> W
Bit de estadoC, DC, Z
DescripcinSustrae 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
Volver a la lista
SUBWFSubstract W from F
SintaxisSUBWF f, d
Codificacin000010dfffff
000010dfffffff
Palabras, Ciclos1, 1
Operacinf - W -> f si d=1 f - W -> W si d=0
Bit de estadoC, DC, Z
DescripcinSustrae 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
SWAPFSwap F to F
SintaxisSWAPF f, d
Codificacin
001111dfffff
001110dfffffff
Palabras, Ciclos1, 1
Operacinf(0-3) -> f(4-7) y f(4-7) -> f(0-3) Resultado -> f si d=1 Resultado -> W si d=0
Bit de estadoNinguno
DescripcinIntercambia 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
Volver a la lista
TRISLoad TRIS Register
SintaxisTRIS f
Codificacin
000000000fff
00000001100fff
Palabras, Ciclos1, 1
OperacinW -> registro TRIS del puerto f
Bit de estadoNinguno
DescripcinCarga el contenido de W en el registro TRIS del puerto f. 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
XORLWExclusive OR Literal With W
SintaxisXORLW k
Codificacin
1111kkkkkkkk
111010kkkkkkkk
Palabras, Ciclos1, 1
OperacinW OR (Exclusivo) k -> W
Bit de estadoZ
DescripcinEfecta 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
XORWFExclusive Or W with F
SintaxisXORWF f,d
Codificacin000110dfffff
000110dfffffff
Palabras, Ciclos1, 1
OperacinW OR (Exclusivo) f -> f si d=1 W OR (Exclusivo) f -> W si d=0
Bit de estadoZ
DescripcinEfecta 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=0By: Alvaro A. Vera Sch.