Circuits de microcontroladors
Circuits de microcontroladors
Jump to TINA Main Page & General Information
TINA dóna suport a molts (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) microcontroladors; constantment s’afegeixen noves MCU. Podeu veure, modificar i depurar el programa que s’executa al processador i, per descomptat, podeu crear el vostre propi codi.
Hi ha dues maneres d’oferir el programa de microcontroladors a TINA. Podeu utilitzar el codi de codi binari i el fitxer de depuració realitzats per un compilador estàndard (per exemple, MPLAB per a PIC) o només podeu carregar el codi de muntatge per executar-lo i depurar-lo a TINA utilitzant el seu assemblador-depurador incorporat.
A TINA es poden simular els microcontroladors no només sols sinó també conjuntament amb models analògics, digitals, HDL o altres.
Execució i edició del codi MCU
Carregueu el circuit PIC Flasher.TSC de la carpeta ExamplesMicrocontrollersPic.
El següent esquema amb el microcontrolador 16F73 PIC apareixerà amb el microcontrolador 16F73 PIC:
Aquest circuit només compta cap endavant. Premeu el botó
La pantalla hauria de fer un pas endavant.
Feu doble clic a l'MCU per veure el codi ASM. (vegeu més detalls al manual d'inici ràpid).
TINA té una gran característica que permet editar i canviar el codi font directament a TINA.
Permet fer el següent canvi al codi:
Canvieu la instrucció (seleccionada més amunt) a la línia 25 (podeu veure el número de línia a la part inferior dreta de la finestra de l'editor de codi):
de addlw 01H
per afegir 02H
Deseu el codi modificat a TINA prement el botó
Si prem el
Tingueu en compte que el codi modificat es desarà automàticament al fitxer TINA .TSC.
Ús del depurador
Vegem una altra aplicació amb més interactivitat.
Carregueu l’exemple PIC16F84interrupt_rb0.TSC de TINA de la carpeta ExamplesMicrocontrollersPic.
Premeu el botó
Tanmateix, si feu clic al commutador SW-HL1, la pantalla passarà cap endavant per 1 cada vegada que el canvi canvia de Baixa a Alta.
La capacitat de manipulació d'interrupcions del PIC ens permetrà detectar els canvis del canvi.
Ara vegem l'operació amb més detall mitjançant el depurador ASM interactiu de TINA.
Per activar el depurador, seleccioneu Opció al menú Anàlisi. A continuació, marqueu la casella de selecció "Activa el depurador de codis MCU", tal com es mostra a continuació al quadre de diàleg Opcions d'anàlisi.
Premeu el botó D'acord i apareixerà el depurador de l'MCU:
Seguirem l'execució del programa pas a pas prement el botó
Després d’arribar als clics de 14 arribem a l’etiqueta PT1: on el programa sembla estar en un bucle infinit.
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
Incrementeu el comptador i copieu a PORT A i la sortida serà 1. Després d'això, el programa tornarà al "bucle infinit" de PT1.
Edició del codi al depurador
Ara fem un petit canvi en el programa per demostrar l’ús del depurador. Dupliqueu la declaració INCF COUNTER, F utilitzant Copia i Enganxa com aquesta:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Ara, quan premeu el botó
Premeu Sí i premeu el botó
També podeu comprovar el circuit en el mode d’execució continu del depurador prement el botó
Tot i que el depurador funcionarà ràpidament, encara podeu veure el "cicle infinit" i després saltar a la part del servidor d'interrupció (INT_SERV:) quan canvieu el commutador.
Fer un punt d'interrupció
Utilitzant el mode pas a pas, sovint és impossible arribar a un punt concret del programa. Fins i tot si sou prou pacient com per fer un pas de mil passos, el flux del programa potser no us permetrà fer el pas on vulgueu.
Per aturar-se en una línia concreta, podeu marcar l’enunciat d’objectiu establint un "punt d’interrupció".
Executeu el programa en el mode continu del depurador usant el
Per demostrar-ho, feu clic a la declaració d'increment al nostre servidor d'interrupcions després de l'etiqueta INT_SERV: i premeu el botó
Ara premeu el botó
Tot i que heu establert un punt d’interrupció, l’execució del codi no s’aturarà perquè mai arriba al punt d’interrupció. Tanmateix, quan canvieu el commutador de Baixa a Alta, el programa s'aturarà a la declaració marcada:
INT_SERV: INCF COUNTER, F
Ara podeu continuar pas a pas