domingo, 12 de marzo de 2017

Análisis y diseño de programas en ensamblador para PIC ( PARTE 3 )



Hola, sean bienvenidos nuevamente a los tutoriales de Artes Electrónicas Pachani, vamos a continuar con la serie de tutoriales para los microcontroladores PIC, como siempre este tutorial está dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.
Programando Operaciones Básicas en PIC (parte 1)

Figura 4.1.- Las herramientas para programar.

Ya en el anterior tutorial hablamos acerca de que software íbamos a utilizar y el modo como realizaremos nuestros proyectos. Ahora comencemos describiendo las características de las instrucciones en función de las operaciones mas comunes dentro del diseño de aplicaciones para nuestro programa.
4.1.- Instrucciones de Carga
    Ésta es una de las instrucciones básicas de transferencia de datos entre los registros RAM y el registro de trabajo W, en todas sus variantes. Se transfieren datos desde una fuente hacia el registro de direcciones (f) por medio de un selector de destino (d):
Cuando d=0, se carga al registro de trabajo (W).
Cuando d=1, se carga al registro de direcciones (f).
    La fuente puede también ser una constante, cuyo valor (k) es de 8 bits (bit 7.0), que podemos cargar al registro de trabajo (W). También podemos realizar una instrucción de borrado, pues carga el valor 0x00 a (W) o (f) se puede borrar el contenido de los mismos. Las instrucciones de carga son las siguientes :

3.2.-Instrucciones Aritméticas
   Las operaciones aritméticas básicas que podemos realizar en ensamblador son: sumar, restar, incrementar y decremento.
i).- Suma o adición:
   Aquí vamos a realizar un análisis y comparación entre lo que nos han enseñado en colegio en cuanto a la operación de la suma y la suma hexadecimal. Como el microprocesador lo interpreta.
Ejemplo 1: Tenemos la suma de dos números (200 + 29) calcular su valor:
Analizando las operaciones tanto en decimal , binario y hexadecimal tenemos lo siguiente:
La operación es menor que 255. No hay C (Carry) la suma fue menor que 255d o FFh o b“1111 1111”; sin embargo, sí hay DC (Digit-Carry) del bit 3 al 4, al sumar los nibble LSB 8h+Dh=15h. No hay bandera Z (Zero), pues el resultado no es 0.
La operación es mayor que 255. Si hay C (Carry) la suma fue mayor que 255d o FFh o b“1111 1111”,
1111” no hay DC (Digit-Carry). No hay bandera Z (Zero), pues el resultado no es 0. Con estos dos ejemplos se nota cómo funciona el acarreo (C) y acarreo de dígito (DC). A continuación damos las dos instrucciones de suma en código ensamblador:
  ii).- Resta / sustracción :
Tal cual resta en los microprocesadores no existe, los microprocesadores solo saben sumar y realizar operaciones lógicas, entonces como vamos a resolver esto, pues por medio del complemento a dos el
sustraendo y sumarlo al minuendo; así obtenemos la diferencia. (Complementar a dos es igual que hallar el negativo del número) veamos esto con un ejemplo:
Ejemplo 1: Tenemos la resta de dos números en hexadecimal:
    Conviene anotar que al realizar la resta de 8 bits puede haber tres casos, dependiendo del resultado, así:
  • Positivo mayor que cero C = 1 y Z = 0.
  • Positivo igual a cero C = 1 y Z = 1.
  • Negativo menor que cero C = 0 y Z = 0.
Ahora en ensamblador la resta sera de las siguientes dos instrucciones:

iii).- Incrementos y decrementos
Dentro del conjunto de operaciones aritméticas para los PIC hay los incrementos y los decrementos en una unidad.
Como habrán notado los modos de tratar el dato como las operaciones básicas en ensamblador son un tema sencillo pero complejo, en la siguiente parte de estos tutoriales nos dedicaremos a los otros tipo de operaciones con el microcontrolador , subiré la información pronto así que a estudiar y espero les sea de utilidad esta información para iniciar con este estudio de programación en ensamblador.

Todo el material que aquí se encuentra es de mi autoría, ademas de una recopilación de información de Internet de recursos que se pueden descargar como libros los cuales son usados como referencia para los ejercicios y los ejemplos. Cualquier consulta la puedes realizar en la parte de comentarios.

Bibliografia:
1.- Enrique Palacios , Fernando Ramiro y Lucas J. López, Microcontrolador PIC16F84 Editorial Alfa Omega; Publicado el año 2004;[Fecha de consulta 21 de Febrero de 2017].
2.-Christian Bodignton Estava; Mikro Basic ; descargada de WWW.CONEXIONELECTRONICA.COM;
Publicado el año 2010; [Fecha de consulta 5 de Marzo de 2017].


No hay comentarios.:

Publicar un comentario

Hola, con tu comentario puedes aportar para mejorar la calidad de mi trabajo

Microcontroladores PIC – Curso de Programación en MikroC (Parte 6 )

Microcontroladores PIC – Curso de Programación en MikroC Bienvenido nuevamente a los tutoriales de Artes Electrónicas Pachani , con...