instrucciones pic 16f877
PIC16F877
Instrucciones para programar el PIC16F877
2
Instrucciones para programar el PIC16F877
Estos microcontroladores responden a una serie de instrucciones o códigos que se deben grabar en
su memoria de programa, en total son 35. A continuación se encuentra una tabla con la lista
completa y después una descripción de cada una de ellas con elfin de facilitar su aprendizaje.
Si d = 0 el resultado de la operación se almacena en el registro W
Si d = 1 el resultado se almacena en el registro utilizado
Operaciones orientadas a registros
Nemotécnico
Operación
ADDWF
ANDWF
CLRF
CLRW
COMF
DECF
DECFSZ
f,d
f,d
f
f,d
f,d
f,d
INCF
f,d
INCFSZ f,d
IORWF f,d
MOVF
f,d
MOVWF f
NOP
RLF
f,d
RRF
f,d
SUBWF f,d
SWAPFf,d
XORWF f,d
Sumar W y f
AND entre W y f
Limpiar f
Limpiar w
Complementar f
Decrementar f
Decrementar f,
saltar si cero
Incrementar f
Incrementar f,
saltar si cero
OR entre W y f
Mover f
Mover W a f
No operación
Rotar a la izquierda a
través del carry
Rotar a la derecha a
través del carry
Restar W de f
Intercambiar nibbles de f
OR exclusiva entre W y f
Cód. de operación(14 bits)
00
00
00
00
00
00
0111
0101
0001
0001
1001
0011
dfff
ffff
dfff
ffff
1fff
ffff
0XXX XXXX
dfff
ffff
dfff
ffff
00 1011 dfff
00 1010 dfff
00
00
00
00
00
1111
0100
1000
0000
0000
ffff
ffff
dfff
ffff
dfff
ffff
dfff
ffff
1fff
ffff
0XX0 0000
00 1101 dfff
ffff
00
00
00
00
dfff
dfff
dfff
dfff
ffff
ffff
ffff
ffff01 00bb bfff
01 01bb bfff
Z
Z
Z
C
ffff
01 11bb bfff
C,DC,Z
Z
Z
Z
Z
Z
ffff
ffff
01 10bb bfff
Estados
afectados
ffff
1100
0010
1110
0110
C
C,DC,Z
Z
Operaciones orientadas a bits
BCF
f,b
BSF
f,b
BTFSC f,b
BTFSS
f,b
Limpiar bit b de f
Activar bit b de f
Probar bit b de f,
saltar si es cero
Probar bit b de f,
saltar si es unoOperaciones con constantes y de control
ADDLW k
ANDLW k
CALL
k
CLRWDT
GOTO k
IORLW k
MOVLW k
RETFIE
RETLW k
RETURN
SLEEP
SUBLW k
XORLW k
Sumar literal k a W
AND entre k y W
Llamar subrutina
Limpiar WDT
Salta a dirección k
OR entre k y W
Cargar a W con literal k
Retornar de interrupción
Retornar y cargar a W con k
Retornar de subrutina
Ir al modo de bajo consumo
Restarle k a WOR exclusiva entre k y W
11
11
10
00
10
11
11
00
11
00
00
11
11
111X kkkk
1001 kkkk
0kkk kkkk
0000 0110
1kkk kkkk
1000 kkkk
00XX kkkk
0000 0000
01XX kkkk
0000 0000
0000 0110
110X kkkk
1010 kkkk
kkkk
kkkk
kkkk
0100
kkkk
kkkk
kkkk
1001
kkkk
1000
0011
kkkk
kkkk
C,DC,Z
Z
T0,PD
Z
T0,PD
C,DC,Z
Z
3
Instrucciones para programar el PIC16F877Instrucción ADDLW:
Suma un valor constante k al contenido del registro W, el resultado
se guarda en el registro W.
Sintaxis:
ADDLW k
Operación:
(W) + k
Ciclos de instrucción:
1
Bits del registro de estados que se afectan: C, DC, Z
Ejemplo :
ADDLW
d’15’
Antes de la instrucción
Después de la instrucción
Instrucción ADDWF:
registro W = d’10’
registro W = d’25’
Suma elcontenido de un registro f al contenido del registro W, el
resultado se guarda en el registro escogido según el valor del bit d.
Sintaxis:
ADDWF f,d
Operación:
(W) + (f)
Ciclos de instrucción:
1
Bits del registro de estados que se afectan: C, DC, Z
Ejemplo:
ADDWF 15h,0
Antes de la instrucción
Después de la instrucción
Instrucción ANDLW:
registro W = 17h
registro W = 0D9hregistro 15h = 0C2h
registro 15h = 0C2h
Operación lógica AND entre una constante k y el registro W, la
operación se hace bit a bit, el resultado queda en el registro W.
Sintaxis :
ANDLW k
Operación :
(W) AND (k)
Ciclos de instrucción :
1
Bits del registro de estados que se afectan: Z
Ejemplo:
ANDLW b’10101010’
Antes de la instrucción
Después de la instrucción
registro W =...
Regístrate para leer el documento completo.