Krugovi mikrokontrolera

Krugovi mikrokontrolera

Jump to TINA Main Page & General Information 

TINA podržava mnogo (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontrolera; dodaju se novi MCU-ovi. Možete vidjeti, izmijeniti i ispraviti program koji se izvodi u procesoru i, naravno, možete stvoriti vlastiti kod.

Postoje dva načina pružanja programa za mikrokontrolere u TINA-i. Možete koristiti binarni kod i debug datoteku koju je izradio standardni kompajler (npr. MPLAB za PIC-ove) ili možete jednostavno učitati svoj montažni kod za pokretanje i ispravljanje pogrešaka u TINA-i pomoću ugrađenog asembler-debugera.

Stvaranje jednostavnog kontra sklopa pomoću PIC mikrokontrolera s programiranjem na asemblerskom jeziku

Stvaranje jednostavnog kontra sklopa pomoću PIC mikrokontrolera s programiranjem jezika C

Osnovno ispravljanje pogrešaka pomoću TINA-a

U TINA-i se mikrokontroleri mogu simulirati ne samo sami, već i zajedno s analognim, digitalnim, HDL ili drugim modelima.

Pokretanje i uređivanje MCU koda

Umetnite krug PIC Flasher.TSC iz mape ExampleMicrocontrollersPic.

Sljedeća shema pomoću mikrokontrolera 16F73 PIC pojavit će se s mikrokontrolerom PIC 16F73:

Mikrokontrolerski sklopovi, slika 1

Ovaj sklop jednostavno broji naprijed jedan po jedan. pritisni kako biste vidjeli kako radi.

Zaslon bi trebao napredovati jedan po jedan.

Dvaput kliknite MCU da biste vidjeli ASM kod u njemu. (više pojedinosti potražite u priručniku za brzi početak).

TINA ima veliku značajku u kojoj možete urediti i promijeniti izvorni kod izravno u TINA.

Omogućujemo sljedeću izmjenu koda:

Promijenite upute (odabrane iznad) u retku 25 (broj retka možete vidjeti u donjem desnom kutu prozora uređivača koda):

od dodatka 01H

za dodavanje 02H

Spremite promijenjeni kod u TINA pritiskom na tipku i zatvorite otvorene prozore MCU-a.

Ako pritisnete gumb sada, prirast će biti 2!

Imajte na umu da će se promijenjeni kod automatski spremiti u TINA .TSC datoteku.

Korištenje alata za ispravljanje pogrešaka

Pogledajmo još jednu aplikaciju s više interaktivnosti.

Umetnite PIC16F84interrupt_rb0.TSC primjer TINA-a iz mape ExamplesMicrocontrollersPic.

Pritisnite dugme. Isprva se čini da se ništa ne događa.

Međutim, ako kliknete na prekidač SW-HL1., Zaslon će se pomaknuti prema naprijed za 1 svaki put kada se preklopnik promijeni s Low na High.

PIC-ova sposobnost prekida rukovanja omogućit će nam da otkrijemo promjene u prekidačima.

Sada ćemo detaljnije vidjeti operaciju koristeći TINA-in interaktivni ASM debugger.

Da biste aktivirali program za pronalaženje pogrešaka, na izborniku Analiza odaberite Option. Zatim postavite potvrdni okvir "Enable MCU Code debugger" (Omogući otklanjanje pogrešaka kod MCU koda), kao što je prikazano dolje u dijaloškom okviru Mogućnosti analize.

Pritisnite gumb OK i pojavit će se MCU debugger:

Pratimo izvršavanje programa korak po korak pritiskom na gumb Trace Into gumb.

Nakon oko 14 klikova stižemo do oznake PT1: gdje se čini da je program u beskonačnoj petlji.

PT1: INCF TEMP, F GOTO PT1

Sada kliknite na SW-HL1 prekidač i promijenite ga na High. (Trebate kliknuti kada se kursor promijeni u strelicu prema gore). Vratite se na Debugger i kliknite na Dvaput pratite gumb. Program će prepoznati prekid i skočiti u


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

uvećajte COUNTER i kopirajte u PORT A, a izlaz će biti 1. Nakon toga program će se vratiti na "beskonačnu petlju" na PT1.

Uređivanje koda u programu za ispravljanje pogrešaka

Sada napravimo malu promjenu u programu kako bismo demonstrirali korištenje programa za ispravljanje pogrešaka. Udvostručite naredbu INCF COUNTER, F pomoću Kopiraj i Zalijepi na ovaj način:

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

Sada kada pritisnete program će pitati:

Pritisnite Da i pritisnite ponovno. Sada će inkrement biti 2 na svakoj Low-High promjeni prekidača.

Također možete provjeriti krug u kontinuiranom modu rada debagera pritiskom na tipku tipku.

Iako će se program za pronalaženje pogrešaka brzo pokrenuti, još uvijek možete vidjeti "beskonačni ciklus", a zatim prijeći na dio poslužitelja prekida (INT_SERV:) kada promijenite prekidač.

Izrada prijelomne točke

Koristeći korak-po-korak način, često je nemoguće doći do određene točke u programu. Čak i ako ste dovoljno strpljivi da napravite korak od tisuću koraka, tijek programa možda vam neće omogućiti da krenete tamo gdje želite.

Da biste se zaustavili na određenoj liniji, možete označiti odrednicu cilja postavljanjem "točke prijeloma".

Pokrenite program u neprekidnom načinu za ispravljanje pogrešaka pomoću Pokrenite naredbu i program će se zaustaviti na željenoj liniji prije izvršavanja označene naredbe.

Da biste to pokazali, kliknite na izjavu inkrementa na našem poslužitelju prekida nakon oznake INT_SERV: i pritisnite Prebaci prekidač.

Sada pritisnite Pokreni gumb. Program počinje raditi u "beskonačnom ciklusu".

Iako ste postavili točku prekida, izvršavanje koda neće se zaustaviti jer nikad ne dođe do točke prijeloma. Međutim, kada promijenite prekidač s Low na High, program će se zaustaviti na označenom izrazu:

   INT_SERV:
             INCF COUNTER, F

Sada možete nastaviti korak po korak ili u načinu rada Pokreni