Mikrokontroller áramkörök
Mikrokontroller áramkörök
Jump to TINA Main Page & General Information
A TINA számos mikrokontroller (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontrollerek; új MCU-kat folyamatosan adnak hozzá. Láthatja, módosíthatja és hibakeresheti a processzorban futó programot, és természetesen létrehozhat saját kódot is.
A TINA programban a mikrokontrollerek használatának két módja van. Használhatja a szabványos fordító program által készített bináris kódot és nyomkövető fájlt (pl. MPLAB a PIC-khez) vagy egyszerűen csak betöltheti az assembly kódot a TINA futtatásához és lépésenkénti követéséhez a beépített assembly nyomkövető (debugger) segítségével.
A TINA programban a mikrokontrollerek nemcsak önállóan, hanem analóg, digitális, HDL vagy más modellekkel együtt is szimulálhatók.
MCU kód futtatása és szerkesztése
Töltse be a PIC Flasher.TSC áramkört a EXAMPLES\Microcontrollers\PIC mappából.
Az alábbi 16F73 PIC mikrokontrollert tartalmazó kapcsolási rajz jelenik meg:
Ez az áramkör egy egyszerű számlálót valósít meg. Nyomja meg a
A kijelző ekkor egyesével számol előrefelé.
Kattintson duplán az MCU-ra az ASM-kód megtekintéséhez. (További részletek a TINA kézikönyvben találhatóak).
A TINA program nagyszerű tulajdonságai közé tartozik, hogy a forráskódot közvetlenül a TINA-ban (akár futtatás közben is) szerkesztheti és módosíthatja.
Változtassuk meg a kódot a következőképp:
Változtassuk meg a 25. sorban lévő utasítást (a sorszámláló a szerkesztő ablak jobb alsó sarkában található)
addlw 01H-ról a következőre:
02H
Mentse el a módosított kódot a TINA-ba a
Ha most megnyomja a
Ne feledje, hogy a módosított kód automatikusan elmentésre kerül a TINA .TSC fájlba.
A nyomkövető használata
Lássunk egy másik, több interaktivitást tartalmazó példát!
Töltse be a PIC16F84interrupt_rb0.TSC példáját a TINA Examples\Microcontrollers\PIC mappából.
Nyomja meg a
Ha azonban az SW-HL1 kapcsolóra kattint, a kijelző egyet lép előre minden alkalommal, amikor a kapcsoló alacsonyról magasra vált.
A PIC mikrokontroller képes a lábain fellépő változások detektálására.
Most nézük meg részletesebben az MCU nyomkövető használatát a TINA interaktív ASM nyomkövetőjének segítségével
A hibakereső aktiválásához válassza az Elemzés menü Option elemét. Ezután jelölje be az „MCU-kód hibakereső engedélyezése jelölőnégyzetet”, az alábbiakban az Elemzési beállítások párbeszédpanelen látható módon.
Nyomja meg az OK gombot. Az alábbi MCU nyomkövető (ablak) jelenik meg:
A programot lépésenként is követhetjük az
Körülbelül 14 ciklus után a PT1 címkéhez kerülünk, aminél úgy tűnik a program végtelen ciklusba került.
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
A számláló értékét eggyel növeli, ami a kijelzőn is megjelenik, majd visszatér a megszakításból a PT1 ciklusba.
Szerkesztés nyomkövető üzemmódban
Most hajtsunk végre egy kis módosítást a programban, a nyomkövető használata közben Duplikálja le az INCF COUNTER, F sort.
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Most nyomja meg az
Nyomjuk meg az Igen gombot a dialógusban, majd nyomjuk meg
A programot folytonosan futtathatjuk a
Annak ellenére, hogy a hibakereső gyorsan fut, a kapcsoló megváltoztatásakor még mindig láthatja a „végtelen ciklust”, majd a megszakítás szerverrészre ugrást (INT_SERV:).
Töréspontok használata
A lépésenkénti nyomkövetés nem alkalmas sokszor bizonyos kódrészek elérésére, mert ilyenkor túl sok lépést kellene megtenni manuálisan.
Töréspont (breakpoint) megadása a kiválasztott sornál.
Egy adott sor eléréséhez használjuk a töréspontokat ilyenkor, nyomjuk meg a
Nézzük ezt egy példán keresztül. Helyezzünk el töréspontot a
Most nyomja meg a
A program belefut a PTXNUMX címkénél levő végtelen ciklusba, azonban ha a kapcsolót Alacsony szintből Magas szintbe visszük, a program megáll az általunk kijelölt töréspontnál:
INT_SERV: INCF COUNTER, F
A végrehajtást folytathatja innen a