Circuitos de microcontroladores
Circuitos de microcontroladores
Jump to TINA Main Page & General Information
TINA soporta muchos (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) 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
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:
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
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.
Pulse el botón
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
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
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