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-XMC) mikrokontrollerlar; doimiy ravishda yangi MCUlar qo'shilib borilmoqda. Siz protsessorda ishlaydigan dasturni ko'rishingiz, o'zgartirishingiz va disk raskadrovka qilishingiz mumkin va, albatta, o'zingizning 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.
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:
Ushbu elektron tizim oddiygina birma-bir sanaladi. Tugmasini 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
Agar siz
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
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.
Endi TINA-ning interfaol ASM tuzatuvchisi yordamida operatsiyani batafsil ko'rib chiqamiz.
Tuzatuvchini faollashtirish uchun Tahlil menyusidagi Variant-ni tanlang. So'ngra tahlil parametrlari dialog oynasida ko'rsatilgandek "MCU kodini tuzatuvchini yoqish" katakchasini o'rnating.
OK tugmasini bosing va MCU xato ayıklayıcı paydo bo'ladi:
Dasturni bajarish jarayonini bosqichma-bosqich bajarib, tugmasini bosing
14 sekin urishdan so'ng, biz dastur PT1: yorlig'ida cheksiz pastadir ko'rinadi.
PT1: INCF TEMP, F GOTO PT1
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
Ha-ni bosing va tugmasini bosing
Bundan tashqari, o'chirish tugmasini bosib, disk raskadrovka qurilmasining uzluksiz ishlash rejimida tekshirishingiz mumkin
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
Buni ko'rsatish uchun, INT_SERV: yorlig'idan keyin interrupt serverimizdagi increment iborasini bosing va tugmasini bosing
Endi bosing
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