MICROCONTROLADORES

Microcontroladores: Instrucciones de Carga.

No quiero hacer un post  con muchas palabras, debido a que muchas personas no les gusta leer.

En este post hablaremos de las instrucciones de carga las cuales considero son importantes para la programación de microcontroladores de 8 bits (PIC16F84, PIC16F88, PIC16F628A).

La primera instrucción que tenemos es: clrw

Esta instrucción lo que hace es borrar el contenido del registro de trabajo o acumulador “W”

Por ejemplo: si W contiene una combinación de 8 bits que puede ser esta de ejemplo: 11001100, lo que hace la instrucción clrw es borrarla y dejarla de la siguiente forma: 00000000.

gráficamente esto sería lo que haría dicha instrucción.

clrw
Figura 1. Lo que hace clrw Antes y después de pasar por el registro W

Esta instrucción puede ser considerada como aritmética.

Como dato adicional, el flag Z una vez limpia el registro W, se activa en 1, por ende Z=1

este flag se pone en 1  cuando la operación aritmética o lógica da como resultado “0” y está contenido en el registro status del microcontrolador, uno de los más importantes.

INSTRUCCIÓN clrf.

se denota de la siguiente forma:

clrf f

Esta instrucción borra el contenido del registro f

El registro f representa un registro de los bancos de trabajo los cuales van desde 0x00 hasta 0x7F.

Un ejemplo podría ser el siguiente:

clrf  FlagReg

y un ejemplo gráfico podría ser el siguiente:

clrf
Figura 2. Lo que hace clrf Antes y después de pasar por el registro f

INSTRUCCIÓN movlw.

Se denota de la siguiente forma:

movlw k 

Esta instrucción lo que hace es cargar al registro W con el valor de 8 bits de la constante K, para esta instrucción no hay flags afectados del registro status.

Ejemplo: movlw 0x5A

W antes de la instrucción =¿?

W después de la instrucción=0X5A

movlw
Figura 3. movlw antes y después

 

INSTRUCCIÓN movf  f,d

Esta instrucción se encarga de cargar el contenido del registro f en un registro destino dependiendo del valor de “d” si d=0 o d=1.

Si d = 0, el destino es el registro W

si d = 1, el destino es el propio registro f

El flag Z del registro status quedará afectado si el resultado de la operación es cero. 

Ejemplo: movf PORTA,0 ;Esto quiere decir que el contenido de PORTA, será trasladado al registro W.

Recuerde que el destino definido como 0 indica que irá al registro W.

Figura 4. movf PORTA,0

Ejemplo: movf FSR,1 ;Esto quiere decir que el contenido de FSR, será trasladado al mismo registro FSR.

Recuerde que el destino definido como 1 indica que irá al registro f.

Figura 5. movf FSR,1

INSTRUCCIÓN movwf f

Esta instrucción carga el contenido del registro “W” al registro f

Ejemplo: movwf PORTB 

Figura 6. movwf PORTB

CONTENIDOS RELEVANTES.

 

 

 

 

 

soy el administrador del sitio web. si tienes alguna duda, no dudes en contactarme

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *