MICROCONTROLADORES

PIC16F628A:Instrucciones de suma.

El microcontrolador PIC16F628A puede realizar operaciones aritméticas tales como: sumar, restar,incrementar o decrementar un registro.

En este post, nos enfocaremos en trabajar dos instrucciones de suma que son: addlw k y addwf f,d

INSTRUCCIÓN addlw k

Esta instrucción se encarga de sumar el contenido del registro “W” con el literal o el valor constante “k”, este resultado es almacenado en el acumulador o registro “W”. Si por alguna razón se produce un acarreo, el flag C del registro status, automáticamente se pone a “1”

Ejemplo:  addlw 0x4F

Si por ejemplo, el registro W contiene el valor 0xA3, se suman de la siguiente forma:

(W)+K= W

Se hace de la siguiente forma: 

0xA3+0x4F=0xF2 

El resultado 0XF2 será almacenado en el registro W

Como no hay acarreo, el flag C del registro status se pone en cero “0”

Ejemplo:  addlw 0x38

Si por ejemplo, el registro W contiene el valor 0xD1, se suman de la siguiente forma:

(W)+K= W

Se hace de la siguiente forma: 

0xD1+0x38=0x09

El resultado 0X09 será almacenado en el registro W

Como hay acarreo, el flag C del registro status se pone en cero “1”

 

INSTRUCCIÓN addwf f,d

Esta instrucció se encarga de sumar el contenido del registro W al contenido del registro f. Este resultado será almacenado en W si el destino “d” es igual a cero o f si el destino “d” es igual a uno. 

Al igual que en la instrucción anterior, se producirá acarreo si el flag C del registro status se pone a “1”

Ejemplo:  addwf PORTA, 0

suponiendo que W contiene a 0x17 y portA contiene a 0xC2

la suma entre ellos da 0xD9 y será almacenada en W, para este caso no existe acarreo por lo cual el C=0.

Ejemplo:  addwf contador, 1

suponiendo que W contiene a 0xD1 y contador contiene a 0x38

la suma entre ellos da 0x109 y será almacenada en f, para este caso existe acarreo por lo cual el C=1.

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 *