instrucciones para programar un microcontrolador

4
Lituma Perero Freddy, Tarea 2, Microcontroladores. Tema 2: Instrucciones del microcontrolador PIC Parte1 Comparación de PIC16F887 datasheet con los datos analizados en clases. Es importante recalcar que el datasheet del PIC es un documento que a más de indicarnos el funcionamiento del microcontrolador presenta otras características importantes acerca del componente tales como características especiales, periféricas y de baja energía las cuales no se tratan con profundidad en clases, en fin el datasheet permite conocer con profundidad al PIC ya que es información proporcionada por el fabricante. Parte2 Instrucciones del microcontrolador 1. ADDWF: Esta instrucción 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 instrucción registro W = 17h valor del registro 15h=0c2h Después de ejecutar la instrucción registro W = 0D9h 2. ANDLW: Permite realizar la operación lógica AND entre un valor constante K y el valor del registro W, cabe indicar que la operación es realizada bit a bit, finalmente el resultado de aplicar AND se almacenará en el registro W. Sintaxis: ANDLW k

Upload: freddy-lituma

Post on 12-Apr-2016

5 views

Category:

Documents


0 download

DESCRIPTION

Ejemplos que ilustran el uso de las instrucciones para programar un pic

TRANSCRIPT

Page 1: Instrucciones para programar un microcontrolador

Lituma Perero Freddy, Tarea 2, Microcontroladores.

Tema 2: Instrucciones del microcontrolador PIC

Parte1

Comparación de PIC16F887 datasheet con los datos analizados en

clases.

Es importante recalcar que el datasheet del PIC es un documento que a más de indicarnos el

funcionamiento del microcontrolador presenta otras características importantes acerca del

componente tales como características especiales, periféricas y de baja energía las cuales no se tratan

con profundidad en clases, en fin el datasheet permite conocer con profundidad al PIC ya que es

información proporcionada por el fabricante.

Parte2

Instrucciones del microcontrolador

1. ADDWF:

Esta instrucción 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 instrucción registro W = 17h valor del registro 15h=0c2h Después de ejecutar la instrucción registro W = 0D9h

2. ANDLW:

Permite realizar la operación lógica AND entre un valor constante K y el valor del registro

W, cabe indicar que la operación es realizada bit a bit, finalmente el resultado de aplicar AND

se almacenará en el registro W.

Sintaxis: ANDLW k

Page 2: Instrucciones para programar un microcontrolador

Ejemplo:

ANDLW b’11100000’ Antes de ejecutar la instrucción registro W = b’10110001’ Después de ejecutar la instrucción registro W = b’10100000’

3. BTFSC:

Evalúa el valor bit b del registro f, si el valor de este bit corresponde a cero el programa

inmediatamente se salta una línea y entonces ejecuta la instrucción en la línea siguiente es

decir en la línea posterior a la que se saltó, por el contrario si el valor del bit b es uno el

programa ejecutará la instrucción siguiente, es decir no hay saltos.

Sintaxis: BTFSC f,b Ejemplo:

line 1 BTFSC regis,0 Line 2 GOTO inicio Line 3 .......... Después de que se ejecuta la instrucción: Si el valor del bit b del registro regis = 0, entonces el programa pasa a la línea 3 y ejecuta lo que se encuentre ahí. Si el valor del bit 0 del registro regis = 1, entonces el programa inmediatamente ejecuta la instrucción de la línea 2.

4. CLRWDT:

Esta instrucción permite reiniciar es decir poner en cero el valor actual del temporizador

interno del microcontrolador Watchdog Timer (perro guardían), para de esta forma evitar

que el PIC se resetee.

Sintaxis: CLRWDT

Ejemplo:

CLRWDT Antes de ejecutar la instrucción: Contador WDT = 11 Después de ejecutar la instrucción: Contador WDT = 00

Page 3: Instrucciones para programar un microcontrolador

5. MOVF:

Esta instrucción 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 instrucción valor del registro W = e’14’, regis = d’31’ Después de ejecutar la instrucción registro W = d’31’

6. RLF:

Esta instrucción 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 instrucción valor del bit carry = 0, regis = 1110 0110, W=? Después de ejecutar la instrucción valor del bit carry = 1, regis = 1110 0110 W = 11001100

7. INCF:

Esta instrucción 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 instrucción regis = d’21’ Después de ejecutar la instrucción regis = d’22’

Page 4: Instrucciones para programar un microcontrolador

8. IORLW:

Esta instrucción permite realizar la operación lógica 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 b’00101101’ Antes de ejecutar la instrucción registro W = b’00101101’ Después de ejecutar la instrucción registro W = b’00101101’

9. CALL:

Esta instrucción permite realizar una llamada a una subrutina que se encuentra localizada

en la posición de memoria identificada por el valor de k.

Sintaxis: CALL k

Ejemplo:

actual CALL rutina Antes de ejecutar la instrucción el contador del programa se encuentra en actual Después de ejecutar la instrucción el contador de programa está en rutina En la pila de memoria se guardará la dirección “actual” para retornar

10. COMF:

Esta instrucción 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 instrucción regis = b’10101101’, W = 00000011 Después de la instrucción regis = b’10101101’, W = b’01010010’