Microcontroller kredsløb

Microcontroller kredsløb

Jump to TINA Main Page & General Information 

TINA støtter en masse (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrocontrollere; nye MCU'er bliver konstant tilføjet. Du kan se, ændre og fejle det program, der kører i processoren, og selvfølgelig kan du oprette din egen kode.

Der er to måder at levere programmet til mikrocontrollere i TINA. Du kan bruge den binære kode og debug-fil lavet af en standard compiler (f.eks. MPLAB til PIC'er), eller du kan bare indlæse din samlingskode for at køre og fejle i TINA ved hjælp af den indbyggede assembler-debugger.

Oprettelse af et simpelt modkredsløb ved hjælp af en PIC mikrocontroller med montagesprog programmering

Oprettelse af et simpelt mod kredsløb ved hjælp af en PIC mikrocontroller med C sprog programmering

Grundlæggende mikrocontroller debugging ved hjælp af TINA

I TINA kan mikrocontrollere simuleres ikke alene alene, men også sammen med analoge, digitale, HDL eller andre modeller.

Kørsel og redigering af MCU-kode

Indlæs PIC Flasher.TSC-kredsløbet i eksemplet ExamplesMicrocontrollersPic.

Følgende skematiske bruger 16F73 PIC mikrocontroller vises med 16F73 PIC mikrocontroller:

Microcontroller kredsløb, billede 1

Dette kredsløb tæller simpelthen fremad en-til-en. Tryk på knappen for at se, hvordan det virker.

Displayet skal træde frem en for en.

Dobbeltklik på MCU'en for at se ASM-koden i den. (se flere detaljer i Quick Start manualen).

TINA har en fantastisk funktion, hvorved du kan redigere og ændre kildekoden direkte i TINA.

Lad os gøre følgende ændring i koden:

Ændre instruktionen (valgt ovenfor) i linje 25 (du kan se linjenummeret i højre nederste hjørne af kodeditorens vindue):

fra addlw 01H

at addlw 02H

Gem den ændrede kode til TINA ved at trykke på ikon og luk de åbne MCU vinduer.

Hvis du trykker på knappen nu, stigningen bliver 2!

Bemærk, at den ændrede kode automatisk gemmes i TINA .TSC filen.

Brug af debuggeren

Lad os se et andet program med mere interaktivitet.

Indlæs PIC16F84interrupt_rb0.TSC eksemplet på TINA fra mappen ExamplesMicrocontrollersPic.

Tryk knap. Det forekommer i første omgang, at der ikke sker noget.

Men hvis du klikker på SW-HL1-kontakten, vil displayet gå fremad af 1 hver gang skifteren skifter fra lav til høj.

PIC'ens afbrydelseshåndteringsfunktion gør det muligt for os at opdage omskiftningsændringer.

Lad os nu se operationen mere detaljeret ved hjælp af TINAs interaktive ASM debugger.

For at aktivere debuggeren skal du vælge Valg på menuen Analyse. Indstil derefter afkrydsningsfeltet Aktiver MCU-kodefejlfinding, som vist nedenfor i dialogboksen Analysevalg.

Tryk på OK-knappen, og MCU-debuggeren vises:

Lad os følge programudførelsen trin for trin ved at trykke på Spor til knap.

Efter omkring 14 klik kommer vi til PT1: etiketten, hvor programmet ser ud til at være i en uendelig sløjfe.

PT1: INCF TEMP, F GOTO PT1

Klik nu på SW-HL1-kontakten og skift den til High. (Du skal klikke, når markøren skifter til en pil opad Î). Gå tilbage til Debugger og klik på Spor til knappen to gange. Programmet genkender afbrydelsen og hopper ind i


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

øg COUNTER og kopier til PORT A, og output vil være 1. Efter dette vil programmet vende tilbage til "uendelig sløjfe" på PT1.

Redigering af koden i debuggeren

Lad os nu lave en lille ændring i programmet for at demonstrere brugen af ​​debuggeren. Kopier INCF COUNTER, F-sætningen ved hjælp af Kopier og Sæt som følger:

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

Nu, når du trykker på programmet vil spørge:

Tryk på Ja, og tryk på knappen igen. Nu bliver inkrementet 2 ved hver lav-høj ændring af kontakten.

Du kan også kontrollere kredsløbet i debuggerens løbende driftstilstand ved at trykke på knappen.

Selvom debuggeren løber hurtigt, kan du stadig se den "uendelige cyklus" og derefter springet til Interrupt-serverdelen (INT_SERV:), når du skifter omskifteren.

Gør et breakpoint

Ved hjælp af trin-for-trin-tilstanden er det ofte umuligt at komme til et bestemt punkt i programmet. Selvom du er tålmodig nok til at træde et tusind trin, kan programmets strøm muligvis ikke give dig mulighed for at træde hvor du vil.

For at stoppe ved en bestemt linje kan du markere målopgørelsen ved at indstille et "breakpoint".

Kør programmet i debuggerens kontinuerlige tilstand ved hjælp af Kør kommando og nu stopper programmet på den ønskede linje, før du udfører den markerede kommando.

For at demonstrere dette skal du klikke på stigningsopgørelsen i vores afbryderserver efter INT_SERV: -mærket og trykke på Skift pause knap.

Tryk nu på Kør knappen. Programmet begynder at løbe i en "uendelig cyklus".

Selvom du har sat et breakpoint, vil kodekørsel ikke stoppe, fordi det aldrig kommer til breakpoint. Men når du skifter skifte fra Lav til Høj, stopper programmet ved den markerede erklæring:

   INT_SERV:
             INCF COUNTER, F

Nu kan du fortsætte enten trin for trin eller i Run-tilstanden