Mikrovaldiklio grandinės
Mikrovaldiklio grandinės
Jump to TINA Main Page & General Information
TINA palaiko daug (PIC, AVR, „Arduino“, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrovaldikliai; nauji MCU nuolat pridedami. Galite pamatyti, modifikuoti ir derinti procesoriuje veikiančią programą ir, žinoma, galite sukurti savo kodą.
Yra du būdai TINA mikrovaldiklių programai teikti. Galite naudoti standartinį kompiliatoriaus atliktą dvejetainį kodą ir derinimo failą (pvz., MPLAB, skirtas PIC), arba galite tiesiog įkelti surinkimo kodą, kad paleistumėte ir ištaisytumėte TINA, naudodami pastatytą montuotojo-debugger.
TINA mikrokontroleriai gali būti imituojami ne tik atskirai, bet ir kartu su analoginiais, skaitmeniniais, HDL ar kitais modeliais.
MCU kodo veikimas ir redagavimas
Įdėkite PIC „Flasher.TSC“ grandinę iš aplanko „exampleMicrocontrollersPic“.
Su 16F73 PIC mikrokontroleriu pasirodys toks schema, naudojant mikrovaldiklį 16F73 PIC:
Ši grandinė tiesiog skaičiuoja viena po kitos. Paspauskite
Ekranas turėtų eiti į priekį vienas po kito.
Dukart spustelėkite MCU, kad pamatytumėte ASM kodą. (žr. daugiau informacijos „Quick Start“ vadove).
TINA turi puikią funkciją, kuria galite redaguoti ir pakeisti pirminį kodą tiesiogiai TINA.
Leidžia atlikti šiuos kodo pakeitimus:
Pakeiskite nurodymą (pasirinktą aukščiau) eilutėje 25 (galite pamatyti eilutės numerį dešiniajame kodo redaktoriaus lango kampe):
iš addlw 01H
pridėti 02H
Pakeiskite pakeistą kodą į TINA, paspausdami
Jei paspausite
Atminkite, kad pakeistas kodas bus automatiškai išsaugomas TINA .TSC faile.
Naudojant derintuvą
Pamatysime kitą programą, turinčią daugiau interaktyvumo.
Įdėkite PIC16F84interrupt_rb0.TSC TINA pavyzdį iš aplanko „Pavyzdžiai“.
Paspauskite
Tačiau, jei spustelėsite SW-HL1 jungiklį, ekranas 1 veiks kiekvieną kartą, kai jungiklis pasikeis iš žemo į aukštą.
PIC pertraukimo tvarkymo galimybė leis mums nustatyti jungiklio pakeitimus.
Dabar pažiūrėkime operaciją išsamiau, naudodamiesi TINA interaktyviu ASM derintuvu.
Norėdami suaktyvinti derintuvą, meniu „Analizė“ pasirinkite „Option“. Tada nustatykite žymės langelį „Įgalinti MCU kodo derinimo programą“, kaip parodyta žemiau dialogo lange Analizės parinktys.
Paspauskite mygtuką OK ir pasirodys MCU debugger:
Stebėkime programos vykdymą palaipsniui, paspausdami
Po 14 paspaudimų mes pateksime į PT1: etiketę, kurioje atrodo, kad programa yra begalinėje linijoje.
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
padidinkite COUNTER ir nukopijuokite į PORT A, o išvestis bus 1. Po to programa grįš į „begalinę kilpą“ PT1.
Kodo redagavimas derintuve
Dabar atlikite nedidelį programos pakeitimą, kad galėtume parodyti debugger. Pasikartokite INCF COUNTER, F pareiškimą naudodami kopijuoti ir įklijuoti taip:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Dabar, kai paspausite
Paspauskite Taip ir paspauskite
Taip pat galite patikrinti grandinę nepertraukiamo derinimo režimo režimu, paspausdami
Nors debugeris veiks greitai, vis tiek galite matyti „begalinį ciklą“ ir tada pereiti prie pertraukos serverio dalies (INT_SERV:), kai keičiate jungiklį.
Lūžio taškas
Naudojant laipsnišką režimą, dažnai neįmanoma patekti į tam tikrą programos tašką. Net jei esate pakankamai pacientas, kad pasiektumėte tūkstantį žingsnių, programos srautas gali neleisti jums žingsnio ten, kur norite.
Jei norite sustabdyti tam tikrą liniją, galite pažymėti tikslinį pareiškimą nustatydami „pertraukos tašką“.
Paleiskite programą nepertraukiamame derinimo režime, naudodami
Norėdami tai įrodyti, spustelėję INT_SERV: etiketę, spauskite ant papildomo pranešimo mūsų nutraukimo serveryje ir paspauskite
Dabar paspauskite
Nors nustatėte pertraukos tašką, kodo vykdymas nesibaigs, nes jis niekada nepasiekia pertraukos tašką. Tačiau pakeisdami jungiklį iš žemo į aukštą, programa sustos pažymėtame pranešime:
INT_SERV: INCF COUNTER, F
Dabar galite tęsti žingsnį po žingsnio