sábado, 25 de marzo de 2017

Diseño de programas en ensamblador para PIC ( PARTE 3 )

Hola nuevamente ha Artes Electrónicas Pachani, hoy continuaremos con la serie programación en componentes PIC, tutorial dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones. 

¿Como lo hago?(El inicio)



 
Una vez hemos logrado realizar nuestro primer “Hola Mundo”, la pregunta que viene a nuestra cabeza es ¿Como lo hago?, muchos de los retos en cuanto a la programación viene a ser en la manera como se plantee la solución a un determinado problema, empecemos:
Problema 2.- Se desea realizar un juego donde se busca que los participantes escojan colores y cuando la combinación sea correcta se repita en el panel de colores.

Diseño de programas en ensamblador para PIC ( PARTE 2 )

Hola nuevamente ha Artes Electrónicas Pachani, continuando con la serie programación en componentes PIC, tutorial dirigido a lectores novatos, aficionados (hobbistas), estudiantes, que deseen implementar programas para microcontroladores en lenguaje ensamblador (ASM), para el desarrollo de aplicaciones.
Mi primer programa: “Hola Mundo”


¡Tal vez parezca extraño pero los microcontroladores pueden hablar!
Me imagino que debe ser en unos y ceros.
¿De alguna manera podemos ver esto?
Si lo veremos en primer Hola Mundo.

domingo, 19 de marzo de 2017

Diseño de programas en ensamblador para PIC ( PARTE 1 )

Hola nuevamente ha Artes Electrónicas Pachani, hoy iniciaremos la serie programación en componentes PIC.

Entorno de desarrollo MPlab IDE (instalación rápida)



Vamos ha empezar la programación de microcontroladores PIC, de aquí en adelante los programas que vamos a ir desarrollando en dos etapas una de desarrollo donde usaremos hoja y papel para idear nuestros códigos , donde ademas realizaremos simulación en Mplab y proteus 7.9, y por ultimo la implementaremos en el microcontrolador esta etapa vendrá acompañada de videos.

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


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con la serie de tutoriales en la parte de componentes PIC, 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 4)


Finalizando esta serie de Operaciones Basicas. Una vez conociendo las capacidades de las instrucciones de los Saltos, podemos trabajar con subrutinas que hará que nuestros programas sean mas flexibles en cuanto a la programación, un único programa principal y luego solo realizar llamadas a las Subrutinas que vendrán a ser como módulos que facilitaran nuestra aplicación y por ende un ahorro de espacio en nuestro microcontrolador. 

SUBRUTINAS E INTERRUPCIONES
  Que entendemos por subrutina entonces, diremos, son pequeñas porciones del programa principal, que el programa principal utiliza para realizar completamente la aplicación. Para tener una idea más clara del concepto de subrutinas, observemos este ejemplo (Figura 3.11): supongamos que tenemos una misma tarea repetida varias veces en el programa, de tal manera que lo que tenemos es una repetición del código de esta tarea en diferentes partes del programa. Esto hace que este programa sea ineficiente debido a que consume mucha memoria de programa.

Figura 3.11.- Programa con y sin subrutina

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


Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con la serie de tutoriales en la parte de componentes PIC, 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 3)


Figura 6.7.- Las herramientas para programar.

INSTRUCCIONES DE SALTO
   Llegamos a la parte mas importante para realizar programas en función de saltos y toma de decisiones que son la base para condiciones como if, for, etc. Estas instrucciones permiten realizar saltos en el programa; tomando como base que se cumplan condiciones o no, se pueden realizar de las formas siguientes:
  • En función de un bit, según el estado (1 o 0) de un bit en un registro.
  • En función de un registro por disminución o incremento al llegar al valor 0 × 00.
  • Incondicional, ejecuta la instrucción goto k.

lunes, 13 de marzo de 2017

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



Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, hoy vamos a continuar con la serie de tutoriales en la parte de componentes PIC, 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.

3.- Programando Operaciones Básicas en PIC (parte 2)

 

Figura 3.3.- Las herramientas para programar.

Continuando con la segunda parte de las operaciones básicas debido a que no hemos llegado a realizar operaciones lógicas y desplazamiento de bits que son muy importantes,entonces continuemos.

iv).-Instrucciones logicas

Dentro de las operaciones lógicas que se pueden realizar con un microcontrolador están: AND, OR inclusive. OR exclusiva, la rotación, complemento y el intercambio de nibbles, todo con el fin de manipular byte:
AND
Dentro de las operaciones lógicas que vamos a estudiar esta la operación AND que se simboliza por () como (AB) o bien (A y B), también (A&B), una operación lógica donde ambos deben ser verdaderos, para que la operación sea verdadera.

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].


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...