Hola nuevamente a Artes Electrónicas Pachani, hoy les explicare mis experiencias con el microcontrolador PIC18F4550, vamos realizar programas en el IDE Proteus, el objetivo sera aprender a programar en lenguaje ensamblador.
Una buena herramienta para programar en ASM.
Programando en Proteus
Para empezar debemos partir de un nuevo proyecto como vemos en la siguiente imagen, nuestro objetivo sera desarrollar el firmware necesario para poder utilizar los periféricos del microcontrolador PIC18F4550 , esto es de gran utilidad para los demás microcontroladores.
Una iniciamos el asistente para iniciar un nuevo proyecto ahora lo siguiente es darle un nombre y ubicación para el nuevo proyecto.
Escogemos una carpeta que previamente hemos hemos creado para nuestro proyecto para que sea facil de encontrar y copiar si es el caso.
Lo siguiente sera continuar pues no vamos a utilizar una plantilla especifica para nuestro proyecto.
Acá vamos a saltarnos esta parte y seguir adelante presionando siguiente para evitar alguna confusión con nuestra simulación.
Por ultimo tendremos esta pantalla donde se ve todas las configuraciones y opciones que elegimos para el proyecto.
Ahora tenemos una plantilla totalmente en blanco diria que es un lienzo limpio para desarrollar nuestra imaginacion.
Receta para mi primer Hola Mundo
Una vez tengamos el circuito armado vamos a diseñar nuestro código fuente, para ello primero sera hacer un click derecho sobre nuestro microcontrolador e ingresar a Editar código fuente.
Minitutorial como editar código fuente en Proteus
Luego de iniciar el Editor código fuente veremos la siguiente pantalla donde observamos el microcontrolador con el que estamos trabajando y el compilador que viene por defecto en el simulador.
Ahora vamos a la parte de compilador y notaremos que tendremos varias opciones para poder compilar nuestro proyecto dependiendo lo que hayamos instalado, por defecto Proteus nos dará la opción de MPASM(Proteus) .
En mi caso yo utilizare la MPASM (Proteus) ya que viene por defecto , ahora si existiera algún problema con esta librería basta con que instales MPLAB v 8,92 para poder utilizar las librerías del mismo ya que Proteus reconoce de manera automática los compiladores adicionales.
Editando nuestra plantilla en Proteus
Una de las características que ofrece Proteus es la facilidad de poder realizar nuestros firmware para nuestro microcontrolador desde nuestro simulador de circuitos favorito. Dado que se nos proporciona una plantilla intuitiva vamos a reconocer el lugar donde iremos escribiendo nuestro código.
Primero tenemos nuestra plantilla totalmente en blanco donde iremos acomodando cada una de nuestras
cositas :-) e iremos ordenando de modo que nuestro código sea amigable con nosotros y fácil de reconocer posibles fallas e incluso para poder reciclar el código para otro tipos de proyectos:
Notemos que es una plantilla basica, pero nuestra intension es que sea facil de entender para nosotros y tambien para otras personas que analicen nuestro codigo por lo que modificacremos de modo que podamos entender y trabajar de manera eficiente.
Mi plantilla
Como sabemos esta debe de tener toda la informacion necesaria y util para el programador, ahora analicemos los puntos mas importantes de la anterior plantilla.
Encabezado
Acá colocaremos la información mas relevante de nuestro programa como son los datos del autor quien diseño el programa pues es un aspecto importante en cuanto a los derechos de autor, otro punto a considerar es tambien la descripción del programa dicho de otra manera para que fin se diseño.
En cuanto a la revisión es importante tomar en cuenta que nuestro programa esta sujeto a cambios dicho de otra manera actualizaciones que mejoran la calidad del programa.
En cuanto al microcontrolador que utilizamos el codigo puede tener caracteristicas unicas segun las hojas de datos por ello es importante detallar este aspecto dentro del encabezado. Para el Cristal oscilador es otro aspecto importante pues ello eimplica la velocidad como las instrucciones se procesa dentro del microcontrolador.
Por ultimo y no menos importante la proteccion de codigo, muchas veces el codigo para realizar un proceso puede ser guardado de manera celosa dentro de la empresa por lo cual depende nosotros guardar o dejar que dicho programa sea de conocimiento de los demas progradores.
Registro de definición y vector reset
Dentro de la plantilla por defecto que nos ofrece Proteus es importante destacar que esta configuracion la realiza la misma empresa para poder programar en ensamblador por lo cual nosotros no modificaremos y mas aun al contrario solo debermos de tener en mente para que sirve:
#include p18f4550,inc : Es un registro de definisiones muy similar a una libreria que hace que el simulador pueda interprestar al microcontrolador en cuanto a las caracteristicas de cada pin.
En cuanto al vector de interrupcion y reset imaginemos como instrucciones que indican al programa principal como trabajara el microcontrolador frente a un evento de reset y/o el caso tambien cuando suceda una interrupcion, aspectos que iremos comprendiendo mejor a medida que vayamos aprendiendo sobre estos maravillosos dispositivos.
Siguiendo la secuencia del salto de la instrucción goto Start debemos de notar que una vez llega a la etiqueta Start aparece la etiqueta Loop (Bucle) y en ella la instrucción goto Loop haciendo referencia que se da lugar a un bucle infinito entre la etiqueta Loop. Es a partir de la etiqueta Start donde empezamos a programar nuestro microcontrolador y donde haremos que la magia de programación de rienda suelta a nuestra imaginación.
Microcontroladores PIC – Programando ASM Mplab-Proteus (Part003)
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. Cualquier consulta la puedes realizar en la parte de comentarios.
Bibliografia:
1.- Juan Ricardo Clavijo Mendoza, Diseño y simulación de sistemas microcontrolados en lenguaje C; Publicado el año 2011;[Fecha de consulta 19 de mayo de 2020].
2.-Juan Ricardo Penagos Plazas; Cómo programar en lenguaje C los microcontroladores PIC16F88, 16F628A y 16F877A; Publicado el año 2010; [Fecha de consulta 19 de mayo de 2020].
3.- Eduardo Garcia Breijio; Compilador C CCS y simulador PROTEUS para microcontroladores PIC; Publicado el año 2008; [Fecha de consulta 19 de mayo de 2020].
Software utilizados:
1.- MikroC_PRO_PIC_2016_Build.6.6.3 descargado de la pagina oficial de Microchip.
2.- Proteus v 8.9 , simulado en linuxMint 20,4 por medio del programa Wine. Pero en versiones soporta todas las versiones Windows.
3.- Editor de texto libre, se puede descargar de Internet, es un editor GNU Linux.
4.- OpenProg , programador de microcontroladores PIC-AVR.
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.
1.- Juan Ricardo Clavijo Mendoza, Diseño y simulación de sistemas microcontrolados en lenguaje C; Publicado el año 2011;[Fecha de consulta 19 de mayo de 2020].
2.-Juan Ricardo Penagos Plazas; Cómo programar en lenguaje C los microcontroladores PIC16F88, 16F628A y 16F877A; Publicado el año 2010; [Fecha de consulta 19 de mayo de 2020].
3.- Eduardo Garcia Breijio; Compilador C CCS y simulador PROTEUS para microcontroladores PIC; Publicado el año 2008; [Fecha de consulta 19 de mayo de 2020].
Software utilizados:
1.- MikroC_PRO_PIC_2016_Build.6.6.3 descargado de la pagina oficial de Microchip.
2.- Proteus v 8.9 , simulado en linuxMint 20,4 por medio del programa Wine. Pero en versiones soporta todas las versiones Windows.
3.- Editor de texto libre, se puede descargar de Internet, es un editor GNU Linux.
4.- OpenProg , programador de microcontroladores PIC-AVR.
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