Mundarija:

AVR Assembler qo'llanmasi 8: 4 qadam
AVR Assembler qo'llanmasi 8: 4 qadam

Video: AVR Assembler qo'llanmasi 8: 4 qadam

Video: AVR Assembler qo'llanmasi 8: 4 qadam
Video: MKS SGEN L V1.0 - A4988 Stepper Drivers 2024, Noyabr
Anonim
AVR Assembler qo'llanmasi 8
AVR Assembler qo'llanmasi 8

8 -darsga xush kelibsiz!

Ushbu qisqa qo'llanmada biz prototiplash komponentlarini alohida "bosma" elektron kartaga qanday ko'chirishni ko'rsatish uchun montaj tili dasturlashining yangi aspektlarini kiritishdan biroz chalg'itamiz. Sababi shundaki, hozirgi vaqtda bizning asosiy prototipli non paneli juda ko'p chiplar, simlar, tugmalar va LEDlar bilan to'lib -toshgan, shuning uchun yangi narsalarni sinab ko'rish qiyinlashadi va oxir -oqibat biz komponentlarni o'z taxtalariga ko'chirishga majbur bo'lamiz., biz hoziroq boshlashimiz mumkin. Sizlarning ko'pchiligingiz, ehtimol, bu darslikda biz o'rganadigan narsalarni yaxshi bilgan bo'lishingiz mumkin, shuning uchun siz ushbu qo'llanmaga kodlashdan bo'shashish sifatida qarashingiz mumkin.

Shunday qilib, bugun biz ATmega328P zar rulosini va u bilan birga keladigan zarni tashqi taxtaga o'tkazamiz, u bilan aloqa qilish va uni quvvatlantirish uchun asosiy taxtamiz ulanadi. Bundan tashqari, zarlarning simlari va ishlashi ham shu komponentda o'z-o'zidan bo'ladi.

Siz taxmin qilishingiz mumkinki, bizning yakuniy maqsadimiz - bu biz yaratgan har bir komponent bilan, shuning uchun biz tugatganimizdan keyin ularni hamma ko'rinmaydigan tugma bosish orqali ishlaydigan chiroyli ko'rinadigan paketga yashirishimiz mumkin. simlar va ichki ishlar haqida.

