Obwody mikrokontrolera
Obwody mikrokontrolera
Jump to TINA Main Page & General Information
TINA obsługuje wiele (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontrolery; nowe MCU są stale dodawane. Możesz przeglądać, modyfikować i debugować program działający w procesorze i oczywiście możesz stworzyć własny kod.
Istnieją dwa sposoby dostarczenia programu dla mikrokontrolerów w TINA. Możesz użyć kodu binarnego i pliku debugowania utworzonego przez standardowy kompilator (np. MPLAB dla PIC) lub możesz po prostu załadować kod zespołu, aby uruchomić i debugować w TINA za pomocą wbudowanego debugera asemblera.
W TINA mikrokontrolery można symulować nie tylko samodzielnie, ale także razem z analogowymi, cyfrowymi, HDL lub innymi modelami.
Uruchamianie i edycja kodu MCU
Załaduj obwód PIC Flasher.TSC z folderu ExampleMicrocontrollersPic.
Poniższy schemat wykorzystujący mikrokontroler 16F73 PIC pojawi się wraz z mikrokontrolerem PIC 16F73:
Ten obwód po prostu liczy do przodu jeden po drugim. wciśnij
Wyświetlacz powinien przesuwać się jeden po drugim.
Kliknij dwukrotnie MCU, aby zobaczyć w nim kod ASM. (więcej szczegółów w podręczniku Szybki start).
TINA ma świetną funkcję, dzięki której możesz edytować i zmieniać kod źródłowy bezpośrednio w TINA.
Pozwala dokonać następującej zmiany w kodzie:
Zmień instrukcję (wybraną powyżej) w wierszu 25 (możesz zobaczyć numer linii w prawym dolnym rogu okna edytora kodu):
z addlw 01H
do addlw 02H
Zapisz zmieniony kod w TINA, naciskając
Po naciśnięciu
Zauważ, że zmieniony kod zostanie automatycznie zapisany w pliku TINA .TSC.
Korzystanie z debugera
Zobaczmy inną aplikację o większej interaktywności.
Załaduj przykład PIC16F84interrupt_rb0.TSC TINA z folderu ExamplesMicrocontrollersPic.
Naciśnij
Jeśli jednak klikniesz przełącznik SW-HL1., Wyświetlacz przesunie się do przodu o 1 za każdym razem, gdy przełącznik zmieni się z niskiego na wysoki.
Możliwość obsługi przerwań PIC pozwoli nam wykryć zmiany przełączników.
Teraz przyjrzyjmy się operacji bardziej szczegółowo, używając interaktywnego debuggera ASM TINA.
Aby aktywować debuger, wybierz opcję w menu Analiza. Następnie ustaw pole wyboru „Włącz debuger kodu MCU”, jak pokazano poniżej w oknie dialogowym Opcje analizy.
Naciśnij przycisk OK i pojawi się debuger MCU:
Prześledźmy wykonanie programu krok po kroku, naciskając
Po kliknięciach 14 docieramy do etykiety PT1:, gdzie program znajduje się w nieskończonej pętli.
PT1: TEMP INCF, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
zwiększyć LICZNIK i skopiować do PORTU A, a wyjściem będzie 1. Po tym program powróci do „nieskończonej pętli” w PT1.
Edycja kodu w debuggerze
Teraz dokonajmy niewielkiej zmiany w programie, aby zademonstrować użycie debuggera. Powiel instrukcję INCF COUNTER, F za pomocą funkcji Kopiuj i Wklej w ten sposób:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Teraz, gdy naciśniesz
Naciśnij Tak i naciśnij
Możesz również sprawdzić obwód w trybie ciągłego działania debuggera, naciskając
Nawet jeśli debugger będzie działał szybko, nadal można zobaczyć „cykl nieskończony”, a następnie skok do części serwera Przerwanie (INT_SERV:) po zmianie przełącznika.
Tworzenie punktu przerwania
Korzystając z trybu krok po kroku, często niemożliwe jest uzyskanie określonego punktu w programie. Nawet jeśli jesteś wystarczająco cierpliwy, aby wykonać tysiąc kroków, przepływ programu może nie pozwolić Ci na krok, gdzie chcesz.
Aby zatrzymać się w określonym wierszu, możesz oznaczyć instrukcję docelową, ustawiając „punkt przerwania”.
Uruchom program w trybie ciągłym debuggera za pomocą
Aby to wykazać, kliknij instrukcję przyrostową w naszym serwerze przerwań po etykiecie INT_SERV: i naciśnij klawisz
Teraz naciśnij
Nawet jeśli ustawiłeś punkt przerwania, wykonanie kodu nie zatrzyma się, ponieważ nigdy nie dotrze do punktu przerwania. Jednak po zmianie przełączenia z niskiego na wysoki program zatrzyma się na zaznaczonym oświadczeniu:
INT_SERV: INCF COUNTER, F
Teraz możesz kontynuować krok po kroku