4ta Clace
Posteado por Raúl Alejandro QL
Continuando con la programación del microcontrolador atmel, veremos las instrucciones aritméticas del microcontrolador, ejemplo de los mismos y algunas aplicaciones.
La mayoría de las instrucciones aritméticas van de la mano con el acumulador "a" o el "b", así por ejemplo la instrucción "add" adiciona el dato al acumulador, ejemplo.
add a,#33h ; a = a + 33h add a,24h ; a = a + M[24] , a +Memoria[24]
también existen sumas con acarreo:
addc a,#33h ; a = a + 33h addc a,24h ; a = a + M[24] a + memoria[24]
Las restas de la misma manera ser realizan con el acumulador, la instrucción es "SUBB", Ejemplo:
subb a,44h ; a = a + M[44] a + memoria[44]
Estos códigos son muy utilizados, son rápidos e incrementan o decrementan en 1, no solo a los acumuladores sino a direcciones de memoria directamente. Ejemplo:
inc a ; a = a + 1 inc 24h ; M[24] + 1 dec b ; b = b - 1 dec 23h ; M[23] = M[23] + 1
La familia de microcontroladores 8051 de atmel posee instrucciones para multiplicación y División en forma directa atravez de los acumuladores "A" y "B".
En la multiplicación, el multiplicando se coloca en el acumulador "A" y el multiplicador se coloca en el acumulador "B", el resultado se presenta en 2 byte, el byte bajo se guarda en al mismo acumulador "A" y el Byte alto se guarda en el acumulador "B".
En la división el dividendo se coloca en el acumulador "A" y el divisor en el acumulador "B" , el resultado se guarda en al mismo acumulador "A" y el residuo en el acumulador "B" .
Aquí unos Ejemplos:
mul ab ; a = multiplicando , b = multiplicador ; ejecutada la instrucción queda así ; a = Resultado[byte bajo] , Resultado[Byte alto] div ab ; a = dividendo , b = divisor ; ejecutada la instrucción queda así ; a = Resultado , b = residuo
Estas instrucciones nos serviran durante el proceso de programación del microcontrolador.
Simulacion