Biz ushbu darslikning ko'p qismini zanjirni loyihalash, prototip taxtasini xaritalash va narsalarni lehimlash kabi jismoniy vazifalarni bajarishga sarflaymiz, lekin biz narsalarni ko'chirgandan so'ng, oxirida dasturlashimiz kerak. Buning sababi shundaki, biz oxir-oqibat, ikkita "simli" ketma-ket interfeysdan foydalanib, bizning asosiy "usta" kontrollerimiz va bizning umumiy loyihamiz tarkibiy qismlarini tashkil etuvchi barcha "qul" kontrollerlar o'rtasida muloqot qilish uchun foydalanamiz. Esingizda bo'lsa, 6 -darsda biz zar zarralarimizni zar roligidan (4 -o'rgatuvchi) Ro'yxatdan o'tish analizatoriga (5 -o'rgatuvchi) zar zarralarini 8 LEDda ikkilik shaklda ko'rsatish uchun Morze kodi turini kashf qildik.. Xo'sh, bu faqat "o'zingizni o'ylab toping" muloqot usuli edi, men foydalanishga qaror qildim, chunki o'sha paytda 2 simli ketma-ket muloqotga kirish juda erta edi. Biz hozir ketma-ket muloqotning oxirigacha sho'ng'ishga deyarli tayyormiz va biz buni 10-darsda qilamiz, lekin hozircha biz kelajakdagi rivojlanishni oldindan bilishimiz va ikkalasini bo'shatish uchun diodli LED-larimizni qayta ulashimiz kerak. ketma -ket aloqa uchun bizga kerak bo'lgan pinlar.

Bu ATmega328P -dagi SCL va SDA pinlari. Analog-raqamli konvertatsiya qilishda ularni ADC5 va ADC4 deb ham atashadi, ular "PIN o'zgarishni uzish" pinlari sifatida ishlatilganda PCINT13 va PCINT12 deb ataladi va nihoyat biz ularni PC5 va PC4 deb ataymiz. qachonki, PortC -dagi pinlar sifatida qaralsa. Biz bu ikkita pinni turli sabablarga ko'ra zar rolikimizning bir qismi sifatida ishlatganimiz uchun (asosiysi, bu kodlashni osonlashtirdi va bortdagi LEDlarni ulashni osonlashtirdi), endi biz o'z kodimizni o'zgartirishimiz va uni qayta ulashimiz kerak bo'ladi. kelajakda muloqot qilish uchun bu pinlarni bo'shating.

Shunday qilib, biz loyihalash, kesish, simlarni ulash va lehimlashdan boshlaymiz. Keyin biz yangi to'plamimiz bilan ishlash uchun zar rolikni qayta yozamiz va oxirigacha ishlashini tekshirish uchun uni sinovdan o'tkazamiz.

Ushbu qo'llanmani bajarish uchun sizga quyidagi narsalar kerak bo'ladi:

  1. Sizga doimo kerak bo'ladigan standart narsalar: men har doim takrorlashni to'xtataman: sizning prototip taxtangiz, ma'lumotlar varag'i nusxasi va ko'rsatmalar to'plami va sizning miyangiz.
  2. PCB -ning simsiz elektron prototipi: -Circuit-proto-proto … chunki menda ularning ko'pi bor, lekin men yuqorida havola qilgan 103RAW-0 versiyasi ham yaxshi ishlaydi.
  3. Qaychi, simlar, lehim, lehim temir, "yordam qo'llari" yoki boshqa narsalarni ushlab turish va h.k. va hokazo. Men bundan buyon bu narsalarni ro'yxatga olishni to'xtataman. Agar siz haqiqatan ham ushbu darsliklarda shu darajaga erishgan bo'lsangiz, demak sizda bu narsalar allaqachon mavjud.

Bu erda AVR assambleyasi bo'yicha darsliklarimning to'liq to'plamiga havola:

1 -qadam: ulanish sxemasini tuzing

Ulanish sxemasini tuzing
Ulanish sxemasini tuzing
Ulanish sxemasini tuzing
Ulanish sxemasini tuzing
Ulanish sxemasini tuzing
Ulanish sxemasini tuzing

Measure Explorer -ning eng yaxshi tomoni shundaki, agar siz bir oz vaqt ajratib, boshida xaritalarni tuzib qo'ysangiz, oxirida o'zingizni ko'p sonli simlardan qutqarishingiz mumkin. Shunday qilib, biz biror narsani lehimlashni boshlashdan oldin, tartibimizni loyihalashtirishga biroz vaqt ajratishdan boshlaymiz. Bunday taxta yordamida siz bir -biriga bog'lab turadigan simlarni kesib olishingiz kerak bo'ladi, bu oson emas, lekin natijada chigallashtirilgan simlarning minimal chalkashligi bo'lgan juda chiroyli ixcham taxta bo'ladi. Biz qilishimiz kerak bo'lgan birinchi narsa - bu bizning dizaynimiz sxemasi taxtaga to'g'ri kelishi uchun. Buni qilishning eng yaxshi usuli - bu xaritani yuklab olish, so'ngra uni ishlayotganini topmaguningizcha turli dizaynlar bilan o'ynash. Bu erda ME-PB-103RAWD uchun tartib https://www.bluemelon.com/photo/3483513-T800600-j.webp

2 -qadam: taxtadagi sxemani kesib oling

Kengashdagi sxemani kesib oling
Kengashdagi sxemani kesib oling
Kengashdagi sxemani kesib oling
Kengashdagi sxemani kesib oling
Kengashdagi sxemani kesib oling
Kengashdagi sxemani kesib oling

Avval shamshirni oling va oldingi bosqichda chizilgan sxemangizdan foydalanib, o'z sxemangizni doskaga torting. Ya'ni simlarni ifodalash uchun chiziqlar chizish. Komponentlar nuqtai nazaridan hech narsa chizmang, faqat birinchi rasmda ko'rsatilgandek ulash simlari. E'tibor bering, siz buzganingizda (va agar siz menga o'xshagan bo'lsangiz, bu qadamlarni ko'p marta buzasiz), siz silgi ishlatishingiz va chiziqni o'chirishingiz mumkin. Buni taxtaning har ikki tomoni uchun bajaring.

Keyin chiziqlar atrofidagi ulanishlarni kesishingiz kerak. Agar siz taxtaga diqqat bilan qarasangiz, har bir teshik teshikning har ikki tomonidagi 4 ta qo'shni teshikka ulanganligini ko'rasiz, shunda siz boshlaganingizda taxtadagi barcha teshiklar bir -biriga ulanadi. Shunday qilib, ularni ajratish uchun simlarning har ikki tomonini kesib o'tish kerak. Bu kesishning eng keng tarqalgan usuli - Exacto pichog'i. Ammo men Exacto pichoqlarini so'rib olaman va ehtimol o'zimni kesaman. Shunday qilib, men ingichka kesuvchi asbob qo'shimchali Dremeldan foydalanaman. Qani, menda qandaydir silliqlash moslamasi bo'lsa, u eng yaxshi ishlaydi - lekin menda bunday yo'q, shuning uchun men kesuvchi arra qo'shimchasidan foydalandim. (Qo'shilgan eslatma: Ushbu loyihani tugatgandan so'ng, men Dremels uchun kichikroq "og'ir ishlov beradigan g'ildirak" boshlari eng yaxshi ishlashini, ular zımpara qog'ozining kichik doiralariga o'xshab ketishini va bu erda ko'rsatilgan kesish asbobi kabi ishlashini aniqladim, faqat diametri kichikroq. qayerda kesayotganingizni ko'rish va boshqarish ancha oson)

Yo'l davomida taxtani nurgacha ushlab turish va simlarning kesilganligiga ishonch hosil qilish foydalidir. Kengashning ikkala tomonida ham ulanishlar borligi sizni g'azablantirishi mumkin, shuning uchun kesish jarayonini boshqa tomon bilan takrorlashingiz kerak bo'ladi, lekin o'ylaymanki, siz buni tugatguningizcha buni tushunasiz. Men simlarni kesishda juda ko'p xatolarga yo'l qo'ydim va boshqa tomoni hali ham ulanishi yaxshi bo'lib chiqdi.

Tarmoqni taxtaga kesib tashlash uchun biroz vaqt va sabr -toqat kerak bo'ladi, lekin uni yaxshi o'zlashtirganingizdan so'ng, bu juda qiziqarli bo'ladi.

3 -qadam: Komponentlarni lehimlang va sinovdan o'tkazing

Komponentlarni lehimlang va sinovdan o'tkazing
Komponentlarni lehimlang va sinovdan o'tkazing
Komponentlarni lehimlang va sinovdan o'tkazing
Komponentlarni lehimlang va sinovdan o'tkazing
Komponentlarni lehimlang va sinovdan o'tkazing
Komponentlarni lehimlang va sinovdan o'tkazing

Endi siz elektron kartadagi barcha simlarni ajratib olganingizdan so'ng, siz alohida qismlarga lehimlashni boshlashingiz mumkin.

Men birinchi navbatda zarlardan biriga LEDlarni lehimladim, keyin men o'z taxtamdan ijobiy va salbiy simlarni oldim va har bir LEDning ulanishlarini sinab ko'rdim, ular bir -biridan ajratilgan va ishlayotganiga ishonch hosil qildim.

Xuddi shunday, ikkinchisi ham o'ladi.

Keyin rezistorni har bir o'limga va taxtaning orqa tomonidagi 10K rezistorga ulang.

Keyin kristal osilatorni, 22pf qopqoqni, tugmachalarni va ATmega328P -ni ulang. Siz chip rozetkasini lehimlab, keyin ATmega328P -ni shunday joylashtirmoqchi bo'lishingiz mumkinki, agar xohlasangiz, uni olib tashlashingiz va boshqa narsada qayta ishlatishingiz mumkin. Men o'z chipimni taxtaga lehimladim, chunki men oxir -oqibat bu darsliklar bilan nima qurayotganimizni bilaman va menga shuni yoqishini bilamanki, chipni olib tashlamoqchi emasman.

E'tibor bering, taxtaning orqa tomoniga qarab, biz sarlavhalarni qanday biriktirganmiz. Men uzun pinli sarlavhalarni ishlatardim va taxtadan chiqib ketmasliklari uchun ularni gorozontal egdim. Bu shuni anglatadiki, men oxir -oqibat taxtani konteyner bilan tugmachalar va LEDlar darajasiga yopib qo'yaman va sarlavhalar to'sqinlik qilmaydi. Bizda Tx, Rx uchun sarlavha bor, shuning uchun biz chipni dasturlashimiz mumkin, bizda SDA, SCL uchun sarlavha bor, shuning uchun biz keyinchalik 2 simli aloqadan foydalanishimiz mumkin. va bizda plataning boshqa tomonida AVCC, AREF, GND uchun 3 pinli sarlavha bor. Menda chipda bir -biriga bog'langan barcha tuproqli pinlar va VCC pinlari bor, shuning uchun bizga faqat bitta quvvat manbai kerak.

Nihoyat, hamma narsa simli bo'lgandan so'ng, biz har ikkala zarni ham atigi 9 ta pim bilan boshqarishimiz uchun, non taxtasida bo'lgani kabi, biz ham o'lib ketamiz.

Endi biz kodimizni o'zgartirishimiz kerak, shunda u yangi sozlamani boshqaradi.

4 -qadam: montaj kodi va video

Men yig'ish kodini va zarlar rolikining ishini ko'rsatgan videoni biriktirdim, men 6 -o'rgandagi zarlar rolikining kodini oldim, pinlarni yangi sxemaga mos ravishda o'zgartirdim va aloqa dasturini olib tashladik, chunki biz yozamiz. Yangi darslik 10. Keyingi safar biz yana klaviaturamizni ochamiz va 7 segmentli displeylarni boshqarishni o'rganamiz.

Tavsiya: