VAZIRLIK TA'LIM VA FAN RF FEDERAL DAVLAT BUDJET TA'LIM MASSASA OLIY PROFESSIONAL TA'LIM "VORONEJ DAVLAT UNIVERSITET" DASTURLASH MIKRONATROLLERLAR Qism 1 Seminar Uchun universitetlar Muallif: A.P. Trifonov, Yu.E. Korchagin, VC. Marshakov, K.A. Zimovets Nashriyot va matbaa markaz Voronej davlat universiteti2013 yil Tasdiqlangan ilmiy va uslubiy maslahat jismoniy fakultet-bu "12" Marta 2013 yil yilning, protokol № 3 Sharhlovchi dr fizika va matematika fanlar, prof. E.N. Bormontov Seminar tayyorlangan yoqilgan Bo'lim radiofiziklar jismoniy F- dum Voronej davlat universitet. Tavsiya etilgan Uchun talabalar 4 kurs to'liq stavka Va 5 kurs yuzmayuzyozishmalar shakllari trening. 011800 - Radiofizika, 010801 ixtisosligi uchun - Radiofizika Va elektronika MAZMUNI Kirish ............................................................................................... 4 Umumiy razvedka haqida qurilma mikrokontrollerlar ................... 5 Prinsip ish Va tizimli sxema mikrokontroller .......................................................................... 5 Tuzilishi xotira mikrokontrollerlar Atmel ................................ 8 Maqsad pinlar .......................................................................... 10 O'chirishda dasturlash ............................................................. 11 Laboratoriya Ish Yo'q. 1. Operatsiyalar Bilan parallel portlar I/O ..................................................................................... 14 Parallel portlar I/O .................................................................. 14 Tavsif laboratoriya tartib ........................................................ 14 Amaliy vazifalar ...................................................................... 16 Misol ijro ishlari ...................................................................... 19 Laboratoriya Ish Yo'q. 2. Generator signallari .................................25 Tavsif laboratoriya tartib ........................................................ 25 Streyt raqamli sintez ............................................................... 26 Amaliy Vazifalar ..................................................................... 28 Misol ijro ishlari ...................................................................... 31 Adabiyot ........................................................................................ 38 3 KIRISH Qanaqasiga bu aniq haddan tashqari ko'pchilik zamonaviy radiotexnika va elektronika qurilmalari asosida ishlab chiqilgan raqamli va mikroprotsessorli tizimlar. Shuning uchun talabalar uchun radiofiziklar Juda muvofiq bor bilim V mintaqa raqamli texnologiya Va mahorat dastur o'rnatilgan mikrofon - protsessor tizimlari, Masalan mikrokontrollerlar Va signal -yangi protsessorlar. IN berilgan foyda hisobga olinadi ikki laboratoriya ish Siz, bag'ishlangan boshlanishi dasturlash mikrokontrollerlar. Berilgan qisqacha nazariy aql, zarur Uchun Siz-to'ldirish laboratoriya ishlaydi Birinchi ishni tugatgandan so'ng, talabalar promikrokontrollerni dasturlash, portlar bilan ishlash qobiliyati I/U Ikkinchi ish berilgan signalni sintez qilishga bag'ishlangan Nuh shakllari Va chastotalar usuli bevosita raqamli sintez. 4 KO'PROQ AQLI HAQIDA QURILMA MIKRONATROLLERLAR Prinsip ish Va tizimli sxema mikrokontroller Mikrokontroller hisoblanadi o'zingiz bitta chipli mikrokompyuter, bitta chip shaklida yaratilgan. Qism Ushbu mikrosxema odatda quyidagilarni o'z ichiga oladi: protsessor, xotira gramm, xotira ma'lumotlar, soatli generator, to'plam periferik qurilmalar (portlar, taymerlar, ADC Va va boshqalar.) Yetarli mashhur - Biz Atmel, Microchip, Intel va mikrokontrolderlarmiz Motorola. Ushbu qo'llanma dasturlashni o'z ichiga oladi 8-bit mikrokontrollerlar AVR kompaniyalar Atmel, qaysi ostida - bo'linadi yoqilgan uch oilalar: • Klassik AVR - bu pro-kontrollerli mikrokontrollerlarning asosiy liniyasi. hosildorlik individual modifikatsiyalari oldin 16 MIPS, FLASH ROM dasturlari 2–8 KB, EEPROM ma'lumotlar 64–512 bayt, SRAM 128–512 bayt; • Kompleks uchun 1-16 MIPS ishlashi bilan Mega AVR katta hajmdagi xotirani talab qiluvchi ilovalar, FLASH ROM dasturlari 4–128 KB, EEPROM ma'lumotlar 64–512 bayt, SRAM 2–4 KB, SRAM 4 KB, o'rnatilgan 10-bit 8 kanal ADC, apparat multiplikator 8 8 ; × • Kichkina AVR — past mahsuldorlik mikrokontrollerlar V 8chiqish ishlash Bilan past xarajat. Umumlashtirilgan mikroprotsessor tizimining blok diagrammasi tasvirlangan yoqilgan 1-rasm. U dan iborat dan protsessor, xotira Va pe- ma'lumotlar avtobuslariga ulangan periferik qurilmalar, manzillar va boshqaruv. Xotira ikkita qurilmaga bo'lingan bo'lsa - xotira dasturlar va ma'lumotlar xotirasi, keyin ular bunday mikroproProtsessor tizimi Garvard arxitekturasiga ega. Xotira bo'lsa saqlash va dasturlar uchun yagona qurilmani taqdim etadi, Va ma'lumotlar, Bu shunga o'xshash mikroprotsessor tizimi Unda bor arxitektura 5 Процессор fon Neyman. Mikrokontrollerlar AVR qurilgan tomonidan Garvard arxitektura. память программ память данных шина периферийные устройства управления шина адреса шина данных Guruch. 1. Blok diagrammasi mikroprotsessor tizimlari Protsessorning ishlashi odatda fon Neyman siklida tasvirlangan. mana, grafik tasvir kim berilgan yoqilgan guruch. 2. Bu yerga tayinlangan 1 — namuna jamoalar dan xotira; 2 — ortdi 1 4 2 3 Guruch. 2. Velosiped fon Neyman dastur hisoblagichining birligini hisoblash; 3 - kodni dekodlash buyruqlar, 4 - buyruqni bajarish. Agar buyruq kodi mavjud bo'lsa bir baytdan ortiq (ikki bayt, uch bayt), ya'ni buyruq ha bir nechta xotira hujayralarida saqlanadi, keyin protsessor mumkin xotiraga 1, 2 yoki undan ortiq marta kirish. Birinchi baytda mikro- protsessor qaysi buyruq ekanligini biladi. Loop (1, 2, 3) bajariladi juda ko'p bir marta, Necha bayt oladi jamoa. 6 Uchun ish mikrokontroller talab qilinadi soat impuls sy. Bir soat pulsi paytida protsessor ishlaydi ba'zi bir asosiy harakatlar (masalan, manzilni o'rnatadi manzil shinasiga yoki ma'lumotlar shinasidan ma'lumotlarni o'qiydi). Chastotasi soat pulslari mikrokontrollerning tezligini aniqlaydi ra. Bir nechta soat pulslari mashinaning soat pulslariga qo'shiladi. sikllar. Mashina aylanishi davomida bitta qo'ng'iroq sodir bo'ladi protsessorni xotiraga yoki qabul qilishda kiritish/chiqarish sxemalariga va buyruqning bajarilishi. Mashina protsessorining turiga qarab - Ushbu tsikllar bir xil miqdordagi soat tsikllarini o'z ichiga olishi mumkin, yoki har xil. Tanlash va amalga oshirish vaqti buyruq buyruqlar sikli deb ataladi. Buyruqlar sikli quyidagilardan iborat bir yoki bir nechta mashina tsiklidan. Vaqtinchalik misol diagrammalar ish protsessor ko'rsatilgan yoqilgan guruch. 3. Manbalar Soat impulslar T1 T2 T3 T4 T1 Машинный цикл 1 T2 T3 T4 T1 Машинный цикл 2 Цикл команды Guruch. 3. Vaqtinchalik diagramma soat impulslar Uchun mikrokontroller mumkin xizmat qilish tashqi niya yoki ichki generatorlar. Ichki generator yig'ilgan yoqilgan bitta kristall Bilan mikrokontroller. Chastotasi soat impuls boyqushlar belgilangan vaqtni belgilovchilar zanjirlar generator, V sifat ichki yoki tashqi RC davri ulangan bo'lishi mumkin mikrokontrollerga ulangan tashqi kvarts rezonatori. tomonidan Odatiy bo'lib, ichki soat generatori ichki bilan ishlatiladi Renni RC sxemasi. Da bu chastota soat impulslar bog'liq mikrokontroller modeliga bog'liq. ATmega8 uchun la-boratoriy maketlar, chastota taxminan ga teng 1 MGts. 7 Tuzilishi xotira mikrokontrollerlar Atmel mikrokontrollerlarining dastur xotirasi "tekis" Men tuzilma yasayman. Bu elektr repro- dasturlashtiriladigan faqat o'qish uchun xotira (FlashROM) va dastur buyruqlari kodlarini saqlash uchun mo'ljallangan. turg'un. Dastur xotira kataklariga murojaat qilish uchun 16- bit shina manzillar. Xotira ma'lumotlar mikrokontrollerlar AVR tizimli ravishda holatbu dan uch bo'limlar, ega umumiy murojaat qilish. Tuzilishi paajin ma'lumotlar tasvirlangan yoqilgan guruch. 4. IN boshlanishi bor 32 sakkiz -dunyo miqyosidagi ro'yxatdan o'tish umumiy uchrashuvlar (RON). TO uni mumkin manzil dan dasturlari tomonidan ismlar r0, r1, ..., r31 Va tomonidan manzillar 0000h 001Fh V umuman manzil bo'sh joy. Bu yerga Va Keyinchalik konsol 0x yoki qo'shimchasi h anglatadi Nima raqam qayd etilgan V qutb-o'nlikdan yuqori tizimi. Keyinchalik joylashgan 64 ro'yxatdan o'tish kiritish-chiqish Bilan manzillar 0020h - 005Fh. TO uni Bir xil mumkin manzilQanaqasiga tomonidan manzil, Shunday qilib Va tomonidan ismlar registrlar Ismlar solishtirishBiz Bilan manzillar V fayllar tavsiflar mikrokontroller, qaysiyakunlanadi tizimlari dasturlash. Oxirgi ro'yxatdan o'tishI/U hisoblanadi ro'yxatdan o'tish davlat SREG Bilan manzil 005Fh. Uchinchi bob hisoblanadi o'zingiz operativ Eslaymanstatik turdagi SRAMning asosiy qurilmasi (RAM). Har bir hujayra 8 bitni o'z ichiga oladi va turli mikrokontrollerlar uchun xotira miqdori har xil Lerov. Oxirgi RAM katakchasining manzili nom bilan belgilanadi RAMEND. Mikrokontrollerlar ham uchuvchan bo'lmaganlarni o'z ichiga oladi Simo doimiy esda qolarli qurilma EEPROM Bu oldindan dasturlash jarayonida yozib olingan ma'lumotlarni saqlash uchun tayinlangan amalga oshirish, shuningdek dasturni bajarish jarayonida olingan ma'lumotlar gramm. EEPROM sig'imi turli mikrokontrollerlar orasida farq qiladi. ariq EEPROM o'zining alohida manzil maydoniga ega. Oldin - stupa Kimga EEPROM amalga oshirildi; bajarildi orqali portlar I/U IN sifat misol V berilgan foyda bo'ladi o'ylab ko'ring 8 0000h 0001h r0 r1 Регистры общего назначения (РОН) 32 шт 0018h 0019h 0020h 0021h 0022h r30 r31 00 01 02 Область ввода/вывода (I/O) 64 регистра 005Dh 005Eh 005Fh 0060h 0061h 62 63 Оперативное запоминающее устройство (ОЗУ) RAMEND Guruch. 4. Tuzilishi xotira ma'lumotlar 9 Xia mikrokontrollerlari ATmega8. MK ATmega8 ning operativ xotira hajmi 1024 bayt, EEPROM sig'imi 512 bayt, xotira hajmi siz dasturlari — 8 KB. Maqsad xulosalar (qayta tiklash) PC6(RXD) PD0 (TXD) PD1 (INT0)PD2 (INT1)PD3 (XCK/T0) PD4 VCC GND (XTAL1/TOSC1) PB6 (XTAL2/TOSC2) PB7 (T1) PD5 (AIN0) PD6 (AIN1) PD7 (ICP) PB0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ATmega8 Keling, ko'rib chiqaylik tayinlash xulosalar mikrosxemalar ATmega8. Yoniq guruch. 5 ko'rsatilgan pinout mikrosxemalar. Yoniq kontaktlar "VCC" Va 28 27 26 25 24 23 22 21 20 19 18 17 16 15 PC5 (ADC5/SCL) PC4 (ADC4/SDA) PC3 (ADC3) PC2 (ADC2) PC1 (ADC1) PC0 (ADC0) AGND AREF AVCC PB5 (SCK) PB4 (MISO) PB3 (MOSI/OC2) PB2 (SS/OC1B) PB1 (OC1A) Guruch. 5. Tsokolevka mikrosxemalar ATmega8 "GND" xizmat qilgan "+" Va "-" oziqlanish (5 IN) raqamli qismlar mikro- boshqaruvchi. Analog Qism mikrosxemalar yeydi alohida kontaktlar "AVCC" va "AGND". Analog qismga, masalan, mikrokontrollerga o'rnatilgan ADCga ishora qiladi. pi-ni ajratish taniya analog Va raqamli qismlar zarur Uchun Bormoq, uchun pasayish ta'sir qilish puls aralashuv raqamli sxema yoqilgan funktinglash analog. TO aloqa "AREF" mumkin ulanmoq tashqi mos yozuvlar (mos yozuvlar) kuchlanish manbasining chiqishi, ADC ishlashi uchun zarur. Chipning qolgan oyoqlari I/U portlarining pinlari . Mikrokontrollerda ATmega8 amalga oshirilgan portlar: B (8 pinli PB0 - PB7), C (7 kontaktlar PC0 - PC6) Va D (8 kontaktlar 10 PD0 - PD7). 11 Bundan tas • RXD, TXD - uchun UART seriyali port pinlari boshqa kontrollerlar va COM porti bilan o'zaro ta'sir qilish kompyuter; • RESET - tiklash tugmachasini ulash uchun pin (agar u bo'lsa zarur). O'chirishda dasturlash Dastur mikrokontroller xotirasiga yoziladi dasturchi yordamida sozlanishi mumkin. Zamonaviy porlash uchun mikrokontrollerlarni kontaktlarning zanglashiga olib tashlashning hojati yo'q. Dasturchi sxema ichidagi dasturlash funksiyalaridan foydalanadi roving, SPI orqali mikrokontroller bilan o'zaro ta'sir qilish port. Sanoatda ishlab chiqarilgan ko'plab dasturchilar mavjud . dangasalik. Ular dasturlashtiriladigan mikrokontrollerga ulangan ler, Bilan bitta tomonlar, Va Bilan bitta dan interfeyslar shaxsiy kompyuter (kompyuter) - boshqa tomondan. Kompyuterdagi dastur proproshivka dasturchiga, u uni mikrokon-xotiraga yuklayditroller. Bir dan mumkin variantlari hisoblanadi ulanish tarafdori dasturlashtiriladigan mikrokontroller to'g'ridan-to'g'ri LPT portiga Kompyuter, ulanish mos keladigan sxemalar orqali ham mumkin. Buqayerda dastur yoqilgan Kompyuter o'zi amalga oshiradi yuklash dasturlari V 12 LTP interfeysi orqali mikrokontroller xotirasi. Aynan shunday Usul Mac-da mikrokontrolderlarni miltillash uchun taqdim etilgan. laboratoriya ishlarida foydalaniladigan takh. LPT port ulagichi laboratoriya sxemasi LPT portiga kabel orqali ulangan bo'lishi kerak Kompyuter. PonyProg dasturi proshivka uchun ishlatiladi. Uning tashqi ko'rinishi niya ko'rinish tasvirlangan yoqilgan guruch. 6. Guruch. 6. Oyna dasturchi PonyProg 13 Namunali algoritm ish Bilan dastur hisoblanadi Vquyidagi: • dasturlashtiriladigan • o'chirish tugmasi dastur; mikrokontroller modelini ; tanlang mavjud V xotira mikrokontrollerra • ochiq fayl proshivka (tugma ); • yozib qo'ying dastur V mikrokontroller (tugma ); O'qing dastur dan xotira boshqaruvchi mumkin Bilan yordami bilan tugmalar . 14 LABORATORIYA ISH Yo'q. 1. Operatsiyalar BILAN PARALLEL PORTLAR KIRISH-CHISH Parallel portlar I/U B, C, D kiritish-chiqarish portlari mikro-protsessorlar bilan aloqa qilish uchun mo'ljallangan. "tashqi dunyo" bilan rokontroller. Port bitlari ulangan oyoqlar mikrosxemalar. Har dan ular Balki ish V rejimi meh yoki kiritish, yoki chiqish. IN mikrokontrollerlar AVR har biriga Portga uchta sakkiz bitli registrlar tayinlangan kiritish/chiqarish sohasida: DDR x , PORT x , PIN x , bu erda x - B, C harfi yoki D. DDR x registri konfiguratsiya registridir va u uchun ishlatiladi sozlamalar rejimi — kiritish yoki xulosa, — va mumkin boshqarish hamma tushirish alohida. Qachon bitlar ro'yxatdan o'tish DDR x o'z ichiga oladi mantiq 1, keyin portning tegishli bitlari chiqariladi- mil. Shuning uchun, chiqish uchun portni sozlash uchun siz yozishingiz kerak to'ydirmoq birliklar V ro'yxatdan o'tish DDRx . Da bu ma'lumotlar, o'z ichiga olgan V ro'yxatdan o'tish PORT x bo'ladi ko'rsatilishi yoqilgan kontaktlar mikrosxemalar. Agar biz DDR x registriga nollarni yozsak , u holda mos keladi port liniyalari kirish sifatida konfiguratsiya qilinadi. Ammo ularning xatti-harakati shunday PORT x registrining mazmuniga osilgan . Agar mos bo'lsa PORT x port biti 1 ni o'z ichiga oladi, keyin u kirish liniyasiga ulanadi ichki siqilish qarshilik. U bog‘laydi chiziq port quvvat plyus bilan va kirish liniyasida potentsialni ta'minlaydi, yaqin Kimga mantiqiy birlik. Qachon bit port PORT x o'z ichiga oladi 0, keyin kirish chizig'i Z-holatida bo'ladi. Uning salohiyati bu holda u ulangan qurilmani ko'rsatadi (yoqilgan- masalan, boshqa mikrokontroller). Kiritilgan ma'lumotlarni o'qing chiziqlar mumkin dan ro'yxatdan o'tish PIN kod x . Tavsif laboratoriya tartib Laboratoriya Ish amalga oshirildi Bilan foydalanish tartib № 1, blok diagrammasi kim tasvirlangan yoqilgan guruch. 7. 15 Guruch. 7. Blok diagrammasi laboratoriya tartib Yo'q. 1 Asosiy element tartib hisoblanadi mikrokontroller ATmega8. Mikrokontrollerning C portining 0-5 qatorlariga ulangan tugmalar. Bu imkon beradi dastur reaktsiya qurilmalar yoqilgan tashqi ta'sirlar. Chiziqdagi tugmalar bo'shatilgan holatda, yah porti +5 V ga yaqin kuchlanishni saqlaydi (mantiqiy osmon 1). Bunga "tortishish" rezistorlarini yoqish orqali erishiladi Port pinlari va quvvat liniyasi o'rtasida 10 kOhm xandaq (tegishli port sozlamalari bilan). Bosilgan port liniyasidagi kuchlanish 0 V ni tashkil qiladi, bu mantiqqa to'g'ri keladi nolga. C portidan ma'lumotlarni o'qish va keyin tahlil imkon beradi tahlil qilish davlat tugmalar TO chiziqlar 0–3 port B ulangan yashil, A Kimga chiziqlar 4 va 5 - qizil LEDlar. Agar siz B portini shunday sozlasangiz chiqish, keyin mantiqiy birliklarni pinlardagi portga chiqarishda mikrosxemalar qo'llab-quvvatlanadi yaqin Kimga +5 IN Kuchlanishi. Da 16 port liniyasiga ulangan bu LED yonadi. Agar portga qaytarib olingan mantiqiy nol, Bu Kuchlanishi yoqilgan chiziqlar port yaqin Kimga 0 Va Yorug'lik chiqaradigan diod o'chirilgan. Shunday qilib yo'l, boshqaruv yonayotgan yangi todiodlaro'z vaqtida chiqish yordamida amalga oshirilishi mumkinV port B ikkilik ma'lumotlar. Laboratoriya tartib yeydi dan tashqi manba pita niya +5 V. Tartibning qolgan elementlari birinchisida ishlatilmaydi laboratoriya ish Va bo'ladi hisobga olinadi Keyinchalik. Tashqi ko'rinish tartib tasvirlangan yoqilgan guruch. 8, 9. Guruch. 8. Tashqi ko'rinish laboratoriya tartib Yo'q. 1 old Amaliy vazifalar In hamma variantlari vazifalar zarur yozish dastur Uchun mikrokontroller, qaysi asboblar tasvirlangan V variant laboratoriya sxemasining xatti -harakatlari. Dasturning ishlashi pro-da ATmega8 emulyatoridan foydalanishni tekshirishimiz kerak . AVR Studio grammatik majmuasi. Vi-da tuzatilgan dastur de ikkilik fayl proshivka zarur yuklab oling V mikrokon- troller Bilan yordami bilan dasturchi PonyProg. 17 Guruch. 9. Tashqi ko'rinish laboratoriya tartib Yo'q. 1 yuqorida Variant 1. Prototipli LEDlardan biri 1 Gts chastotada miltillaydi. Bosing Bitta tugmani bosish orqali siz to'xtab, keyin miltillashni boshlashingiz mumkin tion. Variant 2. Tartibdagi LEDlardan biri ma'lum bir chastotada miltillaydi. Bitta tugmani bosib miltillash chastotasini o'zgartirishingiz mumkin. Ustida- misol, bosish yoqilgan tugmasi olib boradi Kimga ikki barobarga oshirish chastotalar, takrorlash - yangi bosish — qaytadi chastota miltillovchi V original davlat. Variant 3. Non panelidagi ikkita LED chastotada navbatma-navbat yonibo'chib turadi 0,5 Hz (biri o'chganda, ikkinchisi yonadi). Birini bosish orqali tugmasi mumkin STOP, A Keyin yugur miltillovchi. 18 Variant 4. Ikki LED yoqilgan tartib navbat bilan miltillovchi Bilan biroz chastota (Qachon bitta chiqib ketadi ikkinchi yonadi). Bosish orqali yoqilgan od- Xo'sh, tugma miltillash chastotasini o'zgartirishi mumkin. Masalan, bosish tugmani bosish chastotani ikki baravar oshiradi, yana bosish - qaytadi chastota miltillovchi V original davlat. Variant 5. Hukmdor LEDlar ishlaydi V rejimi yugurish olov. Ustidatugmani bosish orqali siz to'xtab, keyin yugurishni boshlashingiz mumkinolov. Variant 6. Hukmdor LEDlar ishlaydi V rejimi yugurish olov. UstidaTugmani bosish orqali siz yuguruvchining tezligini o'zgartirishingiz mumkin olov. Variant 7. Tartibdagi uchta LED svetofor rejimida ishlaydi (in sifat sariq Sveta mumkin tanlang har qanday yorug'lik chiqaradigan diod). Variant 8. Tartib hisoblagichning ishlashini ko'rsatadi. LED displeylari zarbalar ikkilik kod miqdorlar bosish yoqilgan bitta dan tugmalar Variant 9. Tartib tasvirlaydi ish kodlovchi. LEDlar ko'rsatilgan ikkilik kod raqamlar bosilgan tugmalar. Variant 10. Tartib dekoderning ishlashini ko'rsatadi. Bir vaqtda bosish yoqilgan biroz tugmalar hisoblanadi o'zingiz raqam zarur LED. Bu raqam dekodlangan, Va diod yonadi. 19 Misol ijro ish Misol tariqasida, biz laboratoriya modelida qayta ishlaymiz. Rojdestvo daraxti gulchambarini almashtirish. Biz har bir yangi deb taxmin qilamiz LED - bu gulchambar. Biz ikkita imkoniyatni amalga oshiramiz ish rejimlari: ishlaydigan yong'in rejimi, psevdo-tasodifiy rejim kiritish gulchambarlar Tugma PC0 bo'ladi ishga tushirish Va STOP sxemaning ishlashi va o'tish uchun PC1 va PC2 tugmalari ishlatiladi tion rejimlari ish. Biz .. qilamiz yozish matn dasturlari, hamrohuning tushuntirishlar. Dastur boshlanadi yoqish V matn dasturlari fi- m8def.inc mikrokontrollerining tavsiflari . Bu fayl talab qilinadi uni dastur papkasiga joylashtirishingiz yoki u uchun joyni belgilashingiz mumkin ny yo'l. Keyinchalik tayinlangan ramziy ismlar tmp , rejimi , outreg , vkl , Nrandom registrlari r16 , r17 , r19 , r20 , r21 ko- mas'uliyat bilan. .o'z ichiga oladi "m8def.inc" .def tmp = r16 .def rejimi = r17 .def outreg = r19 .def vkl = r20 .def Tasodifiy = r21 Roʻyxatdan oʻtish tmp ishlatiladi Qanaqasiga vaqtinchalik, ro'yxatdan o'tish rejimini o'z ichiga oladi Ishlash rejimi raqami jonli. Biz mos keladigan rejim = 1 deb faraz qilamiz ishlaydigan olov rejimiga mos keladi va rejim = 2 - psevdo-olov rejimiga tasodifiy qo'shimchalar. Roʻyxatdan oʻtish vkl javoblar orqasida davlat qilish - ta: yoqilgan ( vkl = FFh ) yoki o'chirilgan ( vkl = 00h ). Tugma yoqish/o'chirishPC0 kontaktiga ulangan (bit 0 port- ta C). Rejimni o'zgartirish tugmalari PC1 , PC2 kontaktlariga ulangan : ishlaydigan olov va tasodifiy yoqish. Tugmalar uchun dasturda taqdim etilgan unvonlar boshlash , iltimos , rand . .equ boshlash = PC0 .equ iltimos = Kompyuter 1 20 .equ rand = Kompyuter 2 Direktivlardan so'ng dasturning o'zi boshlanadi. Birinchidan, joy Uzilish vektor jadvali ko'rsatiladi. Barcha uzilishlardan foydalaning chaqirilmoqda ikkita: xalaqit berish asosiy boshlash QAYTA O'RNATISH Va xalaqit berish toshib ketish taymer hisoblagich T1 o'zgartirish . Dam olish manzillar orqada - o'zgardi jamoa yo'q . rjmp RESET yo'q yo' q yo' q yo' q yo' q yo' q yo' q rjmp o'zgartiri shyo'q yo' q yo' q yo' q yo' q yo' q 21 yo' q yo' q yo' q yo' q Keyinchalik joylashgan pastki dastur qayta ishlash xalaqit beradi QAYTA O'RNATISH yoki dastlabki boshlash tartibi. Bu yerda sozlang stack Va portlar I/U QAYTA O'RNATISH: ; sozlash stack ldi tmp, past (RAMEND) tashqariga SPL, tmp 22 ldi tmp, yuqori (RAMEND)tashqariga SPH, tmp ; sozlash; o'rnatish portlarclr tmp tashqariga DDRC, tmp ; chiziqlar port C - kirishlar.ser tmp tashqariga DDRB, tmp ; chiziqlar port B - chiqadi tashqariga PORTC, tmp ; kiritish tortish rezistorlar Biz gulchambarlarni yoqamiz va o'chiramiz sifat chiqish V port B ma'lumotlar, oldindan tayyorlangan V ro'yxatdan o'tish . Davlat parametri sifatida vkl registridan foydalanamiz tartib. Da vkl = 00 soat Ish to'xtatilgan da vkl = FFh — kiritilgan; ; yoqish; ishga tushirish birinchi gulchambarclr outreg inc outreg tashqariga PORTB, outreg ; ruxsat berish xalaqit berish taymerldi tmp, (1<<TOIE1) tashqariga TIMSK, tmp ; yoqish; ishga tushirish rejimi ish 1ldi rejimi, 1 ; ruxsat berish xalaqit beradisei ; I=1 ; to'xtatib turish ish tartibclr vkl ;vkl = 00 soat ; tayinlash boshlang'ich ma'nosi ; Sensor tasodifiy raqamlar ldi tasodifiy, 156 ; oxiri pastki dasturlar asosiy boshlash 23 Dasturning asosiy qismi asosiy va taqdimot yorlig'i bilan boshlanadi yolg'on o'zingiz cheksiz tsikl. IN tanasi tsikl sodir bo'lmoqda tahlil 24 tugma holatlari. Agar boshlash tugmasi bosilsa , inversiya sodir bo'ladi Bu registr vkl . Beg yoki rand tugmalaridan birini bosganingizda rejim registri 1 yoki 2 qiymatini yozadi. Keyingi sodir bo'ladi vkl registrini nol bilan solishtirish . Agar tartib pauza qilingan bo'lsa Lena vkl = 00h , keyin breq asosiy buyrug'i qaytishni ta'minlaydi yorliq asosiy to'g'ridan-to'g'ri keyin tekshiruvlar bosish tugmalar asosiy: ; kuzatib boryapmiz bosish tugmalarsbis PINC, boshlang com vkl sbis PINC, iltimosldi rejimi, 1 sbis PINC, randldi rejim, 2 cpi vkl, 0 breq asosiy Agar tartib yoqilgan bo'lsa vkl = FFh , keyin tekshirishdan keyin davlat tugmalar tashkil etilmoqda kechikish. Uchun bu Ishga tushiriladi - Taymer T1 ishlamoqda va taymerning to'lib ketishi kutilmoqda. IN jarayon umidlar qo'shimcha ravishda tekshirilmoqda davlat tugmalarboshlash ; tayinlash boshlang'ich ma'nosi taymer ldi tmp, $f8 tashqariga TCNT1H, tmpldi tmp, $5e tashqariga TCNT1L, tmp ; ishga tushirish taymerldi tmp, 04 dollar tashqariga TCCR1B tmp 25 ; kutish harakatga keltirish taymer clr r18 ; aniq vaqtinchalik ro'yxatdan o'tishKutmoq: ; Xayr r18 teng 0, kutamiz sbis PINC, boshlash 26 com vkl cpi r18.0 breq Kutmoq ; r18 to'xtab qoladi bo'l teng 0 keyin qayta ishlash ; xalaqit beradi toshib ketish taymerrjmp asosiy ; oxiri asosiy tsikl Taymerni to'ldirish tartibi T1 o'zgartirish yorlig'i bilan boshlanadi . Ser r18 buyrug'i tayinlaydi nolga teng bo'lmagan ma'nosi ro'yxatdan o'tish r18 Nima imkon beradi STOP hayotga kir hurmat V asosiy narsa tsikl dasturlari. Keyinchalik harakatlar bog'liq ish rejimidan. Agar rejim = 2 bo'lsa, mode2 yorlig'idan boshlab keyingi psevdo-tasodifiy raqam Nramdom hosil qilinadi va chiqariladi davom etmoqda V port B. Agar rejimi = 1 , Bu mazmuni ro'yxatdan o'tish outreg yonayotgan olovni yaratish uchun chapga siljiydi va ichida ham ko'rsatiladi port IN. o'zgartirish: ser r18 cpi rejim, 2 breq rejim2 rejim 2 ; Agar rejimi = 2 ; davom etaylik yoqilgan yorliq ; aks holda rejimi = 1 lsl outreg ; siljish chap sbrc outreg, 5 ; agar siz 5-bitga yetsangizldi outreg, 1 ; ustidan sakrab o'taylik yoqilgan 1-chi bitrjmp oxirgi rejim ; chetlab o'tish teglar rejim 2 rejim 2: 27 mov tmp, N_tasodifiy ; vaqtincha saqlash Tasodifiylsr N_tasodifiy ; ko'paytirmoq yoqilgan 2 lsr N_tasodifiy ; 4 ga ko'paytiring qo'shish N_random,tmp ; 5 ga ko'paytiring inc N_tasodifiy ; qo'shildi Bilan = 1 28 mov tashqariga chiqish, N_tasodifiy oxirgi rejim: tashqariga PORTB outreg ; chiqaramiz V portclr tmp tashqariga TCCR1B tmp ; STOP taymer T1 reti ; oxiri qayta ishlash xalaqit beradi 29 LABORATORIYA ISH Yo'q. 2. GENERATOR SIGNALAR Tavsif laboratoriya tartib Laboratoriya Ish amalga oshirildi Bilan foydalanish tartib Yo'q. 1, blok diagrammasi kim tasvirlangan yoqilgan guruch. 7. Raqamli-analogli konvertor D portining 0-7 qatorlariga ulangan. dasturchi (DAC). DAC oddiy rezistiv sxema yordamida qurilgan. UningkirishigaDportidan∆ t vaqt oralig'ida xizmat qilgan o'qishlar signal V shakl sakkiz bitli ikkilik raqamlar (diapazon 0 dan 255 gacha qiymatlar). DAC chiqishida har bir namuna oldindan olinadi. joylashtiriladi Daraja Kuchlanishi dan 0 oldin +5 IN, qo'llabquvvatlanadi ∆t oralig'ida . Shunday qilib, DAC chiqish signali qadam qiymatiga ega qadam funksiyasi ki , 5/255 0 ga karrali . 02 V. DAC tasvirining chiqishidagi signalga misol hayratda qoldi yoqilgan ≈ guruch. 10. s(t) 0.02 В t t Guruch. 10. Misol signal yoqilgan Chiqish DAC Laboratoriya maketidagi qadamlarni tekislash uchun foydalaning chaqirilmoqda kondansatörler, amalga oshirish roli filtr past chastota Taqdim etilgan ulanish kondansatörler boshqacha nominatsiyalar. 30 U boshqariladigan kalitlar yordamida amalga oshiriladi, amalga oshiriladi hammomlar yoqilgan mikrosxema K561KT3. Menejerlar chiziqlar kalitlari hamkorlik B portining 0-3 satrlariga ulangan. Mantiqiy bitta chiqish B portining kerakli biti mos keladigan ulanishga olib keladi yaxshi kondansatör. Streyt raqamli sintez Uchun avlod signal unumli foydalanaylik usuli bevosita raqamli sintez. Mayli zarur hosil qilish signal, opi davriy funktsiya f ( s ) bilan tavsiflanadi , ya'ni k Z adolatli tenglik f ( s ∀+ k∈r) = f ( s ) . Kattalik r — davr funktsiyalari f ( s ) . Garmonik signalning maxsus holatida f ( s ) = cos s, davr r = 2 p. Bevosita raqamli sintez usuli bilan signal hosil qilish yoqiladi V hajmi, Nima orqali teng bo'shliqlar vaqt ∆t , aniqlash bo'linadigan chastota namuna olish F = 1 / ∆t , yoqilgan Kirish DAC keyin kuylash o'qishlar (bir zumda qiymatlar) yaratilgan signal. Bular namunalar mikrokontroller dasturi va chiqishi bilan hisoblanishi mumkin ularni D portiga yuboring. Lekin ko'pincha mikro-ning past quvvati tufayli. boshqaruvchi Uchun hisob-kitoblar Keyingisi ortga hisoblash talab qilinadi vaqt, ∆t dan katta . Shuning uchun o'qishlar oldindan hisoblab chiqiladi va saqlanadi xotira mikrokontroller V shakl massiv raqamlar. Chunki funk- tion f ( s ) davriy, ega ma'nosi saqlamoq o'qishlar, bir davr mobaynida olingan . Ularning soni xotira hajmiga bog'liq mikrokontroller va, qoida tariqasida, darajaning ko'pligi tanlanadi deuces. P ni belgilaymiz = 2p davrdagi namunalar soni; f i = f ( i P /P ) — hisobga oladi. Uchun chiqish hisobga oladi V DAC foydalanish 8 bitli D porti ishlatiladi, shuning uchun f i qiymatlari saqlaymiz 8 bitli hujayralar. Shuning uchun, f i topshirilishi kerak V shakl butun raqamlar x i dan diapazon 0...255: f i − min( f i ) x = trunk 255 , i maksimal ( f i ) − min ( f i ) Qayerda trunk {·} — butun Qism raqamlar. 31 X i ko'rsatkichlarini birma-bir ko'rsatish quyidagicha amalga oshirilishi mumkin: zom. Biz o'zgaruvchidan foydalanamiz hisoblagich i . Inter- vaqt mili ∆ t taymer i ortdi va x i hisoblang ko'rsatiladi portga. i qiymatini normallashtirilgan deb talqin qilish mumkin butun son vaqt i = t/ ∆ t , bu miqdor bilan o'lchanadi namunalar yoki namuna olish intervallari. Agar bit chuqurligi oshib ketgan bo'lsa - meniki i ga teng p , Bu u orqali o'tadi qiymatlar dan — − 0 oldin P 1 = 2p 1 . Yetib kelgan maksimal mumkin ma'nolari, o'zgaruvchan i qayta to'ldiriladi va nolga teng bo'ladi. Shuning uchun P ∆ t vaqt ichida i o'zgaruvchisi to'lib toshgan va to'liq portga chiqariladi davr yaratilgan signal. anglatadi chastota signal yoqilgan ChiqishDAC ga teng n 0 = F/P . Mayli Hozir zarur hosil qilish signal Bilan boshqa cha- yuz. belgilaylik s ( t ) = f ( ō t ) , Qayerda kattalik ō xarakterlaydi ishlab chiqarilgan signalning chastotasi. z = ō t argumenti chaqiriladi signalning fazasini o'zgartiring. Bu monoton ravishda o'sib borayotgan qiymatdir Nuh. Vaqt o'tishi bilan faza ortishi ∆ t ga teng ∆ ϕ = ō ∆ t . Bu erdan aniq chastota qanchalik yuqori bo'lsa, bir vaqtning o'zida faza o'sishi shunchalik ko'p bo'ladi interval namuna olish. Kimga ta'minlash avlod signal Bilan boshqacha chastota, oy Qurilmaning ishlash algoritmini o'zgartiramiz . Birinchidan, o'rniga P sig'imga ega i tasma hisoblagichi uchun biz n > p sig'imli saqlash o'zgaruvchisidan foydalanamiz . U qila oladi 0 dan N gacha qiymatlarni oling 1 = 2n 1 . Chunki—N >P , k o'zgaruvchisi saqlangan x i − namunalarini raqamlash uchun mos emas V xotira. Raqam o'qishlar Biz .. qilamiz Bilan yordami bilan p keksalar bitlar o'zgaruvchan k . Keyin, to'liq saqlash muddatini DACga chiqarish uchun, xotirada saqlangan signal uchun N ∆ t > P ∆ t vaqt kerak bo'ladi . Signal n = F/N chastotasiga ega bo'ladi . Misol uchun, agar bit chuqurligi bo'lsa jamlovchi o'zgaruvchan ga teng 24 oz, A chastota namuna olish F = 0 . 1 MGts, Bu N = 16777216 , n = 0 . 00596 Hz Ikkinchidan, keling, kümülatif o'zgaruvchining oshishiga ruxsat beraylik yangi Ko'proq Qanaqasiga yoqilgan birlik. Biz .. qilamiz yoqilgan hamma interval diskret lar ∆ t qo'shish Kimga o'zgaruvchan 32 k o'pish hajmi ō. Keyin k 33 toshib ketishiga ō marta tezroq erishadi, bu chastotani bildiradi signal ortadi V ō bir marta Va bo'ladi ga teng n = ōF /N . Hajmi k mumkin talqin qilish Qanaqasiga normallashtirilgan ∆ t ga signalning fazasi va shuning uchun u fazali akkumulyator deb ataladi. F/N = ∆ F nisbati chastota o'lchamlarini xarakterlaydi, keyin signal chastotasi o'zgarganda qanchalik o'zgarishini ko'rsatadi ō ni bir marta kamaytirish. Ma'nodagi ō qiymatini ham unutmang odatiy ma'noda chastota emas. U ko'rsatadi hosil qilingan signalning chastotasi minimaldan necha marta katta chastota ∆F = F/N , bu o'z navbatida tez-tez aniqlanadi bu namuna olish F Va bit chuqurligi batareya bosqichlari. Chastotaning nimaga teng ekanligini va qanday tanlanganligini muhokama qilish qoladi namuna olish F . Chunki bir zumda qiymatlar signal Uchun chiqish V DAC tayyorlanmoqda mikrokontroller, Bu chastota F F clk taktli chastotaga bog'liq bo'lib, unda mikro- boshqaruvchi. Uning ishining bir tsikli uchun (batareya o'sishi fazalar, xotiradan o'qishni ajratib olish, uni portga chiqarish). tit m mashina uradi Da optimal yozilgan dastur m ≈ 7 12 . Shuning uchun chastota, Bilan qaysi o'qishlar tushish V port D, ga teng F = F clk /m . Shunday qilib yo'l, da soat chastota mikrokontroller F klk = 1 MGts Va m = 10 chastota namuna olish F = 0 . 1 MGts. Amaliy vazifalar 1. Yoniq laboratoriya tartib amalga oshirish funktsiyasi generator pe- davriy signal, shakli va ish aylanishi aniqlanadi bo'lingan sizniki variant. Dam olish kuni signal tartib kuzatish berish yoqilgan ekran osiloskop. 2. Kondensator sig'imini tekislashning ta'sirini o'rganing yoqilgan tashqi ko'rinish Dam olish kuni signal. 3. Aniqlash Bilan nima vaqtinchalik interval ∆ t mikronazorat - ler masalalar o'qishlar signal. 34 4. Tadqiq qiling Qaysi maksimal chastotalar mumkin erishish Uchun sizniki shakllari signal. Variant 1. Variant 2. s(t) t Variant 3. s(t) t 35 Variant 4. s(t) t Variant 5. s(t) t Variant 6. s(t) t Variant 7. s(t) t 36 Variant 8. s(t) t Variant 9. s(t) t Variant 10. s(t) t Misol ijro ish Misol tariqasida, biz tasvirlangan signal generatorini amalga oshiramiz uylangan yoqilgan guruch. o'n bir. Bu signal hisoblanadi o'zingiz miqdori birinchi Va uchinchi garmoniklar Bilan yagona amplitudalar f ( s ) = gunoh ( s ) + gunoh ( 3s ) + 1 , 6 . Kattalik 1.6 tanlangan eksperimental ravishda, uchun jadval signal x o'qidan butunlay yuqorida edi . Maksimal qiymatsignal maks f ( s ) ≈ 3 , 2018-03-22 37 s(t) t Guruch. o'n bir. so'm birinchi Va uchinchi garmoniklar Davr funktsiyalari f ( s ) teng r = 2 p. Keling, hisoblaylik o'qishlar bir davr bo'yicha signal beradi va ularni butun sonlar sifatida ifodalaydi diapazon dan 0 oldin 255: x = trunk i 255 gunoh 3.2 2pi P + gunoh 3 P 2pi + +1.6 . Biz har bir davr uchun 256 ta namunadan foydalanamiz, shuning uchun p = 8 , P = 256 . Namuna raqami i funktsiyasi sifatida bitta signal davri ko'rsatilgan yoqilgan guruch. 12. Massiv hisobga oladi mumkin olish V dastur Maksima Bilan yordami bilan bitta buyruqlar: makelist (round(255*(sin(2*%pi*i/256)+). sin(3*2*%pi*i/P)+1.6)/3.2),i,0.255); s(t) 255 i 0 0 127 191 63 Guruch. 12. Bir davr signal 38 255 Natijada olamiz massiv dan 256 raqamlar: 128,135,143,151,158,166,173,180, 187,194,200,206,212,218,223,227, 232,235,239,242,244,246,248,249, 250,250,250,249,248,247,245,243, 240,237,234,230,227,223,218,214, 209,205,200,195,190,185,180,175, 171,166,162,157,153,149,146,142, 139,137,134,132,131,129,128,128, 128,128,128,129,131,132,134,137, 139,142,146,149,153,157,162,166, 171,175,180,185,190,195,200,205, 209,214,218,223,227,230,234,237, 240,243,245,247,248,249,250,250, 250,249,248,246,244,242,239,235, 232,227,223,218,212,206,200,194, 187,180,173,166,158,151,143,135, 128,120,112,104,97,89,82,75, 68,61,55,49,43,37,32,28, 23,20,16,13,11,9,7,6, 5,5,5,6,7,8,10,12, 15,18,21,25,28,32,37,41, 46,50,55,60,65,70,75,80, 84,89,93,98,102,106,109,113, 116,118,121,123,124,126,127,127, 128,127,127,126,124,123,121,118, 116,113,109,106,102,98,93,89, 84,80,75,70,65,60,55,50, 46,41,37,32,28,25,21,18, 15,12,10,8,7,6,5,5, 5,6,7,9,11,13,16,20, 23,28,32,37,43,49,55,61, 68,75,82,89,97,104,112,120 39 Keyinchalik dastur matnini unga hamrohlik qilib yozamiz tushuntirishlar. Dastur boshlanadi yoqish fayl Bilan tavsifi Men m8def.inc mikrokontrollerini dastur matniga qo'shyapman. Bu fayl dastur papkasida joylashgan bo'lishi yoki unga ishora qilishi kerak to'liq yo'l. Keyinchalik, mintaqaning tmp ramziy nomi beriladi. stru r16 . .o'z ichiga oladi "m8def.inc" .def tmp = r16 Saqlamoq hisoblangan avval o'qishlar signal Biz .. qilamiz V xotira tarafdori gramm. Shuning uchun, .CSEG direktivasi bilan biz joriy ekanligini ta'kidlaymiz politsiyachi kod dasturlari. Keyinchalik sozlash portlar I/U .CSEG clr tmp tashqariga DDRC, tmp ; chiziqlar port BILAN - kirishlarser tmp tashqariga DDRD, tmp ; chiziqlar port D - chiqadi tashqariga DDRB, tmp ; chiziqlar port B - chiqadi ldi tmp, 0b00001111 tashqariga PORTB tmp ; yoqilgan kondansatörler O'qishlarni o'zlarini butun dasturdan keyin joylashtiramiz va belgilaymiz signal belgisi bilan . U birinchi namunaning manzilini ifodalaydi signal. Dastur xotirasida saqlangan ma'lumotlarga kirish tomonidan ta'minlanadi Bu lpm buyrug'i yordamida amalga oshiriladi . Bunday holda, u ishlatiladi o'z ichiga olgan Z juftligi registrlari orqali bilvosita manzillash o'rmonchilar ikki ro'yxatdan o'tish r31:r30 . Jamoa lpm ekstraktlar bayt ma'lumotlar dan hujayralar xotira dasturlari, manzil qaysi ko'rsatilgan V ro'yxatdan o'tish - Z juftiga yig'lang . Bunday holda, murojaat qilishning o'ziga xos xususiyatlarini hisobga olish kerak dastur xotirasi. U o'n olti bitli so'zlardan iborat. Shunung uchun yorliq signalni o'z ichiga oladi manzil birinchi ortga hisoblash signal - la, so`z bilan ifodalangan. lpm 40 buyrug'i adreslashdan foydalanadi hamma bayt bu bir xil xotira. Demak, Uchun hisob-kitoblar 41 birinchi baytning manzili so'zlar bilan ifodalangan signal manzili kerak vah, ko'paytirmoq yoqilgan 2. IN Keyingisi parcha dasturlari katta va signal manzilining past baytlari yordamchiga yuklanadi registrlar r18 va r17 . r18:r17 registr juftining qiymati aqlli bosamiz yoqilgan 2 usuli siljish chap yoqilgan 1 bit. olamiz manzil birinchi baytlarda ifodalangan signallar soni va uni registrga yuklang chiziq er-xotin Z. ldi r18, yuqori (signal)ldi r17, past (signal) clc ; SREG holat registrining C bitini tozalashrol r17 ; tsiklik siljish chap yoqilgan 1 oz, orqalirol r18 ; SREG registrining C biti (2 ga ko'paytiring) mov r31, r18 ; yuklash manzillar V mov r30, r17 ; ro'yxatdan o'tish er-xotin Z IN natija mikrokontroller tayyor Kimga o'qish birinchi ortga hisoblash bu signal dan xotira dasturlari. Biz .. qilamiz foydalanish 24-bit batareya bosqichlari. Uning katta, o'rtacha Va Jr bayt Manzil mosravishda r30:r29:r28 registrlarini qo'ying . Yuqori bayt Fazali akkumulyatorning r30 belgisi signalning mos yozuvlar raqamini aniqlaydi, bu esa Bu DACga chiqarilishi kerak. Shuning uchun u mos keladi Bilan yoshroq bayt ro'yxatdan o'tish juftliklar Z. Keling, hisoblaylik Hozir chastota ruxsat. IN laboratoriya tartib ishlatilgan soat chastota mikrokontroller F klk ≈ ≈ 1 MGts. Quyida ko'rinib turganidek, asosiy dastur tsiklida biz soat sikllari soni m = 9 . Shuning uchun, namuna olish tezligi F 111 kHz. ≈ Batareyaning 24 marta zaryadsizlanishi bilan N = 16777216 fazasi , va chastota o'lchamlari ∆F = 0 . 00661611557 Hz. Kerak bo'lsin dimo hosil qilish signal Bilan chastota 1 kHz. Keling, ajratamiz talab qilinadi chastota o'lchamlari bo'yicha chastota, biz o'zgaruvchining qiymatini olamiz ō = magistral 1000 / 0 , { } 00661611557 = 151146 = 024E6Ah. Dasturdagi ō o'zgaruvchisini uchta registrga joylashtiramiz 42 r26:r25:r24 — katta, o'rtacha Va Jr bayt mos ravishda aslida. Keyingi fragment bu baytlarga hisoblash qiymatini belgilaydi. dangasa ma'nosi 024E6Ah. 43 ldi r24.0x6A ldi r25.0x4E ldi r26.0x02 Shundan so'ng dasturning asosiy tsikli keladi, unda ō qiymati fazali kumulyatorga qo'shiladi, hisob chiqariladi signal va portga chiqish. Ushbu harakatlar 9 soat tsiklini oladi mikrokontroller. asosiy: ; qo'shimcha r28, r24 qo'shing ; 1 o'lchov adc r29, r25 ; 1 o'lchov adc r30, r26 ; 1 xushmuomalalik ; qazib olish lpm ; 3 xushmuomalalik ; xulosa V port chiqish PORTD,r0 ; 1 bar rjmp asosiy ; 2 xushmuomalalik VA, nihoyat, keyin hammasi dasturlari joylashgan massiv dan hisoblar yaratilgan signal. signal: .db 128,135,143,151,158,166,173,180 .db 187,194,200,206,212,218,223,227 .db 232,235,239,242,244,246,248,249 .db 250,250,250,249,248,247,245,243 .db 240,237,234,230,227,223,218,214 .db 209,205,200,195,190,185,180,175 .db 171,166,162,157,153,149,146,142 .db 139,137,134,132,131,129,128,128 .db 128,128,128,129,131,132,134,137 .db 139,142,146,149,153,157,162,166 .db 171,175,180,185,190,195,200,205 .db 209,214,218,223,227,230,234,237 44 .db 240,243,245,247,248,249,250,250 .db 250,249,248,246,244,242,239,235 .db 232,227,223,218,212,206,200,194 .db 187,180,173,166,158,151,143,135 .db 128,120,112,104,97,89,82,75 .db 68,61,55,49,43,37,32,28 .db 23,20,16,13,11,9,7,6 .db 5,5,5,6,7,8,10,12 .db 15,18,21,25,28,32,37,41 .db 46,50,55,60,65,70,75,80 .db 84,89,93,98,102,106,109,113 .db 116,118,121,123,124,126,127,127 .db 128,127,127,126,124,123,121,118 .db 116,113,109,106,102,98,93,89 .db 84,80,75,70,65,60,55,50 .db 46,41,37,32,28,25,21,18 .db 15,12,10,8,7,6,5,5 .db 5,6,7,9,11,13,16,20 .db 23,28,32,37,43,49,55,61 .db 68,75,82,89,97,104,112,120 JB direktivasi kerakli bayt sonini saqlab qoladi dastur xotirasida. Direktivga o'tkazilgan parametrlar vergul bilan ajratilgan iboralar ketma-ketligi. Har biri ifoda yoki 0...255 oralig'idagi raqam bo'lishi kerak yoki ha wat da hisoblash natija V bu bir xil diapazon. 45 ADABIYOT 1. Baranov V.N. AVR mikrokontrolörlarini qo'llash: sxemalar, algoritmlar, dasturlar / V.N. Baranov. - M .: Dodeka-XXI, 2004 yil. — 288 Bilan. 2. Belov A.V. Biz yaratamiz qurilmalar mikrokontrollerlarda / A.V. Belov — Sankt-Peterburg : Fan Va Texnika, 2007 yil. — 304 Bilan. 3. Grebnev V.V. Mikrokontrollerlar oilalar AVR kompaniyalar Atmel / V.V. Grebnev. — M. : RadioSoft, 2002 yil. — 176 Bilan. 4. Evstifeev A.V. Mikrokontrollerlar AVR oilalar Kichkina Va ATMEL / A.V dan mega. Evstifeev. - M .: Dodeka- XXI, 2004 yil. — 560 Bilan. 5. Trumpert IN. AVR-RISC mikrokontrollerlar : qator Bilan nemis / IN. Trumpert. — Kiev : MK-Press, 2006 yil. — 464 Bilan. 46