Mikrokontrollerlarni dasturlash tartibi avr.

Kontaktlar / Men tozalovchi joy quraman


topshirish
Golovna

Dastur nima Algoritm nima? Maqola nomini aytib, biroz shoshqaloqlik qilgandirman "AVR mikrokontrollerlarini dasturlash birinchi qadamdir".
Xo'sh, ushbu maqola, barcha yutuqlar singari, mikrokontrollerlar dunyosida kichik bir saboqdir.

Va bizda bunday "ekinlar" juda ko'p bo'ladi, biz: "Mikrokontroller - bu yagona to'siq" deb ayta oladigan darajaga etib bormaymiz.

Ale y tse, hamma narsa uchun swed, fantastika galaktikasida - tushunarsiz ravishda tegib bo'lmaydi - mikrokontrollerlar dunyosi asta-sekin rivojlanib, to'liq rivojlanmoqda.
Bizning vazifamiz birinchi qadamni yaratishdir, uning mantiqiy natijasi shundaki, dizayn mustaqil ravishda parchalanadi va mikrokontrollerda yig'iladi.
Va keyin, uzoqda, teri saytida yaxshilab qazib olingan bilimdan o'z yo'lini sug'ordi.
Va keyin yakuniy maqolani shunday deb atash mumkin:
"Mikrokontrollerlarni dasturlash birinchi qadamning oxirgi bosqichidir"
(talab qilinadi, go'yo egilgandek!).
Va shuning uchun boshlaylik.
Mikrokontrollerni o'zlashtirishga tayyor bo'lganlar uchun uchta aql
1. Maqsadga javob berish va qat'iyatlilik
Men shuni aytmoqchimanki, boshlash uchun siz barcha 130 ta buyruqni yodlashingiz shart emas, ularning faqat yarmini (yoki undan ham kamini) bilishingiz kerak;

Qolaversa, bir-birini takrorlaydigan jamoalar ko'p.

topshirish

Agar biz ko'proq buyruqlarni bilsak, biz mikrokontrollerni yanada samarali boshqarishimiz mumkin va u bizning dasturlarimizdan qanchalik chiroyli va oqlangan bo'lsa. Xo'sh, siz mikrokontrollerni o'zlashtirishda qiynalayotganingiz uchun, keling, davom etaylik. Mikrokontrollerga qanday elementlar qo'yganingiz va ular qanday olib tashlanganligi yangisida saqlanadi

dastur- Mikrokontroller uchun dasturni o'zingiz yaratasiz.

Dastur (Tarjimada bu so'z "attributsiya" degan ma'noni anglatadi) - kelajakdagi voqealarning oldindan tavsifi. Misol uchun, biz mikrokontroller LED bilan yonishini xohlaymiz.
Bu oddiy vazifa, lekin mikrokontroller ishlashi uchun avvalo mikrokontrollerning barcha funksiyalarini bosqichma-bosqich tasvirlab berishimiz kerak.
dastur yozing
, shuning uchun biz kerakli natijaga erishish uchun LEDni miltillash uchun ishlatishimiz kerak.
Bunday skript haqida nima deyish mumkin:
♦ LEDni yoqing:
- Ma'lumotni ko'rsatishda ishlash uchun LEDni ulashdan oldin mikrokontroller chiqishini sozlang
— ushbu yangi mahsulotni yetkazib berish mantiqiydir, bu sizga LEDni yoqish imkonini beradi
♦ Joriy soatni tekshiring:
- pauzani tashkil etuvchi kichik dasturga o'ting (uni ham "yozish" kerak)
- Pauza pastki dasturidan so'ng asosiy dasturga qayting

♦ LEDni o'chiring: dastur- LEDni o'chirish uchun mikrokontrollerga mantiqiy darajani bering Va hokazo..

Golovna

Va hokazo. Terim bilan

ajratilmagan boshqa atama - Algoritm- Istalgan natijaga erishish uchun harakatlar tartibini tavsiflovchi ko'rsatmalar to'plami. Qaysi dasturlarda hisobotlar bor? biz barcha bosqichlarni belgilaymiz mikrokontroller, keyin ichiga algoritmlar
, - mil
Bu harakatlar tartibini anglatadi
mikrokontroller, uning asosida biz keyinchalik dastur yaratamiz.
Dumba bilan o'xshashlikdan foydalanish:
♦ LEDni yoqing ♦ Joriy soatni tekshiring♦ LEDni o'chiring

Va hokazo.

Shunday tarzda

algoritm dasturchi
00110101 011000100
. Algoritm qanchalik puxta va puxta o‘ylangan bo‘lsa, dasturni yaratish shunchalik sodda bo‘ladi., va buyruq kodi mikrokontroller tushunadigan bir xil.
Va kompyuter ma'lumotlarini mikrokontroller kompyuteriga o'tkazish uchun - bu nol va birlar to'plamiga ega - bizga maxsus dasturlar kerak. Ushbu dasturlar bizga mikrokontrollerning ishlash tartibini biz uchun tushunarliroq tarzda tasvirlash imkonini beradi va keyin bu tartibni tushunarli mikrokontrollerga o'tkazadi, natijada quyidagi nomlar paydo bo'ladi. mashina kodi - Buyruqlar va buyruqlar ketma-ketligi (bir xil nollar va birliklar) xuddi mikrokontrollerga o'xshaydi. Dasturchi tomonidan yozilgan dastur matni deyiladi chiqish kodi.
Dasturni kompyuteringizdan (chiqish kodi) mikrokontroller tiliga (mashina kodi) o'tkazish davom etmoqda

Va hokazo. teleradiokompaniyalar

.:
Tarjimon matnni mashina kod dasturlariga aylantiradi, so'ngra mikrokontroller haqidagi topishmoqqa yoziladi.
Bunday dasturlarda mikrokontrollerning ishlash tartibi maxsus dastur - mening dasturim bilan tavsiflanadi.
- bu mikrokontrollerga buyruqlar, ko'rsatmalar, aniq ishlov berishni uzatish usuli.

Ko'p dasturlash bilan siz ikkita turni ko'rishingiz mumkin
01010010
01000110
10010011
past darajadagi kino dasturlash Filmlar yuqori darajadagi dasturlash Qanday hid bor.

Va mikrokontrollerga yaqinligi tufayli hidlar sezilarli.
Mikroprotsessor texnologiyasining paydo bo'lishining boshida dasturlar mashina kodlarida yozilgan, shuning uchun butun algoritm izchil ravishda nol va birliklar ko'rinishida yozilgan. Masalan, o'qni dastur tomonidan ko'rish mumkin:
Professional sifatida ikkita raqamning bunday kombinatsiyasidan foydalanish muhimdir. Ularning hayotini osonlashtirish uchun birinchi navbatda dasturlar yaratila boshlandi
kino dasturlash
.
Shunday qilib, bunday nol va birlar to'plamiga eng yaqin bo'lgan o'q qanchalik "past" bo'lsa va ulardan qanchalik uzoqroq bo'lsa, "yuqori daraja".
00000101 1101001
Mikrokontrollerlar uchun eng ilg'or dasturlash:
- past mintaqa tili -
assembler
25+35
- yuqori darajadagi til -
Mayli, keling, bu dumbalarni chuqur qazaylik.
Biz mashina kod kodini qismlarga ajratmaymiz, fragmentlar Assambleya tili kodi bilan bir xil.
Assambleya tilining buyruqlari qisqartma harflarga berilgan nollar va birliklar ichida yo'qolib qolmaslik uchun mashina kodlari (buyruqlari) bilan bir xil bo'ladi.

O'rnatilgan dasturlar, qoida tariqasida, bir dasturda o'z imkoniyatlari va afzalliklarini ijodiy birlashtirib, bizning ko'plab dasturlarimizni biladi.

Xo'sh, biz, havaskorlar, faqat bitta tilni bilishimiz kerak (boshlanuvchilar uchun) va talabni (va men qat'iy qo'shiq aytaman) past darajadagi - Assembler tilidan boshlashimiz kerak.
dastur va ma'lumotlar bo'linadi (klassik arxitektura sarlavhasi ostida
fon Neyman kompyuterlari, xotira).
uchun alohida shinalar

Xotiraning ushbu sohalari dasturlar bilan tezda yangilanishi kerak bo'ladi: ma'lumotlar Jamoalar bir kechada aylanishlari mumkin.
32 yuridik tan olish reestri (RVN).
Atmel uzoqdagi birinchi kompaniya edi
hisoblash yadrosining klassik modeli sifatida chiqdi, unda vicon-
ALU va xotira o'rtasida ma'lumot almashish uchun buyruqlar uzatilmaydi uyqu xotirasida o'rtada. RONni shunday tezlikda joriy etish (biz taxmin qilamizki, bu yilda arxitektura X
86 bir nechta bunday registrlar mavjud va ichida
x
51 RONni shunday tushunadi,
har kuni) bir qator hollarda quyosh yonishining bo'shashishi tufayli dam olishga imkon beradi
OZPdagi global va mahalliy o'zgarishlar va vikoristan stekining chiqishi, bilan operatsiyalar
Dasturni qanday murakkablashtirish va tavsiflash.
Natijada, ak-

Namunaviy dastur yuqori darajadagi dasturlarga yaqinlashmoqda. To'g'ri, bu yanada murakkab buyruqlar tizimiga olib keldi.
AVR uchun ularning ko'pi bor, boshqa RISC-vatanlarida kamroq (bu muhim bo'lsa ham
Ko'rsatmalarning bir qismi taxalluslardir).
Flash dasturi xotirasi (10 000 o'chirish/yozish tsikli) mumkin.

ichki tizimni qayta dasturlash va ketma-ket olish orqali tugallangan sxemaning to'g'ridan-to'g'ri yonidagi kanal.
Men aylangan bunday yondashuvning afzalliklari haqida
qabul qilamiz, deb xabar qilingan edi

vedeniy Okrema energiyasiz xotira hududi
(EEPROM, 100 000 tsikl

o'chirish/yozish) dasturiy ta'minot orqali yozish imkoniyati bilan ma'lumotlarni saqlash uchun SPI interfeysi orqali yo'l yoki tashqi ta'sir.
Analog signallarni qayta ishlash uchun o'rnatilgan qurilmalar
: analog

komparator va ko'p kanalli 10-bitli ADC., Qo'riqchi taymer (, bu sizga avtomatik ravishda qayta ulanish imkonini beradi

qo'shiq intervallari orqali kontroller (masalan, chiqish uchun"uyqu" rejimi). Seriyali SPI interfeyslari (TWI I

C
) bu
UART

USART), ruxsat beraman -
Ko'p sonli standart sensorlar bilan ma'lumotlarni almashishingiz mumkin va
boshqa tashqi qurilmalar (shu jumladan shaxsiy kompyuterlar)
10-, 16-bitli impuls kengligi modulyatsiyasi (PWM).

Robotning soat tezligida ishlash qobiliyati 0 Gts dan 16-20 MGts gacha.

Besleme kuchlanish diapazoni 2,7 dan 5,5 V gacha(ba'zi hollarda 1,8 yoki
6,0 gacha).

Raqamli energiya tejash rejimlari, ular tugunlar soniga bo'linadi,
ular aloqalardan mahrum bo'ladi.
Qo'riqchi tomonidan "uyqu" rejimlaridan chiqish

taymer yoki tashqi uzilishlar. Hayot monitori bilan tanishtirish
- kuchlanish pasayishi detektori (Brown-out

Aniqlash).
Turli modellarga xos bo'lgan barcha xususiyatlar bu erda ko'rsatilmagan
AVR.
Biz o'tmishdagi boshqa narsalar haqida ham, amalda ham bilamiz

Keling, hisobotlar ro'yxatini ko'rib chiqaylik.

Ale schatku damo zagalnu xarakteristikasi
AVRlarning turli oilalari katta ahamiyatga ega ko'rinadi.
AVR oilalari U 2002 r. Atmel asosida yangi 8-bitli MK-larni chiqarishni boshladi AVR yadrolari.
O'sha soatdan boshlab ushbu oilaning barcha MKlari uch guruhga bo'lingan (kichik oila
va): Klassik, Tiny va Mega.
MK oilasi Classic (AT90S
xxxx
) endi chiqishga ruxsat berilmaydi;
virobnitstva topilgan "kesilgan" undan ham uzoqroq (oddiy, ixcham va
Shved modeli) AT90S2313, lekin 2005 yilda tug'ilgan. bilan almashtirildi
ATtiny2313.
Birinchi raqamlar 2 va 8 bo'lgan barcha "klassik" AVRlar nomlanadi
modellar (kilobaytlarda dastur xotirasi hajmini bildiradi) dunyoda o'xshashlarga ega
Tiny va Mega oilalari.
Dasturlash soati ostida Mega uchun maxsus o'rnatish mumkin jinnilikning ijtimoiy beta versiyasi, bu hech qanday o'zgarishsiz viko-
Klassik oila uchun yaratilgan dasturlarni o'rganing.
Shuning uchun, bir qator dumba bor
Taqdimotni soddalashtirish uchun ushbu kitobni oilalar uchun versiyada topish mumkin
Klassik.
AVR mikrosxemalarini ishlab chiqaradigan har xil turdagi holatlarni qo'llash,
shaklda ko'rsatilgan.
1.1.
Ushbu mavzu bo'yicha batafsil ma'lumotni quyidagi manzilda topishingiz mumkin
qo'shimcha 1
12 MGts noaniqliklarni aniqlab bo'lmaydi (xuddi L harfi to'liq bo'lmagan versiya kabi
3 V ga yaqin oziq-ovqat kuchlanishida ishlashi mumkin, shubhasiz, ekstremal darajada emas
ularning chastota qiymatlari), yuqori bosimli izolyatorlarni loyihalashda prote
Men sizga bu borada yordam bera olaman.
Kichkina chiplarda 1-8 kbayt hajmli Flash-ROM dasturlari mavjud va ular ichida joylashgan
Bu 8-20 pinli (attiny28) hollarda juda yaxshi, shuning uchun hid odatda sezilarli bo'ladi.
Oddiy va arzonroq qurilmalar uchun javob beradi.
Bu ular mumkin degani emas
Barcha turlar ko'proq chegaralarga ega, Mega oilasida kamroq.
Shunday qilib, masalan,
ATtiny26 2 dollardan past narxda, yuqori tezlikda PWM bilan taymerni joylashtiring

rejimi (boshqa modellarda bunday narsa yo'q), shuningdek, 11-kanalli ADC.

Robot differensial rejimda, boshqariladigan kiritish kuchaytirgichi bilan ishlaydi
I qism. Atmel AVR ning asosiy tamoyillari va uning ishlashi
va eski quvvat uchun xos bo'lgan kuchaygan qo'llab-quvvatlash kuchlanishi
dil.

ATtiny2313 mikrosxemasi, yuqorida aytib o'tilganidek, yangilanishdir. yaxshi, eng universal va qulay "klassik" AVRlardan birining versiyasi

AT90S2313.
Guruch. 1.1.
AVR uchun har xil turdagi korpuslar
Pidrodina Mega 8–256 kbayt hajmli Flash ROM dasturi va korpus bilan jihozlangan.
o'zlari 28-100 ta belgidan iborat.
Ushbu guruhning MK jurnali ko'proq "murakkab", kamroq Dasturlash soati ostida Mega uchun maxsus o'rnatish mumkin Tiny, biz ko'proq nosozliklar bilan o'rnatilgan qurilmalar tizimini o'chirishni rejalashtirmoqdamiz
funksionallik.
Turli xil Tiny va Mega modellarining asosiy xarakteristikalari, jumladan raqamlar bilan jadvallar
eng ko'p harakatlar soni amalga oshirildi
.
Quyidagi texnikalar ham berilgan: U 2002 r. Atmel asosida yangi 8-bitli MK-larni chiqarishni boshladi AVR oilasining chex xususiyatlari.
Batafsil ma'lumotni ko'rish mumkin. veb-saytida mavjud bo'lgan kompaniyaning texnik hujjatlari bilan Teri modeli uchun atmel.
Ushbu uchta oilaga qo'shimcha ravishda, AVR yadrosi asosida maxsus mahsulotlar ishlab chiqariladi
USB interfeysi bilan ishlash uchun mikrosxemalar (AT90USB
), keling, va'da beraylik -
CAN interfeysi (AT90CAN
xxx
), RC displeylari bilan foydalanish uchun (ATmega329 va boshqalar),
savdo uchun IEEE 802.15.4 (ZigBee) dronsiz interfeysi bilan

boshqa harakatlar.

12-bitli 16-kanalli ADC va 2-4 kanalli DAC (tuzilish boʻyicha dossi)
AVR har kuni hidlanadi), shu jumladan UART kanallari va boshqa so'nggi kanallar
portlar (va robotlar oflayn rejimda ishlash imkoniyati bilan, qachon
yadrolari), kriptografiya tomonidan qo'llab-quvvatlanadi, rivojlangan rejim
picoPower va boshqa qo'ng'iroqlar va hushtaklar.
Shuningdek, u oila atrofida 32 marta uxlaydi
qator MK AVR32, yuqori sifatli qo'shimchalar uchun mo'ljallangan

video oqimini qanday qayta ishlash va soatdagi tasvirlarni tanib olish.
Xususiyatlari

amaliy wiki MK AVR
Agar AVR noto'g'ri ishlayotgan bo'lsa, muammo amaliy xususiyatga ega bo'lgan past quvvatda, e'tibordan chetda.
ba'zan qurilmalarning ishdan chiqishiga yoki ishlamay qolishiga olib kelishi mumkin bo'lgan ta'mirlash
to'dalar (va ba'zi hollarda, uni imkonsiz darajaga qadar dasturlash mumkin).
Misol uchun, ushbu muammolardan biri EEPROMni isrof qilish ehtimoli
vimikanni hayotiyligi bilan.
Biz shunga o'xshash muammolarni batafsil ko'rib chiqamiz

keyingi bo'limlarda.

Shu zahoti o‘rtada qolib ketdim
AVR MK yoqilgan.
Birgalikda yashash haqida
AVR MK o'rtacha 5-15 mA (tashqi quvvatga moslashtirmasdan) ishlaydi
MK vysnovki orqali ryy).
Jonli strumlar nafaqat “navo-
modelning, shuningdek, soat chastotasi va kuchlanish 1.2-rasmda
elektr ta'minoti kuchlanishi ostida hayot oqimining zichligi odatiy diagrammasi chizilgan
Mega oilasining yosh modellari uchun soat chastotasi bir xil emas.
3 rasm.

1.2, zocrema, shundan kelib chiqadiki, hisob-kitobni sezilarli darajada o'zgartirish mumkin,

agar dastur ishlamayotgan bo'lsa, sokin davrlarda soat chastotasini pasaytirish

tanqidiy.
Bu energiya rejimlariga rioya qilish orqali dasturni o'tkazib yuborish imkonini beradi.
himoya qilish: masalan, 32,768 Gts chastotali "umr bo'yi" kvartsni o'rnatish bilan, shuning uchun
MK ning tirilish kuchlanishi 200-300 mkA ga yaqinlashishi mumkin.
Z
Amitki dalalarda
1-2 mA yoki undan kam oqim tezligining kattaligi aqliy jihatdan maqbul deb hisoblanishi mumkin
uzluksiz ishlash uchun sug'urtalangan batareya qurilmalari
roboti.
AA o'lchamdagi elementlar (ishqoriy turdagi) sig'imga ega bo'lishi mumkin
boshqa turdagi elementlardan tejash (taxminan 7 ta tosh).

Taomga hurmat bilan qarash, uning o'zi oddiy ekanligini ko'rsatadi.
yum dasturlari - eng muhim bosqichlar ko'proq afzalliklarga ega

