Compilador C CCS y Simulador Proteus para Microcontroladores PIC
2.5/5
()
Información de este libro electrónico
Relacionado con Compilador C CCS y Simulador Proteus para Microcontroladores PIC
Libros electrónicos relacionados
Microcontroladores PIC16f877a y PIC6f887 Calificación: 0 de 5 estrellas0 calificacionesProgramación de microcontroladores paso a paso: Ejemplos prácticos desarrollados en la nube Calificación: 0 de 5 estrellas0 calificacionesIntroducción Al Psoc5Lp: Teoría y aplicaciones práctica Calificación: 0 de 5 estrellas0 calificacionesMicrocontrolador STM32 Programación y desarrollo: INGENIERÍA ELECTRÓNICA Y DE LAS COMUNICACIONES Calificación: 3 de 5 estrellas3/5Internet de las cosas con ESP8266 Calificación: 3 de 5 estrellas3/5Análisis de circuitos con PSpice Calificación: 0 de 5 estrellas0 calificacionesAprender Arduino, prototipado y programación avanzada con 100 ejercicios Calificación: 5 de 5 estrellas5/5LabVIEW: Entorno gráfico de programación Calificación: 4 de 5 estrellas4/5Processing: Desarrollo de interfaces de usuario, aplicaciones de visión artificial e IoT para Arduino y ESP8266 Calificación: 5 de 5 estrellas5/5Mecatrónica - sistemas de control electrónico en la ingeniería mecánica y eléctrica Calificación: 5 de 5 estrellas5/5Prácticas de redes de datos e industriales Calificación: 4 de 5 estrellas4/5Iniciación al diseño de circuitos impresos con Altium Designer Calificación: 0 de 5 estrellas0 calificacionesComunicaciones industriales y WinCC Calificación: 5 de 5 estrellas5/5Prácticas de Automatización Calificación: 0 de 5 estrellas0 calificacionesControl de movimiento en manufactura. Automatización CNC fundamentos de diseño y modelamiento experimental Calificación: 5 de 5 estrellas5/5Sistemas Embebidos FPGA Calificación: 0 de 5 estrellas0 calificacionesProgramación con Qt y Arduino. Calificación: 0 de 5 estrellas0 calificacionesSistemas de control integrados en bienes de equipo y maquinaria industrial y elaboración de la documentación técnica. FMEE0208 Calificación: 0 de 5 estrellas0 calificacionesEjemplos para Arduino. Calificación: 0 de 5 estrellas0 calificacionesComputadores para bases de datos. IFCT0310 Calificación: 0 de 5 estrellas0 calificacionesSimulación de circuitos electrónicos con OrCAD® PSpice® Calificación: 0 de 5 estrellas0 calificacionesProgramación gráfica para ingenieros Calificación: 5 de 5 estrellas5/5Redes locales: Nivel básico - 3ra edición Calificación: 0 de 5 estrellas0 calificacionesDiseño de algoritmos y su programación en C Calificación: 0 de 5 estrellas0 calificacionesConmutación. Diseño digital Calificación: 0 de 5 estrellas0 calificacionesLaboratorio de redes y comunicaciones Calificación: 0 de 5 estrellas0 calificacionesMicrocontrolador PIC16F84. Desarrollo de proyectos. 3ª edición: INGENIERÍA ELECTRÓNICA Y DE LAS COMUNICACIONES Calificación: 4 de 5 estrellas4/5Microcontroladores PIC con programación PBP: INGENIERÍA ELECTRÓNICA Y DE LAS COMUNICACIONES Calificación: 5 de 5 estrellas5/5Electrónica digital Calificación: 4 de 5 estrellas4/5ARDUINO: Aplicado en Robótica, Mecatrónica e Ingenierías Calificación: 0 de 5 estrellas0 calificaciones
Ingeniería eléctrica y electrónica para usted
Electrónica básica: INGENIERÍA ELECTRÓNICA Y DE LAS COMUNICACIONES Calificación: 5 de 5 estrellas5/5Electricidad Básica Calificación: 4 de 5 estrellas4/5Arregle Todo Calificación: 4 de 5 estrellas4/5Sistemas de puesta a tierra: Diseñado con IEEE-80 y evaluado con MEF Calificación: 4 de 5 estrellas4/5Electrónica. Trucos y secretos Calificación: 4 de 5 estrellas4/5El gran libro del comercio electrónico Calificación: 5 de 5 estrellas5/5Análisis de circuitos eléctricos Estado estable Calificación: 5 de 5 estrellas5/5100 Circuitos de Proyectos Educacionales Calificación: 5 de 5 estrellas5/5Curso de Electrónica - Electrónica Básica Calificación: 4 de 5 estrellas4/5100 Circuitos de Fuentes - I Calificación: 4 de 5 estrellas4/5100 Circuitos de Potencia con SCRs y Triacs Calificación: 3 de 5 estrellas3/5El Circuito Integrado 555 Mágico Calificación: 5 de 5 estrellas5/5Instalaciones Eléctricas en Baja Tensión. 2ª Edición. Calificación: 2 de 5 estrellas2/5Electrónica de Potencia Calificación: 4 de 5 estrellas4/5Electrónica Digital- 1 Calificación: 4 de 5 estrellas4/5100 Circuitos de con el 555 II Calificación: 5 de 5 estrellas5/5Electrónica de potencia Calificación: 4 de 5 estrellas4/5Proyectos com ESP32 y LoRa Calificación: 5 de 5 estrellas5/5Electrónica Analógica Calificación: 4 de 5 estrellas4/5Instrumentación electrónica aplicada: Prácticas de laboratorio Calificación: 4 de 5 estrellas4/5Proyectos Arduino con Tinkercad: Diseño y programación de proyectos electrónicos basados en Arduino con Tinkercad Calificación: 5 de 5 estrellas5/5100 circuitos de shields para arduino (español) Calificación: 4 de 5 estrellas4/5Metodología básica de instrumentación industrial y electrónica Calificación: 4 de 5 estrellas4/5100 Circuitos de Shields Varios Calificación: 5 de 5 estrellas5/5Electrónica análoga: Diseño de circuitos Calificación: 4 de 5 estrellas4/5Ingeniería de Software Calificación: 5 de 5 estrellas5/5Laboratorio de circuitos electrónicos I: Experimentación básica con diodos y transistores. 2ª edición Calificación: 4 de 5 estrellas4/5Mantenimiento preventivo de sistemas de automatización industrial. ELEM0311 Calificación: 5 de 5 estrellas5/5Electrónica básica Calificación: 0 de 5 estrellas0 calificacionesElectrónica (GRADO MEDIO): INGENIERÍA ELECTRÓNICA Y DE LAS COMUNICACIONES Calificación: 4 de 5 estrellas4/5
Comentarios para Compilador C CCS y Simulador Proteus para Microcontroladores PIC
5 clasificaciones1 comentario
- Calificación: 4 de 5 estrellas4/5Un libro muy practico en el aprendizaje en la programación de microcontroladores pic con lenguaje de alto nivel.
Vista previa del libro
Compilador C CCS y Simulador Proteus para Microcontroladores PIC - Eduardo García Breijo
Capítulo 1
ISIS de PROTEUS VSM
1.1 Introducción
El entorno de diseño electrónico PROTEUS VSM de LABCENTER ELECTRONICS (www.labcenter.co.uk) ofrece la posibilidad de simular código microcontrolador de alto y bajo nivel y, simultáneamente, con la simulación en modo mixto de SPICE. Esto permite el diseño tanto a nivel hardware como software y realizar la simulación en un mismo y único entorno. Para ello, se suministran tres potentes subentornos como son el ISIS para el diseño gráfico, VSM (Virtual System Modelling) para la simulación y el ARES para el diseño de placas (figura 1).
Figura 1. Entorno de trabajo PROTEUS (fuente: Labcenter Electronics)
1.2 Captura electrónica: entorno gráfico ISIS
ISIS es un potente programa de diseño electrónico que permite realizar esquemas que pueden ser simulados en el entorno VSM o pasados a un circuito impreso ya en el entorno ARES.
Posee una muy buena colección de librerías de modelos tanto para dibujar, simular o para las placas. Además, permite la creación de nuevos componentes, su modelización para su simulación e, incluso, la posibilidad de solicitar al fabricante (Labcenter Electronics) que cree un nuevo modelo.
Sin entrar profundamente en como utilizar dicho programa (requeriría un libro sólo para ello), a continuación se explican las bases para dibujar cualquier circuito electrónico. El programa ISIS posee un entorno de trabajo (figura 2) formado por distintas barras de herramientas y la ventana de trabajo.
Figura 2. El entorno de trabajo del programa ISIS
Varios de estos menús también se pueden utilizar con la ayuda del botón derecho del ratón. Al pulsarlo en cualquier parte del entorno de trabajo aparece un menú contextual donde se pueden ir obteniendo los distintos submenús de trabajo (figura3).
Figura 3. Submenús de trabajo del botón derecho del ratón
Para dibujar, lo primero es colocar los distintos componentes en la hoja de trabajo. Para ello, se selecciona el modo componentes (figura 4) y, acto seguido, realizar una pulsación sobre el botón P de la ventana de componentes y librerías (figura 5).
Figura 4. Modo componentes
Figura 5. Boton pick
Tras activar el botón P se abre la ventana para la edición de componentes (figura 6) donde se puede buscar el componente adecuado y comprobar sus características.
Al localizar el componente adecuado se realiza una doble pulsación en él, de tal forma que aparezca en la ventana de componentes y librerías (figura 7). Se puede realizar esta acción tantas veces como componentes se quieran incorporar al esquema. Una vez finalizado el proceso se puede cerrar la ventana de edición de componentes.
Figura 6. Ventana para la edición de componentes
Figura 7. Los componentes añadidos
Para situar un componente en el esquema tan sólo debemos seleccionarlo de la lista. Al hacerlo se puede comprobar su orientación (tal como se representará en el esquema) en la ventana de edición (figura 8). Si deseamos modificar la rotación o la reflexión del componente podemos acceder a ello a través de la barra de herramientas correspondiente (figura 9).
Haciéndolo de esta forma, todos
los componentes de la lista tendrán la misma orientación (si se desea orientar un único componente deberemos hacerlo una vez ya situado en el esquema).
Figura 8. Selección y orientación del componente
Figura 9. Barra de rotación y reflexión
Ahora sólo falta realizar una pulsación sobre la ventana de trabajo y se colocará el componente. El cursor del ratón se convierte en un lápiz blanco (figura 10). Se pueden colocar varios componentes del mismo tipo simplemente realizando varias pulsaciones. Para terminar de colocar un componente se debe seleccionar otro componente de la lista o pasar a otro modo de trabajo.
Figura 10. Cursor en el modo de colocación
Es importante activar la herramienta de referencia automática (Real Time Annotation). De esta forma, los componentes tendrán una referencia distinta y de forma consecutiva; en los circuitos integrados con varios componentes encapsulados también se referenciarán según dicho encapsulado (U1A, U1B, etc.). Esta herramienta se activa o desactiva desde la opción de menú TOOLS → Real Time Annotation.
Una vez situados los componentes en el área de trabajo se pueden mover, al pasar por encima del componente el cursor se convierte en una mano (figura 11) y al realizar una pulsación, el cursor se transforma en una mano con una cruz, indicando que se puede mover el componente (quedan seleccionados al ponerse en rojo) y se puede arrastrar (atención: si se vuelve a realizar otra pulsación del botón izquierdo se editan las características del componente). También se puede cambiar su orientación utilizando los comandos de rotación y reflexión a través de una pulsación del botón derecho del ratón (figura 12) y se pueden eliminar con dos pulsaciones con el botón derecho sobre ellos (o con el botón derecho y el comando Delete Objet).
Figura 11. El cursor en modo de selección y mover
Figura 12. Menú contextual de un componente activado por el botón derecho del ratón
Todas estás acciones se pueden realizar individualmente o de forma colectiva, es decir, se pueden agrupar varios componentes a través de pulsaciones consecutivas sobre ellos (manteniendo la tecla
Figura 13. Los componentes en el área de trabajo
Una vez seleccionado el conjunto de componentes (se marcan todos en rojo) debe mos utilizar la herramienta de grupo (figura 15), que también aparece tras pulsar el botón derecho. Con esta herramienta se pueden copiar, mover, rotar o eliminar los componentes seleccionados.
Figura 14. Selección de varios componentes
Figura 15. La herramienta de grupo
Para unir los componentes con cables hay que situarse en los extremos de los terminales, el cursor se convierte en un lápiz verde (figura 16). Ahora se pueden ejecutar dos acciones o ir marcando el camino hasta el destino con distintas pulsaciones (figura 17) o realizar, directamente, una pulsación en el destino y dejar que ISIS realice el camino. Para ello, debe estar activada la herramienta TOOLS → Wire Autorouter.
Figura 16. Inicio de cable
Figura 17. Circuito a mano
Las uniones entre cables se pueden realizar de forma automática. Para ello, mientras se traza un camino debemos realizar una pulsación sobre el cable objeto de la unión eléctrica (figura 18). También se pueden realizar de forma manual mediante el modo de unión (figura 19); en este modo tan sólo hay que ir haciendo pulsaciones sobre los puntos donde deseamos realizar la unión.
Figura 18. Unión eléctrica entre cables
Figura 19. Modo de unión
Se puede modificar el trazado de los cables. Para ello, se realiza una pulsación sobre el cable, en ese instante el cursor se convierte en una doble flecha (figura 20) y se puede arrastrar el ratón para modificar el cable.
Figura 20. Mover los cables
También se pueden utilizar buses para las uniones multicable. Los buses permiten conectar varios terminales entre sí utilizando un único elemento (figura 21); en este caso, el cursor se convierte en un lápiz azul (figura 22). Pero para distinguir los distintos cables que forman parte del bus y distribuirlos en la entrada y en la salida se deben etiquetar mediante labels. En el caso de los cables se indicará una etiqueta única LCD0, LCD1, etc., y al bus una etiqueta conjunta según el formato LCD[0..3] que indique el nombre y la cantidad de cables que lo forman.
Figura 21. Cableado por bus
Figura 22. Cursor en modo de trazado de bus
El etiquetado también permite unir cables virtualmente. Para ello, tan sólo es necesario que los dos cables se llamen igual aunque no estén conectados entre sí. Para etiquetar cables o buses se utiliza el modo label (figura 23). Al activar este modo y realizar una pulsación sobre un cable o bus se abre una ventana donde podemos introducir la etiqueta, además de seleccionar posición, orientación y estilo (figura 24).
Figura 23. Modo label
Figura 24. Ventana de edición de etiquetas
Otro modo de unión virtual es a través de terminales. Al activar el modo terminal (figura 25) se pueden seleccionar distintos tipos de terminales, entre ellos el utilizado por defecto (default). Al utilizar este terminal en varios componentes y darle el mismo nombre en todos ellos se consigue una unión eléctrica.
Figura 25. Modo terminal
Figura 26. Unión eléctrica a través de terminales
Mediante este modo también se pueden colocar las masas y alimentaciones del circuito utilizando las opciones Ground y Power (figura 26). De esta forma se puede finalizar el circuito (figura 27).
Figura 27. Circuito cableado
Tan sólo queda modificar las características de los componentes que lo requieran, por ejemplo modificando el valor de los componentes pasivos. Para ello, se selecciona un componente realizando una pulsación con el botón derecho, aparece el menú contextual y se selecciona la opción EDIT PROPERTIES; también se puede utilizar el modo edición (figura 28) en el cual tan sólo es necesario hacer una pulsación con el botón izquierdo sobre el componente; en este modo el cursor se convierte en una flecha (figura 29). Al ejecutar esta acción se abre la ventana de edición donde se pueden cambiar las características de los componentes (figura 30), por ejemplo la resistencia de 10K a 180 ohm. También se puede editar directamente la referencia o el valor de un componente si la pulsación se realiza encima de estos elementos.
Figura 28. Modo edición
Figura 29. Cursor en modo edición
Figura 30. Ventana de edición de un componente
Con esto quedaría finalizado el circuito electrónico (figura 31). Pero en el caso de los sistemas basados en un microcontrolador aún quedan por modificar las características del mismo microcontrolador.
Figura 31. El esquema completo
En el caso de los microcontroladores, la ventana de edición aporta mucha información (figura 32). Tal vez lo más importante es que permite cargar en el micro controlador el archivo de programa (*.HEX) generado en la compilación; también se puede modificar la frecuencia de reloj (por lo tanto no es necesario el uso de cristales externos en la simulación), cambiar la palabra de configuración y otras propiedades avanzadas.
Figura 32. Ventana de edición de un micro
1.3 Depuración de los sistemas basados en PICmicro
La característica más importante del PROTEUS VSM es la capacidad de depurar programas fuente de distintos lenguajes de programación. Además de aceptar el archivo de programación Intel Hex (HEX), también admite ficheros IAR UBROF (D39), Byte-Craft COD (COD), Microchip Compatible COF (COF) y Crownhill Proton Plus (BAS). Al utilizar estos archivos se puede abrir una ventana de código fuente llamada SOURCE CODE mediante la cual se puede seguir el programa fuente línea a línea de código.
Además permite visualizar elementos internos del PIC como son la memoria de programa, la memoria de datos RAM o la EEPROM, los registros especiales (FSR) y la pila (Stack).
Además, el entorno PROTEUS VSM permite compilar programas fuente en código ensamblador directamente. Para ello, se utiliza el comando SOURCE (figura 33).
Figura 33. Generador de código de ficheros fuente
En el caso del compilador CCS C, después de compilar se generan, entre otros, los archivos *.HEX y *.COF, los cuales se pueden utilizar para trabajar con el entorno PROTEUS VSM. Para ejecutar el programa desde ISIS se debe abrir la ventana de edición del microcontrolador (figura 32) y en el ítem PROGRAM FILE se puede indicar el fichero de código fuente utilizado.
Además, en esta ventana se puede indicar la frecuencia de trabajo con la opción PROCESSOR CLOCK FREQUENCY (debemos observar que para la simulación no es necesario colocar elementos externos de oscilación en el PIC, tan sólo hacen falta en caso de realizar la placa). En la opción ADVANCED PROPERTIES podemos habilitar o configurar muchos más elementos: configurar el wacthdog, habilitar avisos de desbordamiento de pila, accesos no correctos a memoria, etc.
Una vez cargado el microcontrolador con el programa fuente, se puede proceder a la simulación del circuito empleando la barra de simulación (figura 34). Esta barra se compone de la opción MARCHA, PASO A PASO, PAUSA y PARADA.
Figura 34. Barra de simulación
Con la opción MARCHA la simulación se inicia (el botón se vuelve verde) y funciona en modo continuo. La simulación NO es en tiempo real y dependerá de la carga de trabajo del PC. En la barra de estado se indica la carga de la CPU del PC (a mayor carga menos real será la simulación) y el tiempo de ejecución; este tiempo indica el tiempo que tardaría, en la realidad, el circuito en realizar un proceso (por ejemplo esto implica que, dependiendo de la carga de trabajo de la CPU, un tiempo de 1 s en el circuito puede significar varios minutos de simulación).
Figura 35. Barra de estado en la simulación
La opción STOP para totalmente la simulación mientras que PAUSE la para de forma momentánea permitiendo hacer uso de las herramientas de depuración.
La opción PASO a PASO permite trabajar en tramos de tiempo predefinidos y, además, permite utilizar las herramientas de depuración. Esta opción está ligada a la configuración de la animación (figura 36): SYSTEM → SET ANIMATION OPTIONS → SINGLE STEP TIME donde se puede definir el incremento de tiempo que se desea que pase cada vez que se pulsa esta tecla.
Figura 36. Set animation options
En este cuadro de diálogo también se pueden cambiar los siguientes parámetros:
•FRAMES PER SECOND: numero de veces que la pantalla de ISIS se refresca en un segundo (por defecto 20).
•TIMESTEP PER FRAME: indica el tiempo de simulación por cada uno de los frames; lo ideal es que sea el valor inverso del escogido en la opción FRAMES PER SECOND.
•ANIMATIONS OPTIONS: permite habilitar la visualización de las sondas de tensión y corriente, mostrar los niveles lógicos en los pines, mostrar el nivel de tensión en los cables mediante colores o mostrar la dirección de la corriente en los cables mediante flechas.
•VOLTAGE/CURRENT RANGES: permite determinar el umbral de tensión (±V) y corriente para utilizar en la visualización de las correspondientes ANIMATIONS OPTIONS.
En este punto se puede simular (y animar) un sistema con el PICmicro (figura 37). Lo más interesante de la simulación con microcontroladores