Obsah:

AVR Assembler Tutorial 8: 4 Steps
AVR Assembler Tutorial 8: 4 Steps

Video: AVR Assembler Tutorial 8: 4 Steps

Video: AVR Assembler Tutorial 8: 4 Steps
Video: AVR Assembly Tutorial: Part 1 (Basic Commands) 2024, November
Anonim
Výučba montéra AVR 8
Výučba montéra AVR 8

Vitajte v návode 8!

V tomto krátkom tutoriáli urobíme trocha odbočku od zavedenia nových aspektov programovania v jazyku assembleru, aby sme ukázali, ako presunúť naše prototypové komponenty na samostatnú dosku s "plošnými spojmi". Dôvodom je, že v tomto mieste je naša hlavná prototypová doska preplnená toľkými čipmi, vodičmi, tlačidlami a diódami LED, že je ťažké testovať nové veci a pretože nakoniec musíme komponenty aj tak presunúť na vlastné dosky. Mohli by sme tiež začať hneď. Mnohí z vás pravdepodobne už ovládajú veci, ktorým sa budeme v tomto návode venovať, a preto sa na tento návod môžete pozerať ako na oddychovú prestávku od kódovania.

Dnes teda presunieme valček s kockami ATmega328P a sprievodnú dvojicu kociek na externú dosku s prepojením na našu hlavnú dosku na komunikáciu s ňou a na napájanie. Okrem toho bude zapojenie a fungovanie kociek v tejto zložke samostatné.

Z toho môžete pravdepodobne predpovedať, že naším konečným cieľom je urobiť to s každou zo súčastí, ktoré na ceste zostrojíme, aby sme ich po dokončení všetky skryli do pekne vyzerajúceho balíka, ktorý bude fungovať stlačením tlačidiel bez toho, aby ste videli všetky. drôtov a vnútorného fungovania.

Väčšinu z tohto tutoriálu strávime vykonávaním fyzických úloh, ako je navrhovanie obvodu, mapovanie prototypovej dosky a spájkovanie, ale je potrebné trochu programovania, ktoré musíme urobiť potom, ako veci premiestnime. Dôvodom je, že nakoniec budeme používať 2-vodičové sériové rozhranie na komunikáciu medzi našim hlavným „hlavným“radičom a všetkými „podradenými“radičmi, ktoré tvoria súčasti nášho celkového projektu v tejto sérii tutoriálov a, ako si spomínate, v Tutoriáli 6 sme vymysleli akúsi metódu typu Morseova abeceda na komunikáciu našich kociek z kociek s kockami (návod 4) do analyzátora registrov (návod 5), ktorý zobrazoval výsledok hodu kockou binárne na 8 diódach LED.. No, to bol len spôsob komunikácie „vlastnoručne“, ktorý som sa rozhodol použiť, pretože v tej dobe bolo príliš skoro na to, aby sme sa dostali k 2-vodičovej sériovej komunikácii. Teraz sme takmer pripravení ponoriť sa do hlbokého konca sériovej komunikácie a urobíme to v Tutoriáli 10, ale zatiaľ musíme predvídať budúci vývoj a znova prepojiť naše diódy LED s kockami, aby sa tieto dve uvoľnili. piny, ktoré potrebujeme pre sériovú komunikáciu.

Toto sú piny SCL a SDA na ATmega328P. Na diagrame pinoutu môžete vidieť, že sa tiež nazývajú ADC5 a ADC4, keď sa používajú v prevodoch z analógového na digitálne, nazývajú sa PCINT13 a PCINT12, keď sa používajú ako piny „Prerušenie zmeny PIN“, a nakoniec ich všeobecne nazývame PC5 a PC4 keď sa jednoducho považujú za kolíky na PortC. Pretože sme tieto dva piny použili ako súčasť valčeka na kocky z rôznych dôvodov (hlavné boli, že to uľahčilo kódovanie a jednoduchšie prepojenie s diódami LED na doske), teraz budeme musieť upraviť náš kód a mierne ho znova zapojiť tak, aby uvoľnite tieto kolíky pre budúcu komunikáciu.

