Obvody mikrokontroléru

Obvody mikrokontroléru

Jump to TINA Main Page & General Information 

TINA podporuje mnoho (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontroléry; nové MCU jsou neustále přidávány. Můžete vidět, upravit a ladit program běžící v procesoru a samozřejmě můžete vytvořit svůj vlastní kód.

Pro mikroprocesory v TINA existují dva způsoby. Můžete použít binární kód a ladicí soubor vytvořený standardním kompilátorem (např. MPLAB pro PIC), nebo můžete jednoduše nahrát váš kód pro spuštění a ladění v TINA pomocí vestavěného debuggeru assembleru.

Vytvoření jednoduchého čítačového obvodu pomocí mikroprocesoru PIC s programováním jazyka sestav

Vytvoření jednoduchého čítacího obvodu pomocí mikrokontroléru PIC s programováním v jazyce C

Základní ladění mikrokontroléru pomocí TINA

Mikrokontroléry TINA lze simulovat nejen samostatně, ale také společně s analogovými, digitálními, HDL nebo jinými modely.

Spuštění a úprava kódu MCU

Vložte obvod PIC Flasher.TSC ze složky ExamplesMicrocontrollersPic.

S mikrokontrolérem 16F73 PIC se objeví následující schéma s mikrokontrolérem 16F73 PIC:

Obvody mikrokontroléru, obraz 1

Tento okruh se jednoduše počítá dopředu po jednom. zmáčkni zobrazíte, jak to funguje.

Displej by měl postupovat o krok vpřed.

Poklepejte na jednotku MCU a zobrazte v ní kód ASM. (více podrobností naleznete v příručce Quick Start).

TINA má skvělou vlastnost, kterou můžete editovat a měnit zdrojový kód přímo v TINA.

Umožňuje provést následující změnu kódu:

Změňte instrukci (vybranou výše) v řádku 25 (číslo řádku můžete vidět v pravém dolním rohu okna editoru kódu):

od addlw 01H

přidejte 02H

Změněný kód uložte stisknutím tlačítka a zavřete otevřená okna MCU.

Pokud stisknete tlačítko nyní, přírůstek bude 2!

Změněný kód bude automaticky uložen do souboru TINA .TSC.

Pomocí ladicího programu

Podívejme se na jinou aplikaci s více interaktivitou.

Načíst příklad PIC16F84interrupt_rb0.TSC TINA ze složky ExamplesMicrocontrollersPic.

Stiskněte tlačítko. Zpočátku se zdá, že se nic neděje.

Pokud však klepnete na přepínač SW-HL1, displej bude krok vpřed o 1 pokaždé, když se přepínač změní z Low na High.

Schopnost zpracování PIC přerušení nám umožní detekovat změny přepínače.

Nyní se podívejme na operaci podrobněji pomocí interaktivního ladicího programu ASM TINA.

Chcete-li aktivovat ladicí program, vyberte možnost v nabídce Analýza. Poté nastavte zaškrtávací políčko „Povolit ladicí kód MCU kódu“, jak je zobrazeno níže v dialogovém okně Možnosti analýzy.

Stiskněte tlačítko OK a zobrazí se ladicí program MCU:

Následně krok za krokem sledujeme provádění programu stisknutím tlačítka Trace Do tlačítka.

Po asi 14 kliknutí se dostaneme do PT1: label, kde se program zdá být v nekonečné smyčce.

PT1: INCF TEMP, F GOTO PT1

Nyní klikněte na přepínač SW-HL1 a změňte ho na hodnotu Vysoká. (Měli byste kliknout, když se kurzor změní na šipku nahoru Î). Vraťte se do Debuggeru a klikněte na Dvakrát stiskněte tlačítko Stop. Program rozpozná přerušení a skočí do


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

zvýšíte COUNTER a zkopírujete do PORT A a výstup bude 1. Poté se program vrátí do „nekonečné smyčky“ na PT1.

Úprava kódu v ladicím programu

Nyní udělejme malou změnu v programu, abychom ukázali použití debuggeru. Duplikujte příkaz INCF COUNTER, F příkazem Copy and Paste takto:

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

Nyní, když stisknete tlačítko program se zeptá:

Stiskněte Ano a stiskněte tlačítko znovu. Nyní bude přírůstek 2 při každé změně přepínače Low-High.

Okruh můžete také zkontrolovat v režimu průběžného běhu ladicího programu stisknutím tlačítka tlačítko.

Přestože ladicí program bude běžet rychle, můžete stále vidět "nekonečný cyklus" a potom přejít na část Přerušení serveru (INT_SERV:) při změně přepínače.

Vytvoření zarážky

Pomocí režimu krok za krokem je často nemožné dostat se do určitého bodu programu. I když jste trpěliví na to, abyste mohli udělat krok po tisíci krocích, tok programu vám neumožňuje krok, kam chcete.

Chcete-li zastavit na konkrétním řádku, můžete označit cílový příkaz nastavením „zarážky“.

Spusťte program v nepřetržitém režimu ladicího programu pomocí Spustit příkaz a nyní se program zastaví na požadovaném řádku před provedením označeného příkazu.

Chcete-li to ukázat, klepněte na příkaz přírůstek v našem serveru přerušení po označení INT_SERV: a stiskněte klávesu Přepnout tlačítko přerušení.

Nyní stiskněte tlačítko Tlačítko Spustit. Program začne běžet v „nekonečném cyklu“.

Přestože jste nastavili zarážku, spuštění kódu se nezastaví, protože se nikdy nedostane do bodu přerušení. Když však změníte přepínač z Low na High, program se zastaví na označeném příkazu:

   INT_SERV:
             INCF COUNTER, F

Nyní můžete pokračovat krok za krokem nebo v režimu Run