Circuitos de microcontroladores

Circuitos de microcontroladores

TINA soporta muchos (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) microcontroladores; Constantemente se están agregando nuevos MCU. Puede ver, modificar y depurar el programa que se ejecuta en el procesador y, por supuesto, puede crear su propio código.

Hay dos formas de proporcionar el programa para microcontroladores en TINA. Puede usar el código binario y el archivo de depuración creado por un compilador estándar (por ejemplo, MPLAB para PIC) o simplemente puede cargar su código de ensamblaje para ejecutar y depurar en TINA usando su ensamblador-depurador incorporado.

Creación de un circuito contador simple utilizando un microcontrolador PIC con programación en lenguaje ensamblador

Creación de un circuito contador simple utilizando un microcontrolador PIC con programación en lenguaje C

Depuración básica del microcontrolador mediante TINA.

En TINA, los microcontroladores se pueden simular no solo, sino también junto con modelos analógicos, digitales, HDL u otros.

Ejecutar y editar código MCU

Cargue el circuito PIC Flasher.TSC desde la carpeta de ejemplos de microcontroladores.

El siguiente esquema que utiliza el microcontrolador PIC 16F73 aparecerá con el microcontrolador PIC 16F73:

Circuitos de microcontroladores, imagen 1.

Este circuito simplemente cuenta hacia adelante uno por uno. presione el Botón para ver cómo funciona.

La pantalla debería avanzar una por una.

Haga doble clic en la MCU para ver el código ASM en ella. (ver más detalles en el manual de inicio rápido).

TINA tiene una gran característica que le permite editar y cambiar el código fuente directamente en TINA.

Permite realizar el siguiente cambio en el código:

Cambie la instrucción (seleccionada arriba) en la línea 25 (puede ver el número de línea en la esquina inferior derecha de la ventana del editor de código):

desde addlw 01H

añadir 02H

Guarde el código modificado en TINA presionando la tecla Icono y cierre las ventanas abiertas de MCU.

Si pulsa el botón ahora, el incremento será 2!

Tenga en cuenta que el código modificado se guardará automáticamente en el archivo TINA .TSC.

Usando el depurador

Veamos otra aplicación con más interactividad.

Cargue el ejemplo PIC16F84interrupt_rb0.TSC de TINA desde la carpeta de ejemplos de microcontroladores.

Pulse el botón botón. Al principio parece que no pasa nada.

Sin embargo, si hace clic en el interruptor SW-HL1, la pantalla avanzará 1 cada vez que el interruptor cambie de Bajo a Alto.

La capacidad de manejo de interrupciones del PIC nos permitirá detectar cambios en los interruptores.

Ahora veamos la operación con más detalle utilizando el depurador de ASM interactivo de TINA.

Para activar el depurador, seleccione Opción en el menú Análisis. Luego configure la casilla de verificación "Habilitar depurador de código MCU", como se muestra a continuación en el cuadro de diálogo Opciones de análisis.

Presione el botón OK y aparecerá el depurador MCU:

Vamos a seguir paso a paso la ejecución del programa presionando la tecla Trace en el botón.

Después de alrededor de clics de 14, llegamos a la etiqueta PT1: donde el programa parece estar en un bucle infinito.

PT1: INCF TEMP, F GOTO PT1

Ahora haga clic en el interruptor SW-HL1 y cámbielo a Alto. (Debe hacer clic cuando el cursor se convierta en una flecha hacia arriba Î). Vuelva al depurador y haga clic en el Trace en el botón dos veces. El programa reconocerá la interrupción y saltará a la


NT_SERV: etiqueta.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT

incremente el CONTADOR y cópielo en el PUERTO A, y la salida será 1. Después de esto, el programa volverá al "bucle infinito" en PT1.

Edición del código en el depurador.

Ahora hagamos un pequeño cambio en el programa para demostrar el uso del depurador. Duplique la instrucción CONTADOR INCF, F usando Copiar y Pegar de la siguiente manera:

        INT_SERV: CONTADOR INCF, CONTADOR F INCF, CONTADOR MOVF, PORTA 0 MOVWF    

Ahora cuando presionas el El programa preguntará:

Presione Sí y presione botón de nuevo. Ahora el incremento será 2 en cada cambio Low-High del switch.

También puede verificar el circuito en el modo de funcionamiento continuo del depurador presionando botón.

A pesar de que el depurador se ejecutará rápido, todavía puede ver el "ciclo infinito" y luego el salto a la parte del servidor de Interrupción (INT_SERV:) cuando cambia el interruptor.

Haciendo un punto de ruptura

Usando el modo paso a paso, a menudo es imposible llegar a un punto particular del programa. Incluso si eres lo suficientemente paciente como para dar mil pasos, es posible que el flujo del programa no te permita ir a donde quieras.

Para detenerse en una línea en particular, puede marcar la declaración de destino estableciendo un "punto de interrupción".

Ejecute el programa en el modo continuo del depurador usando el Ejecute el comando y ahora el programa se detendrá en la línea deseada antes de ejecutar el comando marcado.

Para demostrar esto, haga clic en la declaración de incremento en nuestro servidor de interrupción después de la etiqueta INT_SERV: y presione la tecla Botón de interrupción de palanca.

Ahora presione el Ejecutar botón. El programa comienza a ejecutarse en un “ciclo infinito”.

Aunque haya establecido un punto de interrupción, la ejecución del código no se detendrá porque nunca llega al punto de interrupción. Sin embargo, cuando cambie el cambio de Bajo a Alto, el programa se detendrá en la instrucción marcada:

   INT_SERV: CONTADOR INCF, F

Ahora puedes continuar ya sea paso a paso o en el modo Run