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; neustále se přidávají nové MCU. Můžete vidět, upravovat a ladit program běžící v procesoru a samozřejmě si 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.
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:
Tento okruh se jednoduše počítá dopředu po jednom. zmáčkni
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
Pokud stisknete
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
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í interního ladicího programu ASM od TINA.
Chcete-li aktivovat ladicí program, vyberte v nabídce Analýza možnost Možnost. Poté zaškrtněte políčko „Povolit ladicí program kódu MCU“, jak je znázorněno 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
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
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
Stiskněte Ano a stiskněte tlačítko
Okruh můžete také zkontrolovat v režimu průběžného běhu ladicího programu stisknutím tlačítka
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í
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
Nyní stiskněte tlačítko
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