rejimi (boshqa modellarda bunday narsa yo'q), shuningdek, 11-kanalli ADC.

past soat chastotasi va o'zaro bog'liqlik.
Shakldagi grafiklar.
1,2 chiziqli, yulduzcha
Bundan kelib chiqadiki, soat soati soat chastotasining pasayishiga mutanosib ravishda ortadi
buyruqlar yo'q.
Shunday qilib, protsedura soat chastotasida amalga oshiriladi

4 MGts 100 mksni oladi, 32768 Gts takt chastotasi bilan vaqt 12 ms dan ortiq. Bu va boshqa turdagi portlashda juda ko'p energiya sarflanishini tushunish oson

Ushbu protsedura avvalgidek qoladi.

Guruch. 1.2.
Hayotiy stressning oqim tezligi diagrammasi
va Mega oilasining yosh modellari uchun soat chastotalari
Shuning uchun, siz haqoratli sirni ishlab chiqishingiz mumkin: agar siz o'rganishni xohlamasangiz
nozik energiya tejash rejimlari va ularni dasturda amalga oshirmang, keyin uchun
Ishlashni kamaytirish uchun soat chastotasini pastroq tanlash kerak (by
Amalda, 1 MGts oralig'iga erishishni kuting, ya'ni. chegirma, har bir narsa uchun shved, tashqi bilan qo'shimcha hamkorlik orqali ta'sir yo'l qo'ymaslik ularni barcha sxemalarda muqarrar ravishda mavjud bo'lgan nayzalar bilan).
Oldingizda nima bor?
"chuqur" energiya tejash rejimlaridan biriga hayron bo'ling (div.
4-bo'lim
), keyin urish
Chastotasi umumiy o'sish nuqtai nazaridan unchalik ahamiyatga ega emasdek tuyuladi.
O'ng tomonda - oziq-ovqatning kuchlanishini tanlang, shunda siz yakmog'ni olishingiz mumkin
kamroq, tashqi qurilmalar ruxsat berganidek.
Hayot oqimining omonati
hayot kuchlanishini shakldagi grafiklardan osongina ko'rish mumkin.

boshqa harakatlar.

1.2, chiziqli bo'lmagan: ortishi bilan
Shaxsan, strumning keskinligi tez o'sib bormoqda.
Shunday qilib, uni pastga tushiring -
Jonli kuchlanish maksimal soat chastotasiga o'rnatiladi
AVR modellari (2,7 V da 8 MGts dan ko'p bo'lmagan) hammasi bir xil.
Masalan,
8 MGts taktli chastotada ishlash muddati 3 bo'lgan qurilmalar, rasmga qarang.
1.2, bo'ladi
hayot kuchlanishi 5, an'anaga zid.
Bundan oldin, faqat uni qo'llang, kabi
Qoida tariqasida, oziq-ovqat katta belgiga ega bo'lmagan marjada hisobga olinadi -
chennya.
Yorug'lik chiqaradigan diyot ko'rsatkichlari kuchlanishning pasayishini cheklashi mumkin.
tori (to'g'ridan-to'g'ri LEDlardagi kuchlanishni o'z-o'zidan tushiradiganlar orqali
taxminan 2 V ni o'rnating va katta ko'rsatkichlar uchun 5 V ni nazorat qilish uchun o'rnating -
aniq), lekin bunday qurilmalarda boshqaruvchining mavjudligi endi ajoyib narsa emas
rollar: etti segmentli raqamlarning o'zlari izchil tartibni saqlab turishi
100 mA yoki undan ko'p.
Boshqa turdagi analog sxemalar bilan ifodalanadi, bu erda
Oziq-ovqat ta'minotidagi kuchlanish "signal-shovqin" liniyasining ortishidan aniq. . E'tibor bering, AVR qurilmalari joriy rejimga qiymat qo'shishi mumkin.
strum (20-40 mA gacha), er osti chegarasi haqida unutmang
na spozhivannya z vivedennya kharchuvannya (div.
stol
P1.3).
Slayd ham shuni anglatadi
ADC kirishlariga analog kuchlanishlarni qo'llashda kirish raqamli CMOS- element (chiqish portiga kirish) ulanmagan va bu maqsadlar uchun Elementning chegarasi yaqinidagi kuchlanish o'sish uchun oshirilishi mumkin

Chiqish kaskadlari orqali oqim oqimining oqimi uchun tanna

CMOS (shu jumladan inodlar va mikrosxemalar "uyqu" rejimida bo'lganda,
div.
14-bo'lim
).
PicoPower texnologiyasidan foydalangan holda mikrosxemalarda kichik qisqarish mavjud.
Sxemalarda AVR o'rnatish xususiyatlari
Ko'pgina MK ulanishlarida ulanadigan "tortib olish" qurilmasi mavjud
(hayot avtobusiga ulanish uchun) birida bo'lgan rezistor asosiy elektron muammolar, agar bunday rezistorning mavjudligi talab etilsa ikkita tugmachani ulash yoki "qulflanmagan kollektor" dan chiqish uchun.
Biroq, tanqidiy vaziyatlarda, 2- qo'llab-quvvatlovchi tashqi rezistor.
5 kOhm (10-30 kOm gacha bo'lgan hayot uchun muhim kuchlanish uchun). "Pull-up" rezistori faqat / RESET piniga o'rnatilishi kerak(nima kiritilganligi haqida
2-bob
), agar sizda SCK, MOSI va MISO bo'lsa, tamom
Dasturlash va ulanish uchun quyidagi portlar tanlangan
dasturlashtiriladigan ISP porti (div.
ty dasturi

rejimi (boshqa modellarda bunday narsa yo'q), shuningdek, 11-kanalli ADC.

Boshqa tomondan, agar dasturlash tamoyillari xizmat qilsa
Yuzlab asosiy portlar chiqish uchun tuzilgan va qurilma to'xtab qolgan
energiya tejash rejimlari, "yuqoriga tortadigan" rezistorlar mavjudligiga olib kelishi mumkin
struma to'liq so'rilmaguncha (rezistor orqali chiqish mantiqiy nolga o'rnatilganda).
stor flowe strum vid dzherela zhizvennya na vkhid MK).
Qaytadan birini qanday amalga oshirish kerak
energiyani tejash, keyin sxemani diqqat bilan tahlil qilish kerak
Ushbu rezistorlar orqali oqim o'tadigan vaziyatlarni o'chiring.

Bundan tashqari, MK ulanishlari bilan ishlaganda har doim tashqi rezistorlarni o'rnating

yong'in avtobusi, I interfeysida bo'lgani kabi
C (yoki oddiygina MK kirishi ulanganda yopiq kollektorli boshqa qurilmaning chiqishi, masalan, hayot monitorlari ha, tavsiflar
3-bob ), ikkita tugmachaga ulanganda (ayniqsaі 5 tashqi uzilishning dalillari uchun, div.
4-bob
).
Opir vbudovogo
rezistor (aslida bu, shubhasiz, dala effektli tranzistor)
Bunday vaziyatlarda u elektromagnit uzatish uchun juda yaxshi ("on-
burnerlar") samarali tarzda "o'tirdi".
CMOS mantig'i kabi AVR chiplari har doim yuqori chegaraga javob beradi
Hammom er avtobusida uzatishdan samarali himoyalangan.
Biroq, yoqimsiz hid bor

hayot avtobusidagi kodlarni o'zgartirganda ancha jiddiyroq.

Shunday qilib, rozvyazuvannya haqida unutmang.
to'g'ridan-to'g'ri pinlarga o'rnatilishi kerak bo'lgan kondansatkichlarimiz
taniya (keramika 0,1-0,5 mkF), shuningdek, o'rta tekislagichlarning kuchi va

stabilizatorlar.
ROZDIL
Zagalniy ruhoniysi
xotirani tashkil etish,
taktuvannya, skidannya
AVR MK ichki strukturasining ichki tuzilishi rasmda ko'rsatilgan.
2.1.
Bu haqida
AVR ning barcha asosiy komponentlarini ko'rsatadigan diagramma (jumladan, JTAG moduli);
boshqa modellarda saqlash qutilari kundalik yoki bo'linishi mumkin -

xususiyatlari tufayli u er osti 8-bitli protsessorga muqarrar ravishda yo'qoladi.

yadro (GPU, Umumiy ishlov berish birligi).
Biz eng muhim tarkibiy qismlarni qisqacha ta'riflaymiz
Bularning aksariyati biz uzoqdan ko'rganmiz.
256 kbayt.
Dastur xotirasi, boshqa flesh xotira kabi, yonma-yon joylashgan
tashkilot (sahifa hajmi, modelga qarab, 64 dan
256 bayt).
Yon to'liq dasturlashtirilishi mumkin.
Tsikllar soni
qayta dasturlash 10 ming turadi.
Dasturchi nuqtai nazaridan, dastur xotirasi ko'rinishi tufayli hisobga olinishi mumkin
biznes o'rtalari - har biri ikki baytni to'kib tashlang.

Xotira qurilmalarini dasturlash (va faqat

xotira) ikki baytli so'zlar orqasida - talab qilinadigan juda muhim moment

mahkam ushlang.

Bunday tashkilot AVRdagi jamoa qanday bo'lishidan ilhomlangan.
Bu aniq ikki baytni oladi. "Pull-up" rezistori faqat / RESET piniga o'rnatilishi kerak Jamoani ayblash
va faol -

rejimi (boshqa modellarda bunday narsa yo'q), shuningdek, 11-kanalli ADC.

boshqa (masalan,
), 16-bit va ilg'or bilan qanday ishlash kerak
bizning manzillarimiz bilan ushbu buyruqlarning aksariyati bir necha bayt kabi eski va hid yanada qiyinlashadi
Dastur xotirasi 8 kbayt dan ortiq bo'lgan modellar uchun (div.

). U

1.2, zocrema, shundan kelib chiqadiki, hisob-kitobni sezilarli darajada o'zgartirish mumkin,

agar dastur ishlamayotgan bo'lsa, sokin davrlarda soat chastotasini pasaytirish

Boshqa barcha turlarda, o'yinni tugatgandan so'ng, jamoa shifokori talab qilinadi
ikki bayt (bir so'z) uchun buyruqlar, shuning uchun kerakli xotira hajmi oson
128

G'olib jamoalar sonidan xabardor bo'ling. Xotiradagi mutlaq manzillar gramm (masalan, texnikni to'xtatish uchun vektorlar jadvaliga ishora qiladi

MK tavsifi) so'zlardagi mahoratingizni ham oshiradi.
Guruch. 2.1.
AVR mikrokontrollerlarining tashqi blok diagrammasi
ning ifodalovchi manzil turi ko't ishora qilaylik LPM xotirasidan konstantalarni o'qish buyrug'i (shuningdek, dastur xotirasi bilan MK dan ELPM). kbayt va boshqalar).
Bu jamoa o'qish uchun hurmatga loyiqdir

bayt
ko'rsatilgan manzil -

nom ikki katta RON da (deb atalmish registr Z o'rnatish, div. masofa).
Biroq, qilmang

so'zlar, ishlab chiquvchilar ortida xotira dasturlarini tashkil qilish kontseptsiyasining "pokligini" yo'q qilish

LPM buyrug'i chaqirilganda eski ekanligini ta'riflab ko'rsatib, bu oddiy ovqatda yo'qoldi
Z ni ro'yxatdan o'tkazish uchun 6 15 raqam manzili

so'z xotirasida va yoshroq toifani tanlaydi past yoki yuqori bayt (agar bit 0 yoki 1 bitga teng bo'lsa)
so'zlar. Biroq, bayt-bayt va ketma-ket xotira tashkiloti ekanligini ta'kidlash oson kimlar teng?і 5 Muayyan model uchun aniq dastur xotirasining manzili qolgan
doimiy bilan belgilanadi

bu MK tushirilganda tugaydigan protsedurani ko'rsatadi (shu jumladan
hayot yoqilganda).

P

RIMITKA

AVR assemblerida siz "Paskal" da o'n oltilik sonlarni yozishingiz mumkin.
Oldinda $ belgisi bo'lgan uslublar, bu holda filmning uslubi C (0x00) ham faol bo'ladi va o'qi
"Intel" usuli (00h) ishlamaydi.
Turli raqamlarni belgilash haqida batafsil ma'lumot "Pull-up" rezistori faqat / RESET piniga o'rnatilishi kerak.

AVR assembler div da hisoblash tizimlari.
Mega oilasi kontrollerlari dasturlarining qolgan xotira manzillarida siz topishingiz mumkin lag tsv. zavantazhuvach
- sevishganlar uchun maxsus dastur
Asosiy xotira tizimidan amaliy dasturlarning hayotiyligi.
Kimning kayfiyati yomon?
To'xtatilishi kerak bo'lgan vektorlar soni va to'xtatilishi kerak bo'lgan vektorlarning butun jadvali (ya'ni, aslida, "Pull-up" rezistori faqat / RESET piniga o'rnatilishi kerak).

dastur yozila boshlagan dastlabki manzil) o'zgartirilishi mumkin

O'rta zanjirlarning maxsus konfiguratsiyasini o'rnatish mumkin emas (div.
Ma'lumot xotirasi (RAM, SRAM)
Dastur xotirasini o'zgartirishda ma'lumotlar xotirasining manzil maydoniga murojaat qilinadi
bayt bayt (va so'zma-so'z emas). uyqu xotirasida o'rtada. Manzillash butunlay chiziqli, hech qanday bo'linishsiz
sahifalarda, segmentlarda yoki banklarda, boshqa tizimlarda o'rnatilgan.
Tiny oilasining yosh MKlari (shu jumladan Tiny1
va Tiny28) ma'lumotlar xotirasi kabi
Voy, tashvishlanmang, registr fayli (RON) va kirish registrlari o'rtasida
tak-visnovku (RVV).
Boshqa modellarda AOK qilingan SRAM hajmi har xil bo'ladi
Tiny oilasi vakillari uchun 128 bayt (masalan, ATtiny2313) 4–8 kbaytgacha
eski Mega modellari uchun.
Statik ma'lumotlar xotirasining manzil maydoni (SRAM) aqlli ravishda bo'linadi
rasmda ko'rsatilgan bir qator hududlar.
2.2.
Qorong'i plomba ning bir qismini ko'rsatadi
Yangilangan SRAMga nima kiyish kerak, undan oldin aylanuvchining manzili -

1.2, zocrema, shundan kelib chiqadiki, hisob-kitobni sezilarli darajada o'zgartirish mumkin,

agar dastur ishlamayotgan bo'lsa, sokin davrlarda soat chastotasini pasaytirish

Shuningdek, registrlarning manzil maydoni (birinchi 32 baytni RON egallaydi, qolgan 64 bayt -

RVV). yopiq kollektorli boshqa qurilmaning chiqishi, masalan, hayot monitorlari.
Katlanadigan tuzilishga ega eski Mega modellari uchun (masalan, ATmega128)
64 ta kirish-chiqish registrlari etarli bo'lmasligi mumkin, shuning uchun ular

Manzil maydoni atrofida qo'shimcha RVVlar ko'rinadi ($60 dan maks.
Bayt adreslashda $FF qiymati uchun juda kam qiymat mavjud va shu bilan birga bunday registrlar ham bo'lishi mumkin
kompyuter, markaziy protsessor bilan bog'liq har qanday tashqi qurilmalarga kirish
Komponentlar xotiradan tashqari kiritish-chiqarish portlari orqali ham ishlaydi.

rejimi (boshqa modellarda bunday narsa yo'q), shuningdek, 11-kanalli ADC.

Joriy Mega modellari uchun (ATmega8515, ATmega162, ATmega128, ATmega2560)
Shuningdek) gacha tashqi xotirani ulash imkoniyati
64 kbayt, u statik bo'lishi mumkin
turli (SRAM, Flash yoki EEPROM) bilan
parallel interfeys.
RON va RVV manzillari olinmaganligi muhimdir
OZP ma'lumotlaridagi mandrivka (vinyatok ulanishining orqasida-
eski Mega modellari uchun tashqi xotira,
qiymatlar bilan o'ralgan maksimal manzillar
$FFFF): shuning uchun ma'lum bir MK modelida mavjud
512 bayt SRAM va registr maydoni egallagan
Dastlab 96 bayt ($60 manzilgacha), keyin SRAM manzillari
$0060 dan $025F gacha bo'lgan manzil maydonini egallaydi
(96-dan 607-chigacha).
Kinets

bu ma'lumotlarning xotirasi yaratiladi va doimiy bilan belgilanadi Guruch. 2.2.

Manzil maydoni

Statik ma'lumotlar xotirasi (SRAM)

AVR mikrokontrollerlari
Jumboqda o'qish/yozish operatsiyalari dos-ga ega har qanday manzillar bilan amalga oshiriladi.
ahmoqona joy va SRAM bilan ishlashda hurmatli bo'lish kerak: almashtirish
Xotiradagi yozuvni istalgan registrga osongina “yuborishingiz” mumkin.

Masalan,

qiymatni ro'yxatga olish buyrug'i

registrda

) teng darajada kuchli

nol manzilida SRAMdagi yozuvlar (
).

RON sov-xotirasidagi manzillar
yogo raqami bilan tushadi.
Xuddi shu soatda o'rta yoshli uchun men uning uchun RVVda ro'yxatdan o'taman
Xotiradagi manzilni ro'yxatga olish raqamiga qo'shing, $20 qo'shing: shuning uchun, varrantlar reestri
ko'pgina modellar uchun manzil ortidagi RVV jadvaliga muvofiq kengaytirilgan
$3F, xotira manzili $5F.
RON va RVVni to'g'ridan-to'g'ri manzil orqali o'rnating.
Uni maydalash oson emas: bunday yozuv har doim bitta o'rniga ikkita chiziqni oladi, odatda.

Bu ko'pgina boshqa buyruqlar uchun, garchi u almashinuvni chetlab o'tishga imkon beradi

turli xil portlovchi moddalarni manipulyatsiya qilish bo'yicha.

Agar dastur tayyor bo'lsa, men uning ustida ishlayapman
SRAM bilan ishlash, keyin protsessor modellarini eskilariga almashtirishda sizga kerak bo'ladi
Keling, ularning SRAM manzillari yosh va buzilgan bo'lishi mumkin bo'lganlarni hurmat qilaylik
qo'shimcha RVVlar.

2-bob

Energiyasiz ma'lumotlar xotirasi (EEPROM)
Ushbu inode konstantalarini o'zingiz aniqlashingiz kerak bo'ladi).
Qayta aylanish davrlari soni
EEPROM hajmi 100 mingga yetishi mumkin.
Namuna olish imkoniyati tufayli EEPROM Flash ta'sirida bo'lishi mumkin
Grample bayt (asosan, bitma-bit yozing, lekin bu usul mavjud emas
koristuvacha).
Biroq, EEPROM oilasining eski modellarida flesh-xotira mavjud
Dasturda yon tashkilot mavjud, ammo sahifalar kichik - gacha
4 bayt teri.
Amalda, EEPROM ketma-ket dasturlashtirilganda bo'lgani kabi
tana kanali (SPI dasturlash interfeysi orqali) va yozib olishda va
EEPROMni dasturlar bilan o'qish, bu xususiyat muhim emas va kirish ta'minlanadi
U bayt-bayt yoziladi.
EEPROM-dan o'qish bir mashina tsikli davomida sodir bo'ladi (ammo
Amalda, u bir necha davrlarga cho'ziladi, ammo dasturchi buni kuzatib borishi kerak. ijtimoiy talab qilinmaydi).-
Va EEPROM-ga yozish o'qi tezroq oqadi,
va undan oldin, aniq belgilanmagan tezlik bilan: bir bayt yozish tsikli mumkin
2 dan ~ 4 ms yoki undan ko'proq vaqtni oling.
Yozib olish jarayoni eslab qolish bilan tartibga solinadi
R.C. chastotasi beqaror bo'lgan generator (past kuchlanishda
E'tibor bering, yozib olish vaqti uzoqroq bo'ladi).
і 9 ).
Bunday qo'ng'iroqlar bilan bir soat davomida -
Ushbu chastotalarda MK minglab buyruqlarga duch keladi, shuning uchun dastur
Yozib olish jarayoni aniqlikni talab qiladi: masalan, siz tikishingiz kerak,
Shunday qilib, yozib olish paytida hech qanday uzilish bo'lmaydi (ushbu div.
gla-
vi 4
EEPROM bilan ishlashda bosh og'rig'i - shikastlanish ehtimoli
hozirgi vaqtda etarli darajada past kuchlanish bilan ushlab turilgan
vimicannya.
Hayot kuchlanishining o'zgarishi bilan tushuniladi
ma'lum chegara (barqaror ish chegarasidan past, lekin qayta ishlash uchun etarli emas)
th o'chirish) kuchlanish kuchayishi orqali MK to'liq to'xtashni boshlaydi
buyruqlar yo'q, siz EEPROM ga yozish jarayonini ham bajarishingiz mumkin.
Yakshcho
E'tibor bering, odatiy AVR MK buyrug'i o'nlab mikrosekundlarda bajariladi, hech qanday real hayotda qisqarishni ta'minlay olmasligimiz aniq
zarur soatda nolga kuchlanish Muallifning bilimi bilan, favqulodda vaziyatda ovqatlanayotganda
).

rejimi (boshqa modellarda bunday narsa yo'q), shuningdek, 11-kanalli ADC.

Bunday hollarda ma'lumotlarning katta tejalishi tasdiqlangan va tasdiqlangan.
muhim ehtiyot choralari bilan va EEPROM-ga yozishga imkon berganligi sababli - protsedura - ra ikki bosqichli (div. 9-bo'lim
).
Boshqa barcha holatlarda (va ular, shubhasiz,
mutlaq ko'pchilik - EEPROM-da foydalanuvchining og'zi ko'pincha saqlanadi -
yangi elementlar va ishlayotganda aniq konfiguratsiya) qabul qilinishi kerak
maxsus tashriflar.
Ulardan eng asosiysi va universali bu muassasadir
yangi tashqi hayot monitori, u tashlansa MKni stantsiyadan olib tashlaydi
Voltajdagi o'zgarishlar chegara qiymatidan past.
Siz xizmat qilishni xohlaysiz Taqdim etilgan kuchlanish pasayishi detektori (Brown-out Detection, BOD), oshkor etildi deyarli barcha Tiny va Mega modellari uchun, agar texnik hujjatlar kiritilmagan bo'lsa -
Bunday holda, ishonchliligi uchun u tashqi hayot monitori bilan takrorlanadi. ra ikki bosqichli (div..

BOD sxemasi va MK divni yo'q qilish rejimlari haqida hisobot.

ushbu bo'limda
, va dasturiy ta'minot haqida mu EEPROM va vv vikoristik divlar uchun xorijiy yozuvlar. Vaqtni belgilash usullari
MC soatining kanonik usuli kvarts rezonatorini ulashdir
asosiy belgilarga (2.3-rasm,
A

).

Odatdagi uchun C1 va C2 ​​kondansatkichlarining sig'imi
ba'zida u 15-22 pF bo'lishi kerak (bir vaqtning o'zida 33-47 pF ga ko'tarilishi mumkin)
ushbu soatlik yutuqlarga).
Ko'pgina Tiny va Mega modellarida mavjud
Maxsus konfiguratsiya biti mavjud
Bu sizni tartibga solish imkonini beradi

Mehmonxona Bu bit 1 ga o'rnatilganda (dasturlashtirilmagan holat)

Jeneratorning tebranish diapazoni o'zgaradi, bu esa tovushning kuchayishiga olib keladi
chastota diapazoni va haddan tashqari o'zgaruvchanlik, bu ushbu rejimga ta'sir qiladi
tavsiya etilmaydi.
Bundan tashqari, past chastotali kvarts rezonatoridan ham foydalanishingiz mumkin.
(masalan, "yillik" 32,768 Gts), bu holda C1 va C2 ​​kondansatkichlaridan foydalanish mumkin
Vati, chunki o'rnatilganda
0 qiymatlari to'g'ridan-to'g'ri omborga ulanadi 36 pF quvvatga ega MK ichki kondansatkichlari. Kvarts rezonatori keramika bilan almashtirilishi mumkin.
Ushbu seriyalarning muallifi berilgan
MK-ni nostandart chastotalarda ishga tushiring, vikorist va kvartsni xuddi shu tarzda almashtiring -
miniatyura indüktansı yoqilgan (qiymati 4,7 mkH va sig'imlari bilan -
Biroq, agar aniqlik talab qilinmasa, siz tashqi ulashingiz mumkin ijtimoiy talab qilinmaydi).-lantsyujok
(2.3-rasm, V).
Ushbu sxemada C1 sig'imi 22 pF dan kam emas, qarshilik esa R1
3,3-100 kOhm oralig'ida tanlash mumkin.= 2/3 ijtimoiy talab qilinmaydi). Formulada ko'rsatilgan chastota
F

.

Agar nurni yozib olish kerak bo'lsa, C1 darhol o'rnatilmasligi mumkin.
konfiguratsiya uchun 0 - ijtimoiy talab qilinmaydi). o'rtada doljin

Bu ko'pgina boshqa buyruqlar uchun, garchi u almashinuvni chetlab o'tishga imkon beradi

Ushbu ichki kondansatör 36 pF ga ulangan.
Agar qaror qilsangiz, siz har doim tashqi komponentlarga tayanib, o'zingizga erishishingiz mumkin
uni
-generator, eng yaqinida qanday ishlar bajariladi
chastota qiymatlari (1, 2, 4 va 8 MGts).
Bir qator modellar quvvatni oshirdi

ushbu generatorning chastotasini sozlash (hisobot yoki texnik tavsif maxsus modellar). mu EEPROM va vv vikoristik divlar uchun xorijiy yozuvlar. Bu vikoristning eng mumkin bo'lgan usuli

36 pF quvvatga ega MK ichki kondansatkichlari. 8 pinli paketda ishlab chiqarilgan yosh kichik modellar - shuningdek, asosiylari, V - ijtimoiy talab qilinmaydi). Rezonator yoki tashqi generatorni ulash uchun mo'ljallangan

asosiy kirish/chiqarish portlari kabi boshqa maqsadlar uchun. ijtimoiy talab qilinmaydi). Guruch. 2.3.

AVR MK-ni vikilar bilan sozlash usullari:

- kvarts rezonatori;

- tashqi generator;
-lantsyujki

Klassik oila, qayta tiklandi

-generator yo'q va maxsus konfiguratsiyalar yo'q -

Ushbu MKlarning o'rta nuqtalari sezilarli darajada kamroq va ularga zagal hujumida siz qila olmaysiz

zvertati hurmat.

Boshqa vatanlar uchun bunday emas.

MK oilasining nikohi uchun

Tiny va Mega yangi generatorli robot tegirmoniga o'rnatilgan

chastota 1 MGts (

0001), keyin boshqa rejimlar uchun ulanish kerak

"Pull-up" rezistori faqat / RESET piniga o'rnatilishi kerak.

konfiguratsiya sozlamalarini to'g'ri o'rnating(2.1-jadval bo'limi). Bu bilan

markazning izi

0000 (sanaga ko'ra aks ettirilgan)

kvarts rezonatori uchun eng ko'p ishlatiladigan qiymat 1111) o'tkaziladi

MK soat rejimini tashqi generatordan boshqaring va bu holda bu mumkin emas

Siz tashqi chastotani qo'llamasdan dasturlashingiz mumkin.

O'rnatish bo'yicha tavsiyalar haqida ijtimoiy talab qilinmaydi). birliklarning konfiguratsiyasi va ularni dasturlash xususiyatlari haqida.

