Qarqet e mikrokontrollorit
Qarqet e mikrokontrollorit
Jump to TINA Main Page & General Information
TINA mbështet shumë (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontrollues; MCU-të e reja vazhdimisht shtohen. Ju mund të shihni, modifikoni dhe korrigjoni programin që ekzekutohet në procesor dhe, natyrisht, mund të krijoni kodin tuaj.
Ka dy mënyra për të siguruar programin për mikrokontrollues në TINA. Ju mund të përdorni kodin binar dhe skedarin e debugut të përpiluar nga një përpilues standard (p.sh. MPLAB për PIC) ose thjesht mund të ngarkoni kodin tuaj të montimit për të kandiduar dhe debuguar në TINA duke përdorur montuesin e tij të ndërtuar në debugger.
Në TINA mikrokontrollorët mund të simulohen jo vetëm, por edhe së bashku me analoge, dixhitale, HDL ose modele të tjera.
Drejtimin dhe redaktimin e kodit MCU
Ngarko qarkun PIC Flasher.TSC nga dosja ShembujMicrocontrollersPic.
Skema e mëposhtme duke përdorur mikrokontrollorin 16F73 PIC do të shfaqet me mikrokontrollorin 16F73 PIC:
Ky qark thjesht llogaritet përpara një nga një. Shtypni
Ekrani duhet të ecë përpara një nga një.
Double-click MCU për të parë kodin ASM në të. (shih më shumë detaje në manualin e Fillimit të Shpejtë).
TINA ka një tipar të madh ku ju mund të redaktoni dhe ndryshoni kodin burimor direkt në TINA.
Lejon të bëjë ndryshimin e mëposhtëm në kodin:
Ndryshoni udhëzimet (të zgjedhura më sipër) në linjën 25 (mund të shihni numrin e linjës në këndin e poshtëm të djathtë të dritares së redaktorit të kodit):
nga shtesa 01H
për të shtuar 02H
Ruaj kodin e ndryshuar te TINA duke shtypur
Nëse ju shtypni
Vini re se kodi i ndryshuar do të ruhet automatikisht në skedarin TINA .TSC.
Duke përdorur debugger
Le të shohim një aplikacion me më shumë ndërveprim.
Ngarko PIC16F84interrupt_rb0.TSC shembull i TINA nga ShembujMicrocontrollersPic dosje.
Shtyp
Megjithatë, nëse klikoni në switch SW-HL1, ekrani do të ecë përpara nga 1 çdo herë që kaloni ndryshon nga Low në High.
Aftësia e trajtimit të ndërprerjes së PIC do të na lejojë të zbulojmë ndryshimet e kalimeve.
Tani le të shohim operacionin në më shumë detaje duke përdorur korrigjuesin interaktiv ASM të TINA-s.
Për të aktivizuar korrigjuesin, zgjidhni Opsioni në menunë Analiza. Pastaj vendosni kutinë e zgjedhjes "Aktivizo korrigjuesin e kodit MCU", siç tregohet më poshtë në kutinë e dialogut Opsionet e analizës.
Shtypni butonin OK dhe debugger MCU do të shfaqet:
Le të ndjekim ekzekutimin e programit hap pas hapi duke shtypur
Pas rreth 14 klikimeve ne të merrni në etiketë PT1: ku programi duket të jetë në një lak i pafund.
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
rriteni COUNTER dhe kopjoni në PORT A, dhe rezultati do të jetë 1. Pas kësaj programi do të kthehet në "lak pafund" në PT1.
Redaktimi i kodit në debugger
Tani le të bëjmë një ndryshim të vogël në program për të demonstruar përdorimin e debugger. Duplikoni INCF COUNTER, deklaratën F duke përdorur Copy and Paste si kjo:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Tani kur shtypni
Shtypni Po dhe shtypni
Gjithashtu mund të kontrolloni qarkun në mënyrën e vazhdueshme të drejtimit të debugger duke shtypur
Edhe pse debugger do të kandidojë shpejt, ju mund të shihni ende "ciklin e pafund" dhe pastaj hidhen në pjesën e serverit Interrupt (INT_SERV:) kur ndryshoni kaloni.
Bërja e një pikëpamjeje
Duke përdorur mënyrën hap pas hapi, shpesh është e pamundur të shkosh në një pikë të caktuar në program. Edhe nëse jeni të durueshëm sa të hapni një mijë hapa, rrjedha e programit nuk mund t'ju lejojë të hapni ku të doni.
Për të ndaluar në vijë të veçantë, mund të shënoni deklaratën e synuar duke vendosur një "pikë të prerjes".
Run programin në mënyrë të vazhdueshme të debugger duke përdorur
Për të demonstruar këtë, klikoni në deklaratën e rritjes në serverin tonë ndërprerës pas etiketës INT_SERV: dhe shtypni
Tani shtypni
Edhe pse keni vendosur një piketë, ekzekutimi i kodit nuk do të ndalet sepse nuk merr kurrë pikën e thyerjes. Megjithatë, kur ndërroni kalimin nga Low në Lartë, programi do të ndalet në deklaratën e shënuar:
INT_SERV: INCF COUNTER, F
Tani mund të vazhdoni ose hap pas hapi