Circuitos de microcontroladores

Circuitos de microcontroladores

Jump to TINA Main Page & General Information 

TINA soporta muchos (PIC, AVR, Arduino8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC, ESP32 ) microcontroladores; Constantemente se agregan nuevas 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.

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

Simulación del microcontrolador esp32c3

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

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

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.

Presione la tecla

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 usando el depurador ASM interactivo de TINA.

Para activar el depurador, seleccione Opción en el menú Análisis. Luego, establezca 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

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. (Debería hacer clic cuando el cursor cambie a una flecha que apunta 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: label.
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:
        INCF COUNTER, F 
        INCF COUNTER, F 
        MOVF COUNTER, 0
        MOVWF PORTA    

Ahora cuando presionas el

Presione Sí y presione

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

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

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

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:
             INCF COUNTER, F

Ahora puedes continuar ya sea paso a paso