O'rnatish bo'yicha tavsiyalar haqida ijtimoiy talab qilinmaydi). birliklarning konfiguratsiyasi va ularni dasturlash xususiyatlari haqida.

O'rnatish bo'yicha tavsiyalar haqida ijtimoiy talab qilinmaydi). birliklarning konfiguratsiyasi va ularni dasturlash xususiyatlari haqida.

O'rnatish bo'yicha tavsiyalar haqida ijtimoiy talab qilinmaydi). birliklarning konfiguratsiyasi va ularni dasturlash xususiyatlari haqida.

2.1-jadval. ijtimoiy talab qilinmaydi). Konfiguratsiya sozlamalarini o'rnatish

rejimi (boshqa modellarda bunday narsa yo'q), shuningdek, 11-kanalli ADC.

CKSEL soat rejimlariga qarab ehtiyotkorlik bilan

0000 (sanaga ko'ra aks ettirilgan)

kvarts rezonatori uchun eng ko'p ishlatiladigan qiymat 1111) o'tkaziladi

MK soat rejimini tashqi generatordan boshqaring va bu holda bu mumkin emas

2.1-jadval. ijtimoiy talab qilinmaydi). Konfiguratsiya sozlamalarini o'rnatish

CKSEL3...0

2.1-jadval. ijtimoiy talab qilinmaydi). Konfiguratsiya sozlamalarini o'rnatish

Dzherelo taktuvannya

2.1-jadval. ijtimoiy talab qilinmaydi). Konfiguratsiya sozlamalarini o'rnatish

Chastotasi

Tashqi chastota

Vbudovaniy

-generator

Vbudovaniy

CKSEL3...0

Vbudovaniy

Dzherelo taktuvannya

Zovnyshnya

Vbudovaniy

-lantsyujok

2.1-jadval
(tugallangan)
0,9...3,0 MGts
3,0...8,0 MGts
O'zgaruvchan izlarning qiymatlari dastur (primus) yordamida kobga o'rnatiladi.
Yuklab olingandan so'ng, dastur asl manzilga ulanishni boshlaydi (qayta ishlashdan keyin
ce manzillari $0000).
Chegirma hayot yoqilganda oldindan qo'llaniladi.
Krem, dzherelami reset-
Sizda quyidagi variantlar ham bo'lishi mumkin: apparatni yo'q qilish, keyin past darajadagi ta'minot
RESET kirishiga kuchlanish (uni inversiya bilan belgilash to'g'riroq: / RESET, chunki
bu erda faol stavka past va biz ushbu qoidaga amal qilamiz);
Men tugataman -

belgilangan qo'riqchi taymer oralig'ida emas;

sxemalarni loyihalash
BOD.
To'rtta yosh bitning qiymati registrda ro'yxatga olinadi
signal bor
lizuvat, ular haqida dzherel oldingi vaqt tebranish (o'rnatilgan
1 bitda yangi 0 - yoqilganda qayta o'rnatish, 1 bit - apparatni qayta tiklash, bit 2 - chiqish
BOD sxemalari, bit 3 - urush taymerini kiritish). Amalda, muallifning bilimiga ko'ra,).
reestri boshqa mahrumlardan ishonchli tarzda ajratilgan mamlakatlar
taymer orqali qayta o'rnatish (boshqa signallar hammasini o'rnatish orqali paydo bo'lishi mumkin -
vaqt soati).
Ushbu ma'lumot, masalan, tahlil paytida muammoli bo'lishi mumkin
Robotning butun ish qurilmalarini to'xtatish sabablari ro'yxati (div.
12-qism
Tiny oilasining yosh MKlarida (krem ATtiny28) qo'shimcha "ko'tarish" yo'q.

Bu ko'pgina boshqa buyruqlar uchun, garchi u almashinuvni chetlab o'tishga imkon beradi

th" rezistor chiqishda / RESET, shuning uchun ishonchli ishlash uchun ogohlantirishga amal qiling
Ulangan 2-5 kOhm tashqi rezistorni ulashdan ehtiyot bo'ling
kuchlanishli ovqat.
Muallif, shuningdek, o'rnatishni qat'iy tavsiya qiladi
Barcha AVR modellari uchun qulay rezistor, chunki kiritilgan rezistor ko'proq bo'lishi mumkin
yuqori nominal qiymat (100–500 kOm) va yangisi vaqtinchalik ta'sirga duchor bo'lishi mumkin, bu esa o'sishga olib keladi.
tayyorlanmagan chegirmaga ty.
Shuningdek (texnik tavsiflarda bunday tavsiya mavjud bo'lsa ham)
tavsiyalar va noto'g'ri joylashtirmang) ichida 0,1-0,5 mkF kondansatör o'rnatishni unutmang.
Yerga / RESET chiqishi - bu kuchlanishning muqarrar o'sishini yumshatadi va chiqishda kuchlanish ko'tarilishi old bir oz siqiladi / RESET tenglashtirilgan).
kuchaygan hayot stressi uchun: davrlarni qo'llash vaqti kelganda
Bu allaqachon aytilgan edi - tashqi hayot monitorini o'rnatish.
Masalan, qachon
Eshik huquqiga ega MC34064 mikrosxema 5 voltli ilovalar uchun mashhur.
Televizor 4,6 V va odatiy sharoitlar kuniga 300 mkA yoki undan ko'p
analog (masalan, 12 mkA ortish bilan MAX803L).
Trivoltaj hayoti uchun
Birlashtirilgan MAX803R sxemasi (2,6 V) yoki DS1816 ning mos keladigan versiyasi
katta kuchlanish bilan.
Mikrosxemalarning barcha ro'yxatlari ahamiyatsiz (hayot, "yer-
", tashlab ketishni boshqarish ko'rsatiladi) va chiqish ochiq kollektor bilan ochilishi mumkin, shuning uchun
"Pull-up" rezistorini o'rnatishni o'ylab ko'ring.
So'rash uchun odatiy soat -
Past kuchlanishdagi mikrosxemalar ko'p emas - mikrosekundlar, bu ta'minlaydi
EEPROM-dan ma'lumotlarni saqlash.
Stress vaqtida hidlar ta'minlanadi

katta vaqtni kechiktirish (sekundning bir qismi tartibida), bu ishonchli tarzda imkon beradi
hech qanday qiyinchiliksiz bajaring.
Qo'llash soati mikrosekundlar tartibida bo'lishini ta'minlash uchun BOD sxemasi kiritilgan
kuchlanish tiklangandan keyin ish holatiga qaytish uchun qulflash orqali,

Aynan shu sozlamalar bilan belgilanadi, masalan, tashlab yuborishning kechikishi (tijorat

soat chastotasi 4 MGts) va maksimal mumkin bo'lgan qiymatlar ~ 68 ms bo'lishi mumkin

kuchlanish pasayganda paydo bo'ladigan ishqalanishni chetlab o'tish uchun etarli emas ko'rinadi

avtonom qurilmaning kuchlanishi.

BOD robot rejimini tanlash uchun foydalaning
o'rtaning uchta konfiguratsiyasini yig'ish
shunday bo'ladi:
111 (standart o'rnatish) - BOD sxemasi;
101 - ariza berish stavkasi 2,7 bo'lsa, BODni o'z ichiga oladi;
100 - 4.0-moddaning chegarasiga to'g'ri keladi.
Robotning ishonchliligi nuqtai nazaridan qaraganda, ular orasida kamroq farq borligi muhimdir
kuchlanish va hayot monitorini qo'llash chegarasi (tashqi yoki

Men bir necha bor aytdimki, MKni ishlab chiqish assemblerdan boshlashni talab qiladi.

Saytdagi butun kurs bunga bag'ishlangan (garchi bu eng so'nggisi bo'lmasa ham, aks holda men uni mos keladigan ko'rinishga keltiraman).

Shunday qilib, bu oson, natija birinchi kuni bo'lmaydi, lekin keyin siz boshqaruvchida nima borligini tushunishni boshlaysiz.

Siz ular qanday ishlashini bilasiz, lekin boshqa odamlarning nashrlarini nusxalash va nima uchun ular sotishni to'xtatganini tushunishga harakat qilish orqali emas.

Bundan tashqari, eng kutilmagan daqiqada ishlatilishi mumkin bo'lgan beadlock kodini yaratish ancha oson.

Afsuski, hamma natijani yomon istaydi.
Shuning uchun, men peti boshqa tomonga qo'yishga qaror qildim - Si ni suratga olish va keyin ichki kiyimimni ko'rsatish.
Yaxshi dasturchi-embedder har doim uning ruxsatisiz qadam qo'yishiga yo'l qo'ymasdan, eshagini krakerdan ehtiyotkorlik bilan ushlaydi. Shunday qilib, avval C kodi, keyin kompilyatorni yaratganlar va hamma narsa qanday to'g'ri ishlaydi :) Boshqa tomondan, C kodlash uchun portativ bo'lishning kuchli tomoniga ega.

Hamma narsani to'g'ri yozish yaxshi. Quyidagi algoritmlar ishlaydi va loyihaning turli qismlarida amalga oshirish uchun foydalidir. Keyin, algoritmni boshqa MC ga o'tkazish uchun interfeys to'pini qayta yozish kifoya qiladi, bu erda yuklashdan oldin barcha operatsiyalar yoziladi va butun ishchi kod avvalgidek o'chiriladi.

Va, eng muhimi, o'qish qobiliyati. Bir qarashda bu dam olish kunlarini tushunish osonroq (masalan, menga nima qilish kerakligi muhim emas - men buni xohlayman, men buni xohlayman :)), lekin yana hamma narsani to'g'ri yozishim kerak.- juda mashhur kompilyator.
Ulanish soddaligi tufayli mashhur bo'ldi.

Ishchi dastur endi xarajatlarning faqat bir qismini ishlab chiqarish mumkin - har qanday turdagi uskunani standartlashtirishni muhrlab qo'ygan boshlang'ich kod ustasi. Rostini aytsam, men yangi narsadan shubhalanayotganga o'xshayman - bu kompilyator tomonidan yozilgan dasturni qismlarga ajratishga to'g'ri keldi va bu kod o'rniga tartibsizlik bo'lib chiqdi.і Kichkina hajmdagi kod va yuqori tezlikdagi kodga olib keladigan keraksiz tana ishi va operatsiyalari juda achinarli. Biroq, yangi proshivka yozish orqali DNKda o'zgarishlar bo'lishi mumkin. Bundan tashqari, siz tiyinlarni xohlaysiz. IAR kabi boy emas, lekin ajoyib. Demo rejimida esa 2kb dan ortiq bo'lmagan kod yozish imkonini beradi. Crack, albatta, lekin agar siz allaqachon o'g'irlagan bo'lsangiz, bu million, sensi IAR :)

Ko'proq Image Craft AVR C MicroC

mikroelektronikadan na birining, na boshqasining ekspluatatsiya qilish imkoniyati yo'q edi, lekin eksa

S.W.G.
Men allaqachon maqtayman

MicroPascal

, gapirganda, yanada aniqroq dasturlash va kutubxonalar o'rtasida.
Menimcha, MicroC bundan ham yomoni bo'lmaydi, lekin u to'lanadi.

Aytganimdek, men tebrandim
WinAVR Uchta sababga ko'ra: u bepul, u AVR Studio-ga integratsiyalashgan va uning ostida hayotning barcha turlari uchun faqat tayyor kodning portlashi yozilgan. Shunday qilib, WinAVR o'rnatishlaringizni AVR Studio'dan yuklab oling. Keyinchalik, studiya birinchi marta o'rnatiladi, keyin hayvon WinAVR-ni yuklab oladi va plagin shaklida studiyaga boradi. Men WinAVR-ni qisqa yo'l bilan o'rnatishni qat'iy tavsiya qilaman, shunda siz C:WinAVR-ni C:WinAVR tizimiga o'rnatishingiz mumkin va siz yo'llar bilan hech qanday muammoga duch kelmaysiz.

Loyihani yaratish


Bu sizning loyihangizni sozlash, aniqrog'i, make faylini avtomatik yaratishni sozlash haqida.
Birinchi sahifada siz foydalanadigan qurilmaning chastotasini kiritishingiz kifoya.

Bu urish chastotasi bilan bog'liq, shuning uchun bizning chastotamiz 8000000 Gts bo'lishi muhimdir.

Shuningdek, bir qator optimallashtirish orqali hurmatingizni oshiring.


U erda turish vaqti keldi - O'lchamlar uchun optimallashtirish emas.

Hozircha ish tugadi, keyin ushbu parametr bilan o'ynashga urinib ko'rishingiz mumkin.
-O0 - kelajakda optimallashtirish zarurati.

Yaqin kunlarda zodagonlardan tozalash bo'ladi.
Avvalo, u erda loyihangiz uchun katalogni qo'shing - u erda uchinchi tomon kutubxonalarini qo'shing.

Ro'yxatda ".\" yo'li bo'ladi.
Avlod faylini yarating, uni loyihangizning standart papkasida ko'rishingiz mumkin, shunchaki uni ko'rib chiqing va u erda nima borligini ko'ring.

Demak, hozircha shunday.


OK ni kiriting va chiqishga o'ting.

Muammoning bayonoti

Bo'sh varaq qandaydir hiyla-nayrang g'oyani taqdim etishni shunchalik vasvasaga soladi, chunki oddiy bir lahza endi o'zini o'zi qo'shmaydi.

Keling, uni shoxlardan ushlab, kompyuter bilan bog'laymiz - men sizga oldindan aytib beraman.

Pratsyuvatime quyidagicha:

MAQOMOTI porti orqali bitta (kod 0x31) kelganda, diod yoqiladi va nol kelganda (kod 0x30) o'chiriladi.

Bundan tashqari, hamma narsa uzilishlar paytida bajarildi va fon vazifalari boshqa davrning bir lahzasi bo'lar edi.
Oddiy va aql bilan.

1 Keling, sxemani tanlaylik

Keling, sxemani tanlaylik

USB-USART konvertor modulini mikrokontrollerning USART ulanishlari bilan ulashimiz kerak. Image Craft AVR C Unda kontrollerning barcha registrlari va portlarining tavsifi mavjud. Bundan tashqari, u erda hamma narsa ayyor bo'lib, kompilyator orqali uzatiladigan ma'lum bir kontroller bilan bog'langan. qilish parametr fayli MCU

Va bu almashtirishda ushbu kontrollerdagi barcha portlar va registrlarning manzillarini tavsiflovchi sarlavha fayli loyihangizga ulanadi. Axi yak!<имя файла> Busiz ham mumkin, lekin siz SREG yoki UDR buyrug'idagi registrlarning ramziy nomlaridan foydalana olmaysiz va "0xC1" buyrug'i bo'yicha foydalanuvchi manzilini eslay olmaysiz va shu bilan boshingiz bilan aralashasiz.

Jamoaning o'zi
#o'z ichiga oladi

  • Matn fayli oʻrniga loyihangizni qoʻshish imkonini beradi, masalan, funksiya tavsifi yoki boshqa kodning qisqacha mazmuni boʻlgan fayl. Va direktiv ushbu faylni topishi va loyihamizga yo'llarni ko'rsatishi uchun (WinAVR katalogi sukut bo'yicha u erda ro'yxatdan o'tgan). Bosh funktsiyasi.
  • Mening dasturim funksiya haqida.
  • Ular har qanday tartibda va har xil usullarda birin-ketin kiritilishi va chaqirilishi mumkin.

Teri funktsiyasi uchta oblik parametrga ega:

Aylanishning ma'nosi, masalan, gunoh(x) sinus x qiymatlarini aylantiradi.

1 2 3 4 5 Qisqasi, matematika kabi.

O'tkaziladigan parametrlar, bu raqam.

Funktsiya tanasi.

O'tkazilgan va aylantirilgan barcha qiymatlar ma'lumotlarga qarab har qanday turdagi bo'lishi mumkin.
Har qanday C dasturi funksiyadan noto'g'ri foydalanishda aybdor asosiy

asosiy dasturga kirish nuqtasi sifatida, aks holda bunga loyiq emas :). gunoh(x) Asosiysi millionlab fayllar bilan boshqa birovning loginida bo'lganligi sababli, bu dasturning asosiy qismi ekanligini tushunishingiz mumkin va hamma narsa undan boshlanadi. i o'qi taqdim etiladi: int main (void) (qaytish 0;) i o'qi taqdim etiladi: int main(void) (qaytish 0; )

Hammasi shu, eng oddiy dastur yozildi, bu muhim emas, buzish uchun hech narsa yo'q, biz endi boshladik.

Keling, nima qilganimizni ko'rib chiqaylik. int gunoh(x) Bu asosiy funksiya aylantiradigan ma'lumotlar turi. Keling, nima qilganimizni ko'rib chiqaylik. Birinchidan, mikrokontrollerda

Printsipial jihatdan, biz hech narsani aylantira olmaymiz va fikr bo'lishi mumkin { } asosiy bekor (bo'sh) gunoh(x), lekin GCC dastlab shaxsiy kompyuterda ishlaydi va u erda dastur tugagandan so'ng operatsion tizim qiymatlarini o'zgartirishi mumkin.

GCC ovoz balandligi yoqilgan- bu aylantirilgan qiymatdir, chunki asosiy funktsiya tugallanganda qaytib keladi, shuning uchun bizda int bor, keyin raqam aylantiriladi.
Men buni istayman, ammo, hech qanday ma'nosiz, chunki gunoh(x) Asosiy mikrokontrollerda biz hech narsa olmaymiz.

Men nolni aylantiraman.

1 2 3 4 5 6 Bo nefig.

Va kompilyator oqilona kod yaratmaydi.

Agar siz burishmoqchi bo'lsangiz, unda Siz MK-dan chiqishingiz mumkin - masalan, siz yuklash va kirish bo'limiga kirishingiz mumkin, ammo bu erda o'tishga manzillarni yuborish uchun siz hali ham mikrodasturni past darajadagi modifikatsiyaga muhtoj bo'lasiz. Agar siz burishmoqchi bo'lsangiz, unda.
Siz o'zingiz o'rganasiz va uni qanday topishni tushunasiz. Nima bo'ldi? Eksa allaqachon boshqa oziqlanishdir, 99,999% hollarda bu talab qilinmaydi :)

Biz ishladik va davom etdik. Seriyali SPI interfeyslari Shuni qo'shimcha qilishim kerakki, biz bunga ayniqsa muhtoj emasmiz va o'zgarishlar kiritishga hojat yo'q, bu oson emas, lekin biz buni odatiy hol sifatida qabul qilamiz.

Agar funktsiya tanasining o'rtasiga o'zgarishlar qo'shilsa, u holda ular mahalliy bo'lib, faqat shu funktsiyada sodir bo'ladi.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Funktsiyadan chiqqaningizda, o'zgarishlar o'chiriladi va RAM xotirasi muhim ehtiyojlar uchun ajratiladi. . int main(void) (imzosiz char i; qaytish 0; )<< RXEN| 1 << TXEN| 1 << RXCIE| 0 << TXCIE; UCSRC = 1 << URSEL| 1 << UCSZ0| 1 << UCSZ1; }

int main(void) (imzosiz char i; qaytish 0; )<

imzosiz imzosiz degan ma'noni anglatadi. O'ng tomonda, qo'shaloq ma'lumotda, eng yuqori bit belgi ostida qo'yilgan, ya'ni +127/-128 raqami bir baytga (char) sig'ishi mumkin, aks holda belgi qo'yilgan bo'lsa, u ham mos keladi. 0 dan 255 gacha. Belgisi shart emas.

Xo'sh i- hammasi bir xil. Bundan ortiq emas. Endi siz portlarni ishga tushirishingiz kerak . Albatta, siz kutubxonani olib, qo'shishingiz va UartInit (9600) ni bosishingiz mumkin;

Ammo keyin aslida nima bo'lganini bilmay qolasiz. Allaqachon murakkabroq, yangisi o'rniga hisob-kitoblar birinchi ikkita formuladan foydalangan holda taqdim etiladi.
Xo'sh L.O.і Salom Qaysi natija eng past va eng yuqori baytni oladi, chunki Salom Siz bitta baytga sig'masligingiz mumkin. L.O. U

Xsuv ix (makrosga kirish parametri) ni har doim o'ng tomonga ishga tushirishga harakat qiling, buning natijasida eng muhim bayt yo'qoladi. imzosiz degan ma'noni anglatadi. Va ichida

Biz 00FF raqami bilan bitma-ket olib tashlashimiz kerak va natijada biz eng muhim baytni yo'qotamiz. Shunday qilib, ezilgan hamma narsa!

Siz uni xavfsiz qoldirishingiz va kalkulyatorda kerakli raqamlarni topishingiz va ularni darhol UBBRL = ... qatoriga kiritishingiz mumkin. UBBRH = ….. Bu mumkin, ehtimol.

Ale!
Robiti Tshogo

BUNI MUTLAK MUMKIN EMAS 1< Pratsyuvatim va hokazo, lekin sizda dasturda shunday nom paydo bo'ladi sehrli raqamlar— aqlsiz va aqlsiz qabul qilingan narsaning ahamiyati va agar siz bir-ikki toshda bunday loyihani boshlasangiz, qanday ahamiyatga ega bo'lishini tushunasiz. sehrli raqamlar Shu bilan birga, siz tezlikni o'zgartirmoqchi bo'lsangiz yoki kvarts chastotasini o'zgartirsangiz, hamma narsani qayta tiklashingiz kerak bo'ladi va koddagi bir nechta raqamlarni va hamma narsani o'zingiz o'zgartiring. Aytgancha, agar siz savdo ishtirokchisi sifatida tanilishni istamasangiz, kodni o'qish, tushunarli va o'zgartirish oson bo'ladigan tarzda yozing. Hammasi oddiy: 1< Bularning barchasi "UBRRL va C" UART konfiguratsiya registri bo'lib, biz yorug'likdan foydalanamiz. Va biz darhol ularga kerakli qiymatlarni berdik, ularni kerakli likvidlik va kerakli rejimga moslashtirdik. Aqlni yozib oling 1< Buning ma'nosi: 1 ni oling va í ni joyiga qo'ying RXEN baytda.

bu registrning 4-biti

UCSRB
, Xo'sh

00010000 juft raqamini tasdiqlaydi, TXEN- bu uchinchi bit va

Yana bir krok sarflang.

Buning o'rniga registrni qanday o'zgartirish kerakligi qiziq.
Shunday qilib, ularning barchasini ko'rib chiqing, barcha belgilangan bitlar men aytganimdek o'rnatiladi va ular bir vaqtning o'zida har bir bayt uchun o'rnatiladi. O'ng tomonda Qaytish yo'q - dastur tugadi. Roztin Endi simulyatsiyani nolga tushiring. U yerni bosing

Qayta tiklash (Shift+F5)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 .

Demontaj qilingan ro'yxatni oching va siz boshqaruvchida nima borligini ko'rasiz.

Ushbu vektorlar jadvali uzilishi kerak.
Biz hayratlanmasdan va nima ekanligini eslashdan oldin unga qaytamiz.

Birinchi ustun - bu buyruq joylashgan o'rta flush manzillari, boshqa buyruq kodi, uchinchi buyruq mnemonikasi, montaj ko'rsatmasining o'zi, buyruqning uchinchi operandisi.

Bu avtomatik izoh.

1 2 3 4 Shunday qilib, agar siz hayratda qolsangiz, bu erda davom eting.

Va JMP buyruq kodi to'rt bayt uzunlikda bo'lib, u o'tish manziliga mos keladi, teskari yoziladi - eng yosh manzil ortidagi eng past bayt va 940C o'tish uchun buyruq kodi.

0000002B: BE1F OUT 0x3F, R1 I/U manziliga o‘ting

0x3F manzilida nol yozish, agar siz kiritish-chiqarish ko'rinishi ustuniga qarasangiz, u holda SREG registrining manzili - kontroller ensign registriga qaraganda 0x3F manziliga murojaat qilish muhimroqdir.

Tobto.

1 2 Dasturni nol fikrda ishlatish uchun SREG-ni qayta o'rnatamiz.

+0000002C: E5CF LDI R28,0x5F Darhol yuklang +0000002D: E0D4 LDI R29,0x04 Darhol yuklang +0000002E: BFDE OUT 0x3E, R29 Kirish/chiqish joyida +0000002

Bu asosiy funksiyadan chiqish kabi tayyorlanmagan sozlamalar qatoridir.

1 Bunday halqadan boshqaruvchi apparat qurilmasi sifatida yoki, albatta, qo'riqchi sifatida ko'rsatilishi mumkin.

Xo'sh, yuqorida aytganimdek, bu joyni olti burchakli muharrirga yuboring va qalbimiz uchun eng yaxshi joyga boring.

JMP va RJMP o'tishlarining ikki turi mavjud bo'lganlarga ham hurmat ko'rsating, birinchisi - manzilga to'g'ridan-to'g'ri o'tish.

U iloji boricha ko'proq baytni oladi va siz butun xotira maydoni bo'ylab to'g'ridan-to'g'ri sakrashni amalga oshirishingiz mumkin.

1 2 3 4 5 6 7 8 9 10 11 12 <

O'tishning yana bir turi RJMP - tashqi.<

Ushbu buyruq ikki baytni egallaydi, lekin o'tish oqim holatida (manzil) 1024 soat oldinga yoki orqaga ishlaydi.

1 2 3 Ushbu parametrlarda oqim nuqtasidan siljish ko'rsatilgan.

Vikori ko'pincha ishlatiladi, chunki

ikki barobar kamroq flesh joy egallaydi va keyingi o'tishlar kamdan-kam hollarda talab qilinadi.

+00000034: 940C0000 JMP 0x00000000 O'tish

00000034: 940C0000 JMP 0x00000000 Oʻtish

Offtop:
Aleksey78 Firefox uchun plagin yaratgandan so'ng, bu mening saytim va forumimda navigatsiyani osonlashtiradi.
Muhokama qilingan va yuklab olingan,

LPT porti uchun dasturchining asosiy diagrammasi miniatyurada ko'rsatilgan.

Avtobus shakli sifatida 74AC 244 yoki 74HC244 (K1564AP5), 74LS244 (K555AP5) yoki 74ALS244 (K1533AP5) mikrosxemasidan foydalaning.

LED VD1 mikrokontrollerning yozish rejimini ko'rsatadi,

LED VD2 - o'qish,

LED VD3 - kontaktlarning zanglashiga olib kelishining isboti. Voltaj, kerakli apparat davri ISP rozetkasidan olinadi, keyin.

dasturlashtirilgan qurilma sifatida.




Ushbu sxema STK200/300 dasturchisining qayta ishlangan sxemasi (robotni qo'lda ushlab turish uchun LED qo'shilgan), u STK200/300 sxemasi bilan ishlaydigan shaxsiy kompyuterlardagi barcha dasturchi dasturlariga mos keladi.


Sim dasturchiga ega robotlar uchun dasturni vikorize qiling

CVAVR

Dasturchi rasmlarda ko'rsatilganidek, boshqa doskaga o'rnatilishi va LPT ulagichiga joylashtirilishi mumkin:

Dasturchiga ega robotlar uchun siz o'zingiz tayyorlashingiz qiyin bo'lgan LPT portini qo'lda o'rnatishingiz mumkin (masalan, printer uchun Centronix kabeli bilan), yerga o'tkazgichlarga (18-25 fut vilka) zarar etkazmasdan yoki sotib olishingiz mumkin. .

Dasturchi va dasturlashtirilgan mikrosxema orasidagi kabel 20-30 sm dan oshmasligi kerak.

