You are on page 1of 4

Lituma Perero Freddy, Tarea 2, Microcontroladores.

Tema 2: Instrucciones del microcontrolador PIC

Parte1
Comparacin de PIC16F887 datasheet con los datos analizados en
clases.
Es importante recalcar que el datasheet del PIC es un documento que a ms de indicarnos el
funcionamiento del microcontrolador presenta otras caractersticas importantes acerca del
componente tales como caractersticas especiales, perifricas y de baja energa las cuales no se tratan
con profundidad en clases, en fin el datasheet permite conocer con profundidad al PIC ya que es
informacin proporcionada por el fabricante.

Parte2
Instrucciones del microcontrolador
1. ADDWF:
Esta instruccin permite sumar el contenido de un registro f a los datos contenidos en el
registro W, finalmente el valor del bit d nos permite indicar al PIC donde se guardar el
resultado, es decir si el valor de d tiene el valor de 0 el resultado se guarda en el registro
W, pero si d es 1, se guarda en el registro f.
Sintaxis: ADDWF f, d
Ejemplo:
ADDWF 15h,0
Antes de ejecutar la instruccin
registro W = 17h valor del registro 15h=0c2h
Despus de ejecutar la instruccin registro W = 0D9h

2. ANDLW:
Permite realizar la operacin lgica AND entre un valor constante K y el valor del registro
W, cabe indicar que la operacin es realizada bit a bit, finalmente el resultado de aplicar AND
se almacenar en el registro W.
Sintaxis: ANDLW k

Ejemplo:
ANDLW b11100000
Antes de ejecutar la instruccin
registro W = b10110001
Despus de ejecutar la instruccin registro W = b10100000

3. BTFSC:
Evala el valor bit b del registro f, si el valor de este bit corresponde a cero el programa
inmediatamente se salta una lnea y entonces ejecuta la instruccin en la lnea siguiente es
decir en la lnea posterior a la que se salt, por el contrario si el valor del bit b es uno el
programa ejecutar la instruccin siguiente, es decir no hay saltos.
Sintaxis: BTFSC f,b
Ejemplo:

line 1 BTFSC regis,0


Line 2 GOTO inicio
Line 3 ..........
Despus de que se ejecuta la instruccin:
Si el valor del bit b del registro regis = 0, entonces el programa pasa a la lnea 3 y
ejecuta lo que se encuentre ah.
Si el valor del bit 0 del registro regis = 1, entonces el programa inmediatamente
ejecuta la instruccin de la lnea 2.

4. CLRWDT:
Esta instruccin permite reiniciar es decir poner en cero el valor actual del temporizador
interno del microcontrolador Watchdog Timer (perro guardan), para de esta forma evitar
que el PIC se resetee.
Sintaxis: CLRWDT
Ejemplo:
CLRWDT
Antes de ejecutar la instruccin:
Contador WDT = 11
Despus de ejecutar la instruccin: Contador WDT = 00

5. MOVF:
Esta instruccin permite mover el valor contenido en el registro f hacia el registro W, es
decir permite al microcontrolador actualizar el valor del registro W.
Sintaxis: MOVF f
Ejemplo:
MOVF regis,0
Antes de ejecutar la instruccin valor del registro W = e14, regis = d31
Despus de ejecutar la instruccin registro W = d31

6. RLF:
Esta instruccin permite rotar el valor contenido del registro f un bit hacia la izquierda,
usando para el efecto el valor del bit carry (bit de acarreo), el valor del bit d indicar al PIC
en que registro se guardar el resultado, es decir si el valor de d tiene el valor de 0 el resultado
se guarda en el registro W, pero si d es 1, se guarda en el registro f.
Sintaxis: RLF f,d
Ejemplo:
RLF regis,0
Antes de ejecutar la instruccin valor del bit carry = 0, regis = 1110 0110, W=?
Despus de ejecutar la instruccin valor del bit carry = 1, regis = 1110 0110
W = 11001100

7. INCF:
Esta instruccin permite realizar un incremento de uno el contenido del registro f, finalmente
el resultado se almacenar en el registro escogido de acuerdo al valor indicado en bit d. es decir
si el valor de d tiene el valor de 0 el resultado se guarda en el registro W, pero si d es 1,
se guarda en el registro f.
Sintaxis: INCF f,d
Ejemplo:
INCF regis,1
Antes de ejecutar la instruccin regis = d21
Despus de ejecutar la instruccin regis = d22

8. IORLW:
Esta instruccin permite realizar la operacin lgica OR entre el valor contenido del registro
W y un valor constante k, finalmente el resultado se almacenar en el registro W.
Sintaxis: IORLW k
Ejemplo:

IORLW b00101101
Antes de ejecutar la instruccin registro W = b00101101
Despus de ejecutar la instruccin registro W = b00101101

9. CALL:
Esta instruccin permite realizar una llamada a una subrutina que se encuentra localizada
en la posicin de memoria identificada por el valor de k.
Sintaxis: CALL k
Ejemplo:
actual CALL rutina
Antes de ejecutar la instruccin el contador del programa se encuentra en actual
Despus de ejecutar la instruccin el contador de programa est en rutina
En la pila de memoria se guardar la direccin actual para retornar

10. COMF:
Esta instruccin permite complementar el contenido del registro f; esto es modificar el
registro cambiando unos por ceros y ceros por unos. Finalmente el resultado se almacenar
en el registro escogido de acuerdo al valor indicado en el bit d. es decir si el valor de d tiene el
valor de 0 el resultado se guarda en el registro W, pero si d es 1, se guarda en el registro f.
Sintaxis: COMF f,d
Ejemplo:
COMF regis,0
Antes de ejecutar la instruccin regis = b10101101, W = 00000011
Despus de la instruccin regis = b10101101, W = b01010010

You might also like