Mikrokontrolerska kola

Mikrokontrolerska kola

Jump to TINA Main Page & General Information 

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

Postoje dva načina obezbeđivanja programa za mikrokontrolere u TINA-i. Možete koristiti binarni kod i debug datoteku napravljenu od strane standardnog kompajlera (npr. MPLAB za PIC-ove) ili možete jednostavno učitati vaš kôd za montažu za pokretanje i otklanjanje grešaka u TINA-i koristeći svoj ugrađeni asembler-debugger.

Kreiranje jednostavnog kontra sklopa pomoću PIC mikrokontrolera sa programiranjem na asemblerskom jeziku

Kreiranje jednostavnog kontra sklopa pomoću PIC mikrokontrolera sa programiranjem jezika C

Osnovno otkrivanje grešaka mikrokontrolera pomoću TINA

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

Pokretanje i uređivanje MCU koda

Umetnite PIC Flasher.TSC krug iz foldera ExamplesMicrocontrollersPic.

Sljedeća shema koja koristi 16F73 PIC mikrokontroler će se pojaviti sa 16F73 PIC mikrokontrolerom:

Mikrokontrolerska kola, slika 1

Ovaj sklop jednostavno broji napred jedan po jedan. Pritisnite da biste videli kako radi.

Displej treba da napreduje jedan po jedan.

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

TINA ima odličnu mogućnost kojom možete uređivati ​​i mijenjati izvorni kod izravno u TINA-i.

Omogućimo da napravimo sledeću promenu u kodu:

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

od addlw 01H

da doda 02H

Sačuvajte promenjeni kod u TINA pritiskom na taster i zatvorite otvorene prozore za MCU.

Ako pritisnete dugme sada, prirast će biti 2!

Imajte na umu da će promenjeni kod biti automatski sačuvan u TINA .TSC datoteci.

Korišćenje debagera

Pogledajmo još jednu aplikaciju sa više interaktivnosti.

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

Pritisnite taster dugme. Na prvi pogled izgleda da se ništa ne događa.

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

PIC-ova sposobnost upravljanja prekidima će nam omogućiti da otkrijemo promjene u prekidačima.

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

Da biste aktivirali program za pronalaženje pogrešaka, izaberite opciju u meniju Analiza. Zatim podesite potvrdni okvir “Enable MCU Code debugger” (Omogući otklanjanje grešaka u MCU kodu), kao što je prikazano ispod u dijalogu Opcije analize.

Pritisnite dugme OK i pojavit će se MCU debugger:

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

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 promenite ga na High. (Trebate kliknuti kada se kursor promijeni u strelicu prema gore). Vratite se na Debugger i kliknite na Pratite dugme dvaput. 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-u.

Uređivanje koda u programu za ispravljanje pogrešaka

Sada napravimo malu promjenu u programu kako bismo demonstrirali korištenje debugera. Udvostručite naredbu INCF COUNTER, F koristeći Kopiraj i Zalijepi ovako:

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

Sada kada pritisnete program će pitati:

Pritisnite Da i pritisnite ponovo. 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 dugme.

Iako će se program za otklanjanje pogrešaka brzo pokrenuti, još uvijek možete vidjeti “beskonačni ciklus”, a zatim skočiti na Interrupt server dio (INT_SERV:) kada promijenite prekidač.

Pravljenje tačke prekida

Koristeći korak-po-korak režim, često je nemoguće doći do određene tačke u programu. Čak i ako ste dovoljno strpljivi da napravite korak od hiljadu koraka, protok programa vam možda neće omogućiti da krenete tamo gde želite.

Da biste se zaustavili na određenoj liniji, možete označiti odrednicu cilja postavljanjem „tačke prekida“.

Pokrenite program u neprekidnom načinu rada debagera koristeći Pokrenite naredbu i program će se zaustaviti na željenoj liniji prije izvršavanja označene naredbe.

Da bi to demonstrirali, kliknite na izjavu inkrementa na našem interrupt serveru nakon oznake INT_SERV: i pritisnite Toggle break button.

Sada pritisnite Run button. Program počinje da radi u "beskonačnom ciklusu".

Iako ste postavili tačku prekida, izvršenje koda se neće zaustaviti jer nikada ne dođe do tačke prekida. Međutim, kada promijenite prekidač iz Low u High, program će se zaustaviti na označenoj izjavi:

   INT_SERV:
             INCF COUNTER, F

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