Hozirgi radio havaskorlikni mikrokontrollerlarsiz aniqlash mumkin emas va bu aniq. So'nggi o'n yillikda turli ishlab chiqaruvchilarning mikrokontrollerlari faoliyatning turli sohalarida kengaydi. Ular ko'pincha ta'sirlanmagan qurilmalar va tuzilmalarga yopishib qolishi mumkin. Biz ko'plab jarayonlarimizni kompyuterlashtirish va avtomatlashtirish dalillarini siz bilan baham ko'ramiz. Haqiqat shundaki, dasturlash asoslarini bilmasdan turib, zamonaviy raqobatbardosh qurilmalarni yaratish deyarli imkonsiz bo'lib qoldi. Ushbu maqolani o'qiyotganingizda, siz mikrokontrollerlar qanday ishlashini va hamma narsa uchun qancha oziq-ovqat to'lanishini tushunishni xohlashingiz mumkin: 4. Adabiyotdan qanday dars berishim kerak? Keling, quvvat manbaini sinab ko'raylik..

1. Robotingiz uchun qaysi mikrokontrollerni tanlashingiz kerak? 8-bitli mikrokontrollerlar radio ixlosmandlari orasida juda mashhur. PIC Microchip Technologydan AVR Atmel, 16-bit MSP430 TI dan, shuningdek, 32-bitli mikrokontrollerlar, arxitekturalarі ARM Sanoatda esa kuchli shamol bilan birinchi o'rin cho'kmoqda
Renesas Electronics

boshqa tomondan Freescale.

Tanlov, yana qulaylik, havaskor ishlanmalarning shaxssizligi va boshlang'ich materialning katta miqdori bilan ajralib turdi.

Bu oilaning turli komponentlari va funksionalligini aniqlash.
2. Tanlangan mikrokontrollerni ishlab chiqish jarayonining o'zagi nimadan iborat? AVR uchun turli xil integratsiyalashgan ishlab chiqish muhitlari (IDE, Integrated Development environment) yaratilgan.
IDE
- bu dasturchilar tomonidan dasturiy ta'minotni (SW) ishlab chiqish uchun foydalaniladigan dasturiy ta'minot xususiyatlari tizimi bo'lib, u quyidagilarni o'z ichiga oladi:
matn muharriri,
kompilyator va/yoki tarjimon,

katlamali avtomatlashtirish xususiyatlari, menejer.
Ularning eng katta kengligi AVRStudio, ATmelStudio, WINAVR, CodeVision, IAR Embedded Workbench Dasturlarni yozish uchun biz xarajatlarsiz tezlashamiz
IDE ATmelStudio versiyasi 6

va boshqalar.

Ro'yxatdan o'tganingizdan so'ng siz Atmel Studio-ni rasmiy veb-saytdan yuklab olishingiz mumkin (ro'yxatdan o'tish mutlaqo bepul va hech narsa talab qilmaydi!)

ATmelStudio sizga montajda ham, C tilida ham loyihalar yaratish va dasturlar yozish imkonini beradi.
Elektr ta'minoti endi boshlanadi: samarali dasturlarni yozish uchun qanday dasturlashni tanlashim kerak? Javob oddiy: siz kamida ikkita til assemblerini va C tilini yozishingiz kerak. Agar siz skriptlar, ixcham kichik dasturlar, makroslar va turli xil qurilmalar drayverlarini yozishingiz kerak bo'lsa, yig'ish tili shunchaki zarur.
Ale, ko'p barrel hisoblash loyihasi, saqlash algoritmlari bo'yicha reklama aktsiyalari, bilimsiz buti Bagato soat bilan bo'yalgan, ayniqsa, ivaro -jezenna jarayonida va yakscho vniki bazhannya uchun izhshha platformasi, narxi. PIC18, tiyilish, hal qilib bo'lmaydigan muammoli muammo bo'lishi mumkin.

Buning atrofida darhol apparatli hisoblash platformalari paydo bo'ldi Arduino.

, qaysi ish Movie C++ bilimiga asoslangan

Shuning uchun biz dasturlarni assembler tilida ham, C tilida ham yozamiz.
Ishingiz natijalarini lehimli temir yoki non taxtasidan foydalanmasdan aniq o'rganish uchun faqat dasturni o'rnatishingiz kerak.

Proteus

3. Tekshirgichni qanday miltillash kerak va ular bilan qo'lda ishlash uchun qanday qo'shimcha qurilmalar va aksessuarlar kerak?
Vikoristovamo Datagorsk.
Bundan tashqari, prototip platasini, chiqish kuchlanishi 5 volt bo'lgan quvvat manbai blokini qo'shish kerak bo'ladi.
AVR MK kitobidagi 10 ta amaliy qurilma 1-2.
Kravchenka, 2008-2009
MK AVR uchun qurilmalarni o'z-o'zini o'rgatgan ishlab chiqaruvchi.
Belov, 2008 yil
MK AVR oilalari Tiny va Atmega.
Efstifev, 2008 yil
CodeVisionAVR.
Boshidanoq odamlar uchun qo'llanma.
Lebedev, 2008 yil
Qurilmalar, tiristorlar, o'rni bilan mikroprotsessor.
Belov, 2008 yil
MK ning analog interfeyslari.
Styuard, Ball, 2007 yil
Biz qurilmani AVR MK da yaratamiz.
Belov, 2007 yil
MK AVR radio havaskor amaliyotida.
ATTINY2313 ning yangi tahlili.
Belov, 2007 yil

MK dan ma'lumotlarning marja va marjalararo almashinuvi.

Go, 2007 yil

MK AVR.

Pochatkovitlar uchun seminar.
Hartiv, 2007 yil
Sxemalar, algoritmlar, dasturlar.
Baraniv, 2006 yil
AVR mikrokontrollerlari.
Kirish kursi.
Morton, 2006 yil

Vimiryuvannya, keruvannya va AVR yordami uchun tartibga solish.
Trumpert, 2006 yil
AVR va PIC MK uchun C bilan dasturlashtirilgan.
Shpak, 2006 yil
MKda qo'shimchalar dizayni.
Belov, 2005 yil
MK - bu shunchaki, 1-3 jildlar.
Frunze, 2002-2003 yillar
Til dasturi Si, 2-nashr.

Kernigan, Ritchi, 2009 yil
S. Prokopenko tomonidan ATMEL mikrokontrollerlarini dasturlash, 2012 y
Oldinga qaragan soat va saqlash va tekislash rejimlari bilan bitta 16-bitli taymer/likvidator
Taxminiy generator bilan real vaqtda shifokor
Uchta PWM kanali
8-kanalli analog-raqamli konvertor (TQFP va MLF paketlari uchun)
10 bitli aniqlikdagi 6 ta kanal
6 kanalli analog-raqamli konvertor (PDIP korpusi uchun)
10 bitli aniqlikdagi 4 ta kanal
8 bitli aniqlikdagi 2 ta kanal
Bayt yo'nalishlari 2-simli ketma-ket interfeys
Eng so'nggi USARTni dasturlash
Serial SPI interfeysi (simli/video)
Uyg'otish generatori bilan kuzatuvchi taymerni dasturlash
Vbudovan analog taqqoslagich

Maxsus mikrokontroller funktsiyalari
Elektr ta'minotini qisqartirish va qisqa soatlik kuchlanish pasayishi detektorini dasturlash
RC generatorini kalibrlash bilan tanishtirish
Ichki va tashqi kuchlar uzilishi kerak
Beshta past shovqin rejimi: Bo'sh, quvvatni tejash, quvvatni o'chirish, kutish va ADC shovqinini kamaytirish

I/O ulanishlari va korpus
23 dasturlashtirilgan kirish / chiqish liniyalari
28-pinli PDIP shassisi, 32-pinli TQFP shassisi va 32-pinli MLF shassisi

Ish kuchlanishi
2,7 - 5,5 V (ATmega8L)
4,5 - 5,5 (ATmega8)

Ishlash chastotasi
0 - 8 MGts (ATmega8L)
0 - 16 MGts (ATmega8)

Variantlar ATMEGA16 v 8
16 KB tizim ichidagi o'z-o'zidan dasturlashtiriladigan flesh xotira

JTAG interfeysi (IEEE 1149.1 asosida)
JTAG standartiga mos keladigan periferik skanerlash qobiliyati
Kelajakdagi farovonlik uchun kengaytirilgan qo'llab-quvvatlash
JTAG interfeysi orqali dasturlash: Flash, EEPROM xotirasi, jumper va blokirovka biti

Chotiri kanali PWM / PWM

8-kanalli 10-bitli analog-raqamli konvertor
8 ta assimetrik kanal
7 ta differentsial kanal (faqat TQFP paketi uchun)
1, 10 yoki 200 marta dasturlashtiriladigan daromadli 2 ta differentsial kanal (faqat TQFP paketida)

Oltita pasaytirilgan shovqin rejimi: Bo'sh, quvvatni tejash, quvvatni o'chirish, kutish, kengaytirilgan kutish va ADC shovqinini kamaytirish

32 dasturlashtirilgan kirish / chiqish liniyalari

40 pinli PDIP va 44 pinli TQFP shassisi

AtmelStudio

Agar siz endigina boshlayotgan bo'lsangiz, AtmelStudio dasturini atmel.com rasmiy sahifasidan yuklab olishingiz va o'rnatishingiz kerak bo'ladi.
AtmelStudio dasturini o'rnatganingizdan so'ng siz yaratilgan loyihani chop etishingiz mumkin.
Loyiha- bu sizning dasturingiz, siz yozish, ishlab chiqish va kompilyatsiya qilishdan keyin mikrokontroller haqidagi topishmoq uchun.

Loyihani yaratish uchun siz dasturni ochishingiz kerak, bu ekran pardasi paydo bo'ladi,

va loyihaga bag'ishlangan sahifa ochiladi

Yangi loyiha yaratish uchun tugmani bosishingiz kerak "Yangi loyiha..."
Bu oynada yangi oyna ochiladi, unda siz o'zingizning dasturingizni, loyiha nomini, joylashuvingizni, loyiha fayllari bilan paket nomini va boshqa bir-biriga o'xshash loyihalarda keyingi tahrir qilish uchun katalog yaratish imkoniyatini tanlashingiz mumkin. Assambleya tilida dasturlashtiriladigan loyihani yaratish uchun siz quyidagilarni tanlashingiz kerak: Assembler , shundan so'ng biz loyiha nomini, uni kengaytirishni o'zgartiramiz va tanlaymiz

KELISHDIKMI.

Tez orada paydo bo'lish vaqti keldi Tanlang"megaAVR, 8-bit" Biz kerakli mikrokontrollerni topdik, shuning uchun biz tanladik ATmega8. , shundan so'ng biz loyiha nomini, uni kengaytirishni o'zgartiramiz va tanlaymiz

Ekran pardasining o'ng tomonida ushbu mikrokontroller bilan ishlaydigan qurilmalar ro'yxati mavjud bo'lib, ulardan birini biz ulashimiz mumkin.


Tanlang
Muharrir tomoni matnda paydo bo'ladi, bu sizga dasturni tahrirlash va yaxshilash imkonini beradi.