INSTRUCCIÓN SUMA
Continuando con la entrada anterior hablare sobre el PIC16F84 y sobre como realiza las operaciones.
Este PIC puede realizar las operaciones aritméticas de sumar , restar ,incrementar y decrementar un registro ademas de operaciones logicas coomo OR, AND.
La suma se realizara en aritmética binaria pura sin signo y afecta a los flags del STATUS de la siguiente forma:
AL flag Z(ZERO) El bit Z se pone en 1 si el resultado de la operacion es cero(b´00000000) y se pone Z en 0 si el resultado tiene cualquier otro valor.
Al flag C(Carry) Si hay un acarreo del bit 7 , osea que si el resultado es mayor que b´11111111 el bit C se activa a 1 y en caso contrario resulta C = 0.
Al flag DC(Digital Carry). Si hay un acarreo del bit 3 al 4 , osea que la suma de las 2 mitades menos significativa (bits 0 a 3) resulta mayor que 15 , el bit DC se pone a 1 en caso contrario se pone a 0.
Un ejemplo de esto seria asi .
(ESTAS EN DECIMAL)
163
+79
____
242
(ESTAS EN BINARIA)
10100011
+ 01001111
________
11110010
(EN HEXADECIMAL)
A3
4F
____
F2
C DC Z
0 1 0
INSTRUCCIÓN RESTA
La resta se realiza sumando , en binario puro sin signo , el registro "f" mas el complemento a 2 del contenido del registro W. Al realizarse la resta en 8 bits con signo el resultado no podrá exceder de +127 ni de -128.
El flag Carry indica si el resultado es positivo C se pone a 1 o es negativo C se pondrá 0. Aquí pueden ocurrir 3 casos .
Si el resultado es positivo distinto de cero , C= 1 y Z = 0
si el resultado es cero , C = 1 y Z =1
Si el resultado es negativo , C =0 y Z = 0
INCREMENTAR Y DECREMENTAR
El contenido del registro f se incrementa en una unidad y se llama (incf de increment f) , Almacenara el resultado en w si d =0 y en el registro f si d =1. El flag Z se activa a 1 si el resultado de la operación es cero ,es decir si hay desbordamiento al pasar de b´11111111 a b´00000000.
El decremento se escribe asi decf de decrement f , el contenido se decrementara en una unidad , Este almacena el resultado W si d = 0 y en el registro f si d =1. El flag Z se activa a 1 si el resultado de la operación es cero.
INSTRUCCIÓN SLEEP
Esta instrucción es muy útil porque existe muchas ocasiones en las que el microcontrolador deberá de esperar sin hacer nada , esta instrucción se utiliza para ahorrar energía los microcontroladores PIC disponen de la instrucción especial sleep que les pasa al estado de reposo o también llamado bajo consumo.
En este estado el reloj principal se detiene y se detienen sus circuitos asociados , esperando la interrupción ocasionada para despertarlo.
INSTRUCCIONES ÚTILES
Existen muchas instrucciones útiles por ejemplo incrementar un registro en un valor n , osea aumentarlo el valor que deseemos y se utiliza esta instrucción al igual que decrementarla en una valor de n y no solamente en una unidad .
Aumentar en n valor Decrementar en n valor
movlw d'7' movlw '8'
addwf Nombredel registro,F subwf Nombredelregistro,F
Existen muchas otras instrucciones utiles , que quizas pueda incluirlas en otra entrada.
+5 lab integrados
ResponderEliminar