Mikrokrmilniška vezja

Mikrokrmilniška vezja

Jump to TINA Main Page & General Information 

TINA podpira veliko (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontrolerji; dodajajo se novi MCU-ji. Program, ki se izvaja v procesorju, lahko vidite, spreminjate in razhroščujete, seveda pa lahko ustvarite svojo kodo.

Na voljo sta dva načina zagotavljanja programa za mikrokontrolerje v TINA. Uporabite lahko dvojiško kodo in datoteko za razhroščevanje, ki jo je naredil standardni prevajalnik (npr. MPLAB za PIC) ali pa samo naložite kodo za montažo, da se zažene in razhroši v TINA-ju z uporabo vgrajenega asembler-debugerja.

Ustvarjanje preprostega nasprotnega vezja z uporabo PIC mikrokrmilnika s programiranjem v zbirnem jeziku

Ustvarjanje preprostega vezja s PIC mikrokrmilnikom s programiranjem C jezika

Osnovno odpravljanje napak mikrokontrolerja z uporabo TINA

V TINA mikrokontrolerjih lahko simuliramo ne samo sami, ampak tudi skupaj z analognimi, digitalnimi, HDL ali drugimi modeli.

Izvajanje in urejanje kode MCU

Vstavite vezje PIC Flasher.TSC iz mape ExampleMicrocontrollersPic.

Naslednja shema z uporabo mikrokrmilnika 16F73 PIC se bo pojavila z mikrokrmilnikom PIC 16F73:

Mikrokrmilniška vezja, slika 1

To vezje preprosto šteje eno za drugo. Pritisnite , da vidite, kako deluje.

Zaslon naj se po korakih pomakne naprej.

Dvokliknite MCU, da vidite kodo ASM v njej. (več podrobnosti najdete v priročniku za hitri začetek).

TINA ima veliko funkcijo, s katero lahko urejate in spreminjate izvorno kodo neposredno v TINA.

Dovolite, da v kodi naredimo naslednje spremembe:

Spremenite navodilo (izbrano zgoraj) v vrstici 25 (v spodnjem desnem kotu okna urejevalnika kode lahko vidite številko vrstice):

od dodatka 01H

da dodamo 02H

Spremenjeno kodo shranite v TINA s pritiskom na ikona in zaprite odprta okna MCU.

Če pritisnete gumb zdaj, prirast bo 2!

Upoštevajte, da se spremenjena koda samodejno shrani v datoteko TINA .TSC.

Uporaba razhroščevalnika

Poglejmo še eno aplikacijo z več interaktivnosti.

Naložite PIC16F84interrupt_rb0.TSC primer TINA iz mape ExampleMicrocontrollersPic.

Pritisnite gumb. Sprva se zdi, da se nič ne dogaja.

Če pa kliknete na stikalo SW-HL1., Se bo zaslon pomaknil naprej z 1 vsakič, ko se stikalo spremeni iz nizke v visoko.

PIC-jeva zmožnost prekinjanja bo omogočila odkrivanje sprememb stikala.

Zdaj pa si poglejmo podrobneje z interaktivnim razhroščevalnikom ASM za TINA.

Če želite aktivirati iskalnik napak, v meniju Analiza izberite Možnost. Nato nastavite potrditveno polje »Omogoči razhroščevalnik kode MCU«, kot je prikazano spodaj v pogovornem oknu Možnosti analize.

Pritisnite gumb OK in prikazal se bo napajalnik MCU:

Sledimo izvedbi programa korak za korakom s pritiskom na gumb Trace Into gumb.

Po klicih 14 smo prišli do oznake PT1: kjer se zdi, da je program v neskončni zanki.

PT1: INCF TEMP, F GOTO PT1

Sedaj kliknite na stikalo SW-HL1 in ga spremenite na High. (Ko se kazalec spremeni v puščico navzgor, kliknite na Î). Vrnite se na Debugger in kliknite Dvakrat zaslišite gumb. Program bo prepoznal prekinitev in skočil v


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

povečajte COUNTER in kopirajte v PORT A, izhod pa bo 1. Po tem se bo program vrnil v "neskončno zanko" na PT1.

Urejanje kode v razhroščevalniku

Zdaj pa naredimo majhno spremembo v programu, da prikažemo uporabo razhroščevalnika. Podvojite stavek INCF COUNTER, F z uporabo tega načina kopiranja in lepljenja:

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

Zdaj, ko pritisnete program bo zahteval:

Pritisnite Da in pritisnite ponovno. Zdaj bo prirastek 2 pri vsaki spremembi stikala Low-High.

Prav tako lahko preverite vezje v neprekinjenem načinu delovanja razhroščevalnika s pritiskom na gumb gumb.

Čeprav bo razhroščevalnik potekal hitro, lahko še vedno vidite “neskončni cikel” in nato skočite na del prekinjenega strežnika (INT_SERV:), ko spremenite stikalo.

Izdelava prelomne točke

Z načinom po korakih je pogosto nemogoče priti do določene točke v programu. Tudi če ste dovolj potrpežljivi, da stopite do tisoč korakov, vam pretok programa morda ne bo omogočil, da stopite tam, kjer želite.

Če se želite ustaviti na določeni vrstici, lahko ciljno izjavo označite z nastavitvijo »prekinitvene točke«.

Zaženite program v neprekinjenem načinu razhroščevalnika s pomočjo Zaženi ukaz in zdaj se bo program ustavil na želeni liniji pred izvedbo označenega ukaza.

Da bi to dokazali, kliknite oznako inkrementa v našem prekinitvenem strežniku po oznaki INT_SERV: in pritisnite Preklopi gumb za prekinitev.

Sedaj pritisnite Zaženi gumb. Program začne teči v »neskončnem ciklu«.

Čeprav ste nastavili prekinitveno točko, se izvajanje kode ne bo ustavilo, ker nikoli ne bo prišlo do prelomne točke. Vendar, ko spremenite stikalo iz nizke v visoko, se bo program ustavil ob označeni izjavi:

   INT_SERV:
             INCF COUNTER, F

Zdaj lahko nadaljujete po korakih ali v načinu delovanja