Hola nuevamente a Artes Electrónicas Pachani, acá iré explicando mis experiencias con el microcontrolador Atmega32A en el entorno AVR Studio 4, el objetivo sera aprender a programar en lenguaje ensamblador.
Técnica de la burbuja para manejo de tiempos ATmega32A
Cuando se trata de aplicaciones con manejo de tiempos es necesario recurrir a un código llamado “Técnica de la burbuja ” debido a que analizando dicho código notamos una particularidad que maneja
una resta en una unidad desde adentro hacia afuera como si se tratara de una burbuja de ahí su nombre.Debemos de poner atención en los siguientes datos: la frecuencia de nuestro Xtal con nuestro microcontrolador luego el tiempo que queremos usar para realizar el retardo (delay) para cada operación dentro de nuestro microcontrolador.
Solución:
Como en el anterior tutorial aprendimos a manejar los bits del puerto B ahora nos toca trabajar en la nueva condición que vendría ser un tiempo de retardo de 0,5 seg el cual nosotros programaremos :
Como aprenderemos el puntero de pila es el orden como colocas las hojas antes de iniciar una nueva tarea es decir es la posición donde dejas una instrucción o una tarea dentro el microcontrolador para que pueda continuar con el resto de las instrucciones luego de concluido la tarea adicional que se inicio.
La nueva instrucción que aprenderemos sera RCALL , una instrucción que llama a una subrutina llamada Retardo_Delay, programa el cual hace un conteo de tiempo equivalente a 500ms = 0,5s . Se habrán dado cuenta que dentro de la subrutina Retardo_Delay hay dos nuevas instrucciones como son “DEC instrucción de decremento en una unidad” y “BRNE instrucción de salto condicionado donde salta una linea de instrucción si una anterior operación como decremento DEC da como resultado que la bandera Z=0, es decir hay contenido de ahí que se habilita dicha instrucción”
Simulando en Proteus
Grabando con OpenProg
Tenemos que tener en mente lo siguientes:
1.- En esta entrega hemos trabajado básicamente a como configurar paso a paso dentro del IDE AvrStudio 4 y luego su programacion con nuestro programador OpenProg a medida que vayamos practicando veremos que hacer programas en AVR es tan sencillo como programar un Arduino ya que ensamblador es mas sencillo pero es moroso nada y luego con mayor experiencia con esta herramienta simple y compacta iremos realizando programas mas elaborados.
2.- Como un objetivo adicional es demostrar que con herramientas libres tanto en Linux y Windows podemos trabajar con programdores placa de entrenamiento que sirve para ambos lados ya que cada una de las herramientas en este blog se encuentran en ambos sistemas.
Al final
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 en pdf los cuales son usados como referencia para los ejercicios y los ejemplos los cuales se encuentran a disposición en Internet. Cualquier consulta la puedes realizar en la parte de comentarios.
Bibliografia
1.- AVR Microcontroller and Embedded Systems using assembly ; Publicado el año 2011;[Fecha de consulta 1 de enero de 2021], pagina de donde puedes descargar (https://docs.google.com/file/d/0B5_mAdKvdKTlQlBPS2pwbE9ONFE/edit).
Software utilizados:
1.- AvrStudio4 descargado de la pagina oficial de Microchip. Ahi puedes descargar (https://www.microchip.com/mplab/avr-support/avr-and-sam-downloads-archive)
2.- Proteus v 8.2 , simulado en linuxMint 19,4 por medio del programa Wine. Pero en versiones soporta todas las versiones Guindows.
3.- Editor de texto libre, se puede descargar de Internet, es un editor GNU Linux.
4.- OpenProg, programador de microcontroladores PIC-AVR. Ahi puedes econtrar el instaldor disponible tanto para Linux y Windos (https://sourceforge.net/projects/openprogrammer/)
Hardware utilizados:
1.- Placa de Programación basado en los esquemas de OpenProg.
2.- Placa entrenadora desarrollado en base al microcontrolador Pic 18F4550.
3.- Placas modulo de leds , botoneras e interruptores.
No hay comentarios.:
Publicar un comentario
Hola, con tu comentario puedes aportar para mejorar la calidad de mi trabajo