Mikrokontrolleru ķēdes

Mikrokontrolleru ķēdes

Jump to TINA Main Page & General Information 

TINA atbalsta daudz (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontrolleri; pastāvīgi tiek pievienoti jauni MCU. Jūs varat redzēt, modificēt un atkļūdot programmu, kas darbojas procesorā, un, protams, varat izveidot savu kodu.

Ir divi veidi, kā nodrošināt TINA mikrokontrolleru programmu. Jūs varat izmantot bināro kodu un atkļūdošanas failu, ko izveidojis standarta kompilators (piemēram, MPLAB PIC), vai arī varat vienkārši ielādēt montāžas kodu, lai palaistu un atkļūdotu TINA, izmantojot iebūvēto montētāja-atkļūdotāju.

Vienkārša skaitītāja kontūra izveide, izmantojot PIC mikrokontrolleru ar montāžas valodas programmēšanu

Vienkārša skaitītāja kontūra izveide, izmantojot PIC mikrokontrolleru ar C valodas programmēšanu

Pamata mikrokontrolleru atkļūdošana, izmantojot TINA

TINA mikrokontrolleri var simulēt ne tikai atsevišķi, bet arī kopā ar analogiem, digitāliem, HDL vai citiem modeļiem.

MCU koda darbināšana un rediģēšana

Ievietojiet PIC Flasher.TSC ķēdi no mapes PiemēriMicrocontrollersPic.

Ar 16F73 PIC mikrokontrolleru parādīsies šāda shēma, izmantojot mikrokontrolleru 16F73 PIC:

Mikrokontrolleru shēmas, attēls 1

Šī ķēde vienkārši skaitās uz priekšu pa vienam. Nospiediet poga, lai redzētu, kā tā darbojas.

Displejam ir jāvirzās uz priekšu pa vienam.

Lai redzētu ASM kodu, veiciet dubultklikšķi uz MCU. (skatiet sīkāku informāciju ātrās lietošanas pamācībā).

TINA ir lieliska funkcija, ar kuras palīdzību jūs varat rediģēt un mainīt pirmkodu tieši TINA.

Ļauj veikt izmaiņas šādā kodā:

Mainiet norādījumus (atlasīti iepriekš) rindā 25 (varat redzēt rindas numuru kodu redaktora loga labajā apakšējā stūrī):

no addlw 01H

pievienot 02H

Saglabājiet nomainīto kodu uz TINA, nospiežot ikona un aizveriet atvērtos MCU logus.

Ja nospiežat poga tagad, pieaugums būs 2!

Ņemiet vērā, ka mainītais kods tiks automātiski saglabāts TINA .TSC failā.

Izmantojot atkļūdotāju

Apskatīsim citu programmu ar lielāku interaktivitāti.

Ievietojiet PINA16F84interrupt_rb0.TSC TINA piemēru no mapes PiemēriMicrocontrollersPic.

Nospiediet poga. Sākumā šķiet, ka nekas nenotiek.

Tomēr, ja noklikšķināt uz SW-HL1 slēdža, displejs katru reizi, kad pārslēdzas no zemas uz augsto, pārslēgsies uz priekšu ar 1.

PIC darbības pārtraukšanas iespējas ļaus mums noteikt slēdža izmaiņas.

Tagad aplūkosim operāciju sīkāk, izmantojot TINA interaktīvo ASM atkļūdotāju.

Lai aktivizētu atkļūdotāju, izvēlnē Analīze izvēlieties Opcija. Pēc tam atzīmējiet izvēles rūtiņu “Iespējot MCU koda atkļūdotāju”, kā parādīts zemāk Analīzes opciju dialoglodziņā.

Nospiediet pogu OK un parādīsies MCU atkļūdotājs:

Sekosim programmas izpildei soli pa solim, nospiežot Izsekot pogai.

Pēc aptuveni 14 klikšķiem mēs nonākam pie PT1: etiķetes, kur programma, šķiet, ir bezgalīga cilpa.

PT1: INCF TEMP, F GOTO PT1

Tagad noklikšķiniet uz SW-HL1 slēdža un nomainiet to uz High. (Jums jānoklikšķina, kad kursors mainās uz augšu vērstu bultiņu Î). Doties atpakaļ uz atkļūdotāju un noklikšķiniet uz Trace Into pogu divreiz. Programma atpazīs pārtraukumu un pāriet uz


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

palieliniet COUNTER un kopējiet uz PORT A, un izeja būs 1. Pēc tam programma atgriezīsies pie “bezgalīgas cilpas” PT1.

Koda rediģēšana atkļūdotājā

Tagad izdarīsim nelielas izmaiņas programmā, lai parādītu atkļūdotāja izmantošanu. Dublējiet INCF COUNTER, F paziņojumu, izmantojot šādu kopēšanu un ielīmēšanu:

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

Tagad, kad nospiežat programma lūgs:

Nospiediet Jā un nospiediet vēlreiz. Tagad pieaugums būs 2 katrā zemas augstuma slēdža maiņas laikā.

Jūs varat arī pārbaudīt ķēdi nepārtrauktā atkļūdotāja darbības režīmā, nospiežot poga.

Kaut arī atkļūdotājs darbosies ātri, jūs joprojām varat redzēt “bezgalīgo ciklu” un tad pāriet uz pārtraukt servera daļu (INT_SERV:), kad nomaināt slēdzi.

Pārrāvuma punkta izveide

Izmantojot soli pa solim, bieži vien nav iespējams nokļūt kādā konkrētā programmas punktā. Pat ja jūs esat pietiekami pacietīgs, lai soli varētu veikt tūkstoš soļus, programmas plūsma, iespējams, neļaus jums soli, kur vēlaties.

Lai apturētu konkrētu līniju, varat atzīmēt mērķa paziņojumu, nosakot “pārtraukuma punktu”.

Palaidiet programmu nepārtrauktā atkļūdotāja režīmā, izmantojot Palaist komandu un tagad programma apstāsies vēlamajā rindā, pirms tiek izpildīta atzīmētā komanda.

Lai to pierādītu, pēc INT_SERV: etiķetes noklikšķiniet uz pieauguma paziņojuma mūsu pārtraukšanas serverī un nospiediet Pārslēgt pārtraukuma pogu.

Tagad nospiediet Palaist pogu. Programma sāk darboties „bezgalīgā ciklā”.

Pat ja esat iestatījis pārtraukuma punktu, koda izpilde netiks pārtraukta, jo tā nekad nenonāk pie pārtraukuma punkta. Tomēr, mainot pārslēgšanos no zemas uz augstu, programma apstājas pie norādītā paziņojuma:

   INT_SERV:
             INCF COUNTER, F

Tagad jūs varat turpināt soli pa solim vai Run režīmā