Obvody mikrokontrolérov
Obvody mikrokontrolérov
Jump to TINA Main Page & General Information
TINA podporuje veľa (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontroléry; neustále pribúdajú nové MCU. Môžete vidieť, upraviť a odladiť program bežiaci v procesore a samozrejme si môžete vytvoriť svoj vlastný kód.
Existujú dva spôsoby poskytovania programu pre mikrokontroléry v TINA. Môžete použiť binárny kód a debugovací súbor vytvorený štandardným prekladačom (napr. MPLAB pre PIC) alebo môžete jednoducho načítať svoj montážny kód na spustenie a ladenie v TINA pomocou zabudovaného debuggera assemblera.
Mikrokontroléry TINA je možné simulovať nielen samostatne, ale aj spolu s analógovými, digitálnymi, HDL alebo inými modelmi.
Spustenie a úprava kódu MCU
Vložte obvod PIC Flasher.TSC zo zložky ExamplesMicrocontrollersPic.
S mikrokontrolérom 16F73 PIC sa objaví nasledujúca schéma s mikrokontrolérom 16F73 PIC:
Tento okruh jednoducho počíta dopredu jeden po druhom. Stlačte tlačidlo
Displej by mal postupovať po jednom.
Dvakrát kliknite na MCU, aby ste v ňom videli kód ASM. (viac podrobností nájdete v príručke Quick Start).
TINA má skvelú funkciu, pomocou ktorej môžete editovať a meniť zdrojový kód priamo v TINA.
Urobte nasledujúce zmeny v kóde:
Zmeňte inštrukciu (vybranú vyššie) v riadku 25 (číslo riadku môžete vidieť v pravom dolnom rohu okna editora kódu):
od prídavku 01H
na pridanie 02H
Zmenený kód uložte do TINA stlačením tlačidla
Ak stlačíte
Zmenený kód sa automaticky uloží do súboru TINA .TSC.
Použitie debuggera
Pozrime sa na inú aplikáciu s viac interaktivity.
Načítajte príklad PIC16F84interrupt_rb0.TSC TINA z priečinka ExamplesMicrocontrollersPic.
Stlačte
Ak však kliknete na prepínač SW-HL1, na displeji sa zobrazí 1 vždy, keď sa prepínač zmení z Nízky na Vysoký.
Schopnosť obsluhy prerušenia PIC nám umožní zistiť zmeny spínača.
Teraz sa pozrime na túto operáciu podrobnejšie pomocou interaktívneho ladiaceho programu ASM od spoločnosti TINA.
Ladiaci program aktivujete výberom možnosti v ponuke Analýza. Potom začiarknite políčko „Povoliť ladiaci program kódu MCU“, ako je uvedené nižšie v dialógovom okne Možnosti analýzy.
Stlačte tlačidlo OK a zobrazí sa ladiaci nástroj MCU:
Nasledujme krok za krokom vykonaním programu stlačením tlačidla
Po asi 14 kliknutí sa dostaneme do PT1: label, kde sa program zdá byť v nekonečnej slučke.
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
zvýšte POČÍTAČ a skopírujte ho do PORT A a výstup bude 1. Potom sa program vráti do „nekonečnej slučky“ na PT1.
Úprava kódu v debuggeri
Teraz urobme malú zmenu v programe, aby sme demonštrovali použitie debuggera. Duplikujte príkaz INCF COUNTER, F príkazom Copy and Paste takto:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Teraz, keď stlačíte tlačidlo
Stlačte Áno a stlačte tlačidlo
Môžete tiež skontrolovať obvod v kontinuálnom režime behu ladiaceho programu stlačením tlačidla
Hoci ladiaci program bude bežať rýchlo, môžete stále vidieť "nekonečný cyklus" a potom skok do časti Prerušenie servera (INT_SERV:), keď zmeníte prepínač.
Vytvorenie bodu zlomu
Pomocou režimu krok za krokom je často nemožné dostať sa do určitého bodu programu. Aj keď ste dostatočne trpezliví na to, aby ste urobili krok tisíc krokov, program vám nemusí dovoliť, aby ste sa dostali tam, kde chcete.
Ak chcete zastaviť na určitom riadku, môžete označiť cieľový príkaz nastavením „breakpoint“.
Spustite program v nepretržitom režime ladiaceho programu pomocou
Ak to chcete demonštrovať, kliknite na príkaz prírastku v našom serveri prerušenia po označení INT_SERV: a stlačte kláves
Teraz stlačte tlačidlo
Aj keď ste nastavili bod prerušenia, spustenie kódu sa nezastaví, pretože sa nikdy nedostane do bodu prerušenia. Keď však zmeníte prepínač z Nízky na Vysoký, program sa zastaví na označenom vyhlásení:
INT_SERV: INCF COUNTER, F
Teraz môžete pokračovať krok za krokom