Mikroto'lqinlar davrlari

Mikroto'lqinlar davrlari

Jump to TINA Main Page & General Information 

TINA juda ko'p (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMCmikrokreditlar; yangi MCU'lar doimo qo'shilmoqda. Siz protsessorda ishlaydigan dasturni ko'rishingiz, o'zgartirishingiz va diskvalifikatsiya qilishingiz mumkin, va, albatta, siz o'z kodingizni yaratishingiz mumkin.

TINAda mikrokreditlarni boshqarish uchun dasturni taqdim etishning ikki yo'li mavjud. Standart kompilyator tomonidan ishlab chiqarilgan ikkilik kodni va disk raskadrovka faylini (masalan, PIC uchun MPLAB) ishlatishingiz mumkin yoki o'zingizning o'rnatish kodingizni TINA-da o'rnatilgan assembler-debugger yordamida ishlatish va disk raskadrovka uchun o'rnatishingiz mumkin.

Birlashtiruvchi tilni dasturlash bilan birga PIC mikrokontrolder yordamida oddiy hisoblagichni yaratish

C tili dasturlash bilan PIC mikrokontrolder yordamida oddiy hisoblagichni yaratish

TINA yordamida oddiy mikrokontrolerni disk raskadrovka qilish

TINA mikrokontrollerida faqatgina emas, balki analog, raqamli, HDL yoki boshqa modellar bilan simule mumkin.

MCU kodini ishga tushirish va tahrirlash

ExamplesMicrocontrollersPic papkasida PIC Flasher.TSC o'chirib qo'ying.

16F73 PIC microcontroller bilan quyidagi sxemaga ega bo'ladi:

Microcontroller davrlari, tasvir 1

Ushbu elektron tizim oddiygina birma-bir sanaladi. Tugmasini bosing qanday ishlashini ko'rish uchun tugmachani bosing.

Ekran oldinga qadam bosish kerak.

ASM kodini ko'rish uchun MCU-ni ikki marta bosing. (Qo'shimcha ma'lumotni Tez Bosh qo'llanmasida ko'ring).

TINA to'g'ridan-to'g'ri TINA-da to'g'ridan-to'g'ri kodni o'zgartirish va o'zgartirishingiz mumkin bo'lgan ajoyib xususiyatga ega.

Kodda quyidagi o'zgarishlarni amalga oshiring:

Ko'rsatmani (yuqorida tanlangan) 25 qatorida o'zgartiring (kod muharriri oynasining o'ng pastki qismida chiziq raqamini ko'rishingiz mumkin):

addlw 01H dan

02H qo'shish

O'zgartirilgan kodni TINA-ni bosib saqlang belgisini oching va ochiq MCU oynalarini yoping.

Agar siz Endi tugma 2 bo'ladi!

O'zgartirilgan kod avtomatik ravishda TINA. TSC faylida saqlanadi.

Xato ayıklayıcısını foydalanib

Ko'p interaktivlik bilan boshqa dasturni ko'rib chiqaylik.

ExamplesMicrocontrollersPic papkasida PIC16F84interrupt_rb0.TSC TINA misolini o'rnating.

Tugmasini bosing tugmasini bosing. Birinchidan, hech narsa yuz bermaydi.

Biroq, siz SW-HL1 tugmachasini bosganingizda, indikator 1 tomonidan oldinga siljiydi.

PIC-ning ishlashni to'xtatib turish qobiliyati bizni kalit o'zgarishlarini aniqlash imkonini beradi.

Keling, TINA ning interfaol ASM tuzatuvchisidan foydalanib, operatsiyani batafsil ko'rib chiqaylik.

Xato ayıklayıcısını faollashtirish uchun, Analysis (Analiz) menyusida Option (Varian-r) -ni tanlang. So'ngra, "MCU kodni tuzatuvchini yoqish katagiga belgi qo'ying" deb belgilang, quyida ko'rsatilgan tahlil parametrlari dialog oynasida.

OK tugmasini bosing va MCU xato ayıklayıcı paydo bo'ladi:

Dasturni bajarish jarayonini bosqichma-bosqich bajarib, tugmasini bosing Enter tugmasini bosing.

14 sekin urishdan so'ng, biz dastur PT1: yorlig'ida cheksiz pastadir ko'rinadi.

PT1: INCF TEMP, F GOTO PT1

Endi SW-HL1 tugmachasini bosing va uni "Oliy" ga o'zgartiring. (Kursor yuqoriga qaragan o'qga aylantirilganda o'qib chiqishingiz kerak). Debugger-ga qaytib boring va tugmasini bosing Tugmasini ikki marta bosing. Dastur interruptni tanib oladi va unga kiradi


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

COUNTER ni va nusxasini Port A ga oshiring va 1 chiqadi. Shundan so'ng dastur "PT1" da "cheksiz birikma" ga qaytadi.

Kodni tuzatuvchida tahrirlash

Keling, dasturda xatolarni tuzatuvchining foydalanishini ko'rsatish uchun kichik o'zgarish qilaylik. Nusxa ko'chirish va Yapıştır-ni foydalanib, INCF COUNTER, F ifodasini takrorlang:

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

Endi siz bosing dastur quyidagi savollarni beradi:

Ha-ni bosing va tugmasini bosing tugmasini yana bir marta bosing. Endi har bir past balandlikdagi o'zgarishning o'zgarishi 2 bo'ladi.

Bundan tashqari, o'chirish tugmasini bosib, disk raskadrovka qurilmasining uzluksiz ishlash rejimida tekshirishingiz mumkin tugmasini bosing.

Xato aylantiruvchi tez ishlashiga qaramasdan, switchni o'zgartirish vaqtida "abadiy tsikl" va keyin Interrupt server qismiga (INT_SERV:) o'tishni ko'rishingiz mumkin.

To'xtab turish nuqtasi

Qadam-baqadam rejimdan foydalanib, dasturdagi muayyan nuqtaga erishish mumkin emas. Agar siz minglab qadamlarni bosib o'tish uchun etarlicha sabr-toqatli bo'lsangiz ham, dasturning oqimi sizga kerakli joyga qadam qo'yishi mumkin emas.

Muayyan chiziqni to'xtatish uchun, "chiqish nuqtasi" ni o'rnatib, maqsadni belgilashingiz mumkin.

Dasturni foydalanib, disk raskadroviy rejimining doimiy rejimida ishlating Buyruqni ishga tushiring va endi belgilangan buyruqni bajarishdan oldin dastur istalgan yo'nalishda to'xtaydi.

Buni ko'rsatish uchun, INT_SERV: yorlig'idan keyin interrupt serverimizdagi increment iborasini bosing va tugmasini bosing O'chirish tugmasi.

Endi bosing Run tugmasi. Dastur "cheksiz sikl" da ishlay boshlaydi.

Agar siz to'xtash nuqtasini o'rnatgan bo'lsangiz ham, kodni bajarish to'xtatilmaydi, chunki u hech qachon to'xtash nuqtasiga tushmaydi. Biroq, kalitni Pastdan Yuqoriga o'zgartirganingizda, dastur belgilangan dekretda to'xtaydi:

   INT_SERV:
             INCF COUNTER, F

Keling, asta-sekin davom ettira olasiz yoki Ishlash rejimida