Microcontroller-circuits

Microcontroller-circuits

Jump to TINA Main Page & General Information 

TINA ondersteunt veel (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) microcontrollers; nieuwe MCU's worden voortdurend toegevoegd. U kunt het programma dat in de processor draait zien, wijzigen en debuggen en natuurlijk kunt u uw eigen code maken.

Er zijn twee manieren om het programma voor microcontrollers in TINA aan te bieden. U kunt de binaire code en het foutopsporingsbestand van een standaard compiler (bijv. MPLAB voor PIC's) gebruiken of u kunt uw assemblagecode gewoon laden en debuggen in TINA met behulp van de ingebouwde assembler-debugger.

Een eenvoudig tegencircuit maken met behulp van een PIC-microcontroller met assembleertaalprogrammering

Een eenvoudig tegencircuit maken met behulp van een PIC-microcontroller met programmeertaal C

Basic microcontroller debugging met behulp van TINA

In TINA kunnen microcontrollers niet alleen worden gesimuleerd, maar ook samen met analoge, digitale, HDL of andere modellen.

MCU-code uitvoeren en bewerken

Laad het PIC Flasher.TSC-circuit uit de map ExamplesMicrocontrollersPic.

Het volgende schema met de 16F73 PIC-microcontroller verschijnt bij de 16F73 PIC-microcontroller:

Microcontroller-circuits, afbeelding 1

Dit circuit telt eenvoudig één voor één mee. druk de om te zien hoe het werkt.

Het display zou een voor een naar voren moeten gaan.

Dubbelklik op de MCU om de ASM-code erin te zien. (zie meer details in de snelstarthandleiding).

TINA heeft een geweldige functie waarmee je de broncode rechtstreeks in TINA kunt bewerken en wijzigen.

Laten we de volgende wijziging in de code aanbrengen:

Wijzig de instructie (hierboven geselecteerd) in regel 25 (u kunt het regelnummer in de rechterbenedenhoek van het codebewerkingsvenster zien):

van addlw 01H

om 02H toe te voegen

Sla de gewijzigde code op TINA op door op te drukken pictogram en sluit de open MCU-vensters.

Als u op de knop nu, de toename is 2!

Merk op dat de gewijzigde code automatisch wordt opgeslagen in het TINA .TSC-bestand.

De debugger gebruiken

Laten we een andere applicatie bekijken met meer interactiviteit.

Laad het PIC16F84interrupt_rb0.TSC-voorbeeld van TINA uit de map ExamplesMicrocontrollersPic.

Druk op de knop. Het lijkt er aanvankelijk op dat er niets gebeurt.

Als u echter op de schakelaar SW-HL1 klikt, gaat het display 1 vooruit telkens wanneer de schakelaar verandert van Laag naar Hoog.

Dankzij de interrupt-verwerkingscapaciteit van de PIC kunnen we switchwijzigingen detecteren.

Laten we de bewerking nu gedetailleerder bekijken met behulp van de interactieve ASM-foutoplosser van TINA.

Selecteer Optie in het menu Analyse om de foutopsporing te activeren. Stel vervolgens het selectievakje "Debugger voor MCU-code inschakelen" in, zoals hieronder wordt getoond in het dialoogvenster Analyse-opties.

Druk op de knop OK en de MCU-foutopsporing verschijnt:

Laten we de programma-uitvoering stap voor stap volgen door op de. Te drukken Traceren in knop.

Na ongeveer 14-klikken komen we bij het label PT1: waar het programma in een oneindige lus lijkt te zitten.

PT1: INCF TEMP, F GOTO PT1

Klik nu op de schakelaar SW-HL1 en wijzig deze in Hoog. (U zou moeten klikken wanneer de cursor verandert in een naar boven wijzende pijl Î). Ga terug naar de foutopsporing en klik op de Trace into-knop twee keer. Het programma herkent de interrupt en springt in de


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

verhoog de TELLER en kopieer deze naar POORT A. De uitvoer zal 1 zijn. Hierna keert het programma terug naar de "oneindige lus" op PT1.

De code in de foutopsporing bewerken

Laten we nu een kleine wijziging in het programma aanbrengen om het gebruik van de foutopsporing te demonstreren. Dupliceer de INCF COUNTER, F-instructie met kopiëren en plakken als volgt:

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

Nu als u op drukt het programma zal vragen:

Druk op Ja en druk op knop opnieuw. Nu is de toename 2 bij elke Low-High verandering van de schakelaar.

U kunt ook het circuit in de continue werkingsmodus van de foutopsporing controleren door op de knop te drukken knop.

Hoewel de debugger snel zal worden uitgevoerd, kunt u nog steeds de 'oneindige cyclus' en vervolgens de sprong naar het interruptieserverdeel (INT_SERV:) zien wanneer u de schakelaar wijzigt.

Een breekpunt maken

Met de stapsgewijze modus is het vaak onmogelijk om een ​​bepaald punt in het programma te bereiken. Zelfs als u geduldig genoeg bent om duizend stappen te doen, kan het zijn dat de stroom van het programma u niet toelaat waar u wilt.

Om te stoppen bij een bepaalde regel, kunt u de doelinstructie markeren door een "breekpunt" in te stellen.

Voer het programma uit in de continue modus van de foutopsporing met behulp van de Voer de opdracht uit en nu stopt het programma op de gewenste regel voordat de gemarkeerde opdracht wordt uitgevoerd.

Om dit aan te tonen, klikt u op het incrementsoverzicht in onze interruptserver achter het label INT_SERV: en drukt u op Schakelknop omschakelen.

Druk nu op Startknop. Het programma begint te lopen in een "oneindige cyclus".

Ook al heb je een breekpunt ingesteld, code-uitvoering stopt niet omdat het nooit naar het breekpunt komt. Wanneer u echter de omschakeling van Laag naar Hoog wijzigt, stopt het programma bij de gemarkeerde instructie:

   INT_SERV:
             INCF COUNTER, F

Nu kunt u stap voor stap doorgaan of in de modus Run