Začneme teda navrhovaním, rezaním, zapojením a spájkovaním. Potom znova napíšeme valček na kocky, aby fungoval s naším novým nastavením, a nakoniec ho vyskúšame, aby sme sa presvedčili, že stále funguje.

Na dokončenie tohto tutoriálu budete potrebovať nasledujúce položky:

  1. Štandardné veci, ktoré vždy potrebujete, a ktoré sa prestanem neustále opakovať: vaša prototypovacia doska, vaša kópia technického listu a sady inštrukcií a vaše mozgy.
  2. Prototypová doska plošných spojov bezdrôtového obvodu, ako je táto: https://www.ebay.com/itm/191416297627 Budem používať verziu tejto dosky Measure Explorer 103RAWD: https://www.ebay.com/itm/103RAT -obvod-proto-proto … pretože ich mám poruke, ale verzia 103RAW-0, na ktorú odkazujem vyššie, bude fungovať rovnako dobre.
  3. Strihače, drôty, spájkovačka, spájkovačka, „pomocné ruky“alebo čokoľvek, čo drží veci atď. Ak ste sa v týchto návodoch skutočne dostali tak ďaleko, pravdepodobne už máte všetky tieto veci.

Tu je odkaz na kompletnú zbierku mojich návodov k assembleru AVR:

Krok 1: Navrhnite schému zapojenia

Navrhnite schému zapojenia
Navrhnite schému zapojenia
Navrhnite schému zapojenia
Navrhnite schému zapojenia
Navrhnite schému zapojenia
Navrhnite schému zapojenia

Na doskách Measure Explorer je skvelé to, že ak si na začiatku vyhradíte čas a zmapujete si veci, môžete si na konci ušetriť veľa káblov. Začneme teda tým, že budeme chvíľu venovať navrhovaniu nášho rozloženia, než začneme čokoľvek spájkovať. S týmto typom dosky musíte odstrihnúť veľa spojovacích vodičov, čo nie je také jednoduché, ale výsledkom je veľmi pekná kompaktná doska s minimálnym zmätkom zamotaných drôtov. Prvá vec, ktorú musíme urobiť, je navrhnúť obvod tak, aby sa zmestil na dosku. Pekný spôsob, ako to urobiť, je stiahnuť si mapu dosky a potom sa s ňou hrať s rôznymi návrhmi, kým nenájdete ten, ktorý bude fungovať. Tu je rozloženie pre ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp

Krok 2: Vystrihnite obvod na doske

Vystrihnite obvod na doske
Vystrihnite obvod na doske
Vystrihnite obvod na doske
Vystrihnite obvod na doske
Vystrihnite obvod na doske
Vystrihnite obvod na doske

Najprv si dajte zostrih a pomocou rozloženia, ktoré ste si zmapovali v predchádzajúcom kroku, nakreslite svoj obvod na dosku. Tj. nakreslite čiary, ktoré predstavujú drôty. Nekreslite nič z hľadiska komponentov, iba spojovacie vodiče, ako je znázornené na prvom obrázku. Všimnite si, že keď sa pokazíte (a ak ste niečo ako ja, v týchto krokoch veľa vecí pokazíte), môžete použiť gumu a vymazať riadok. Vykonajte to pre obe strany dosky.

Ďalej musíte prerušiť spojenia okolo čiar. Ak sa pozriete pozorne na dosku, uvidíte, že každý kolíkový otvor je spojený so 4 susednými otvormi na oboch stranách dosky, takže všetky otvory na doske sú navzájom prepojené, keď začnete. Takže musíte izolovať obidve strany každého z vašich drôtov. Najbežnejší spôsob rezania je nôž Exacto. Ale cmúľam nože Exacto a asi by som sa porezal. Používam teda Dremel s tenkým nástavcom rezacieho nástroja. Prial by som si, aby som mal nejaký druh brúsneho nástavca, ktorý sa dostal do ostrého bodu, pretože by to fungovalo najlepšie - ale nemám taký, takže som použil nástavec na rezaciu pílu. je oveľa jednoduchšie vidieť a ovládať, kde kosíte)

Po ceste je užitočné držať dosku k svetlu a uistiť sa, že drôty sú skutočne prerezané. Môžete byť naštvaní na to, že na oboch stranách dosky sú spojenia, takže musíte postup rezania zopakovať aj s druhou stranou, ale myslím, že kým to skončíte, uvidíte zmysel. Urobil som veľa chýb, keď som rezal drôty, ktoré nemali byť prestrihané, a aby bola druhá strana stále spojená, bolo to pekné.

Vystrihnutie obvodu na doske bude trvať dosť času a trpezlivosti, ale keď sa v tom vyznáte, je to zábava.

Krok 3: Spájkujte súčasti a testujte

Spájkujte komponenty a vyskúšajte
Spájkujte komponenty a vyskúšajte
Spájkujte komponenty a vyskúšajte
Spájkujte komponenty a vyskúšajte
Spájkujte komponenty a vyskúšajte
Spájkujte komponenty a vyskúšajte

Teraz, keď ste izolovali všetky vodiče vo vašej doske s plošnými spojmi, môžete začať spájkovať jednotlivé komponenty.

Najprv som spájkoval na diódach LED pre jednu z kociek, potom som z môjho prkénka vybral kladné a záporné vodiče a otestoval som pripojenia pre každú diódu LED, aby som sa ubezpečil, že sú navzájom izolované a fungujú.

Podobne s ostatnými zomrieť.

Potom zapojte odpor ku každej matrici a 10K odpor na zadnej strane dosky.

Potom pripevnite kryštálový oscilátor, krytky 22 pf, tlačidlá a ATmega328P. Možno budete chcieť spájkovať zásuvku na čip a potom do nej zapojiť ATmega328P, aby ste ju mohli odstrániť, ak chcete, a znova ju použiť v niečom inom. Práve som pripájal svoj čip na dosku, pretože viem, čo nakoniec všetkými týmito návodmi staviame, a viem, že sa mi bude páčiť natoľko, že čip nebudem chcieť vytiahnuť.

Všimnite si pri pohľade na zadnú stranu dosky spôsob, akým sme pripevnili hlavičky. Použil som dlhé kolíkové hlavičky a ohnem ich vodorovne, aby nevyčnievali z dosky. To je preto, aby som mohol nakoniec dosku prikryť na úroveň tlačidiel a diód LED kontajnerom a aby mi neprekážali hlavičky. Máme záhlavie pre Tx, Rx, aby sme mohli programovať čip, máme záhlavie pre SDA, SCL, aby sme neskôr mohli použiť 2-vodičovú komunikáciu. a na druhej strane dosky máme 3 -pinovú hlavičku pre AVCC, AREF, GND. Mám všetky uzemňovacie kolíky a kolíky VCC zapojené dohromady na čipe, takže potrebujeme iba jeden vstup napájania.

Nakoniec, keď je všetko zapojené, zapojíme kocku 1 do kocky2 tak, ako sme to urobili na doske, aby sme mohli ovládať obe kocky iba pomocou 9 kolíkov.

Teraz musíme upraviť náš kód, aby mohol ovládať toto nové nastavenie.

Krok 4: Kód zostavy a video

Pripojil som montážny kód a video s kockami v prevádzke. Jediné, čo som urobil, bolo prevziať kód nášho valčeka na kocky z tutoriálu 6, upraviť kolíky tak, aby zodpovedali novému rozloženiu, a odstrániť komunikačný podprogram, pretože budeme písať. nový v návode 10. Nabudúce si opäť predstavíme klávesnicu a naučíme sa ovládať 7-segmentové displeje. Uvidíme sa!

Odporúča: