Sisukord:

AVR Assembleri õpetus 8: 4 sammu
AVR Assembleri õpetus 8: 4 sammu

Video: AVR Assembleri õpetus 8: 4 sammu

Video: AVR Assembleri õpetus 8: 4 sammu
Video: Видеокурс по AVR микроконтроллерам - Урок 4 2024, Juuli
Anonim
AVR Assembleri õpetus 8
AVR Assembleri õpetus 8

Tere tulemast õppetükki 8!

Selles lühikeses õpetuses kavatseme pisut kõrvale kalduda kokkupanekukeele programmeerimise uute aspektide tutvustamisest, et näidata, kuidas viia meie prototüüpimise komponendid eraldi "trükitud" trükkplaadile. Põhjus on selles, et praegusel hetkel on meie peamine prototüüpimise leivalaud täis nii palju kiipe, juhtmeid, nuppe ja LED -e, et uute asjade testimine muutub keeruliseks ja kuna lõpuks peame komponendid niikuinii oma plaatidele teisaldama, võiksime ka kohe alustada. Paljud teist on ilmselt juba valdavad selles õppetükis käsitletavaid asju, nii et saate seda õpetust vaadelda kui lihtsalt lõõgastavat pausi kodeerimisest.

Seega liigutame täna oma täringurulli ATmega328P ja sellega kaasneva täringupaari välisele tahvlile, millel on ühendused meie põhiplaadiga, et sellega suhelda ja seda toita. Peale selle on täringute juhtmestik ja toimimine selle komponendi sees iseseisev.

Selle põhjal võite ilmselt ennustada, et meie lõppeesmärk on seda teha kõigi komponentide abil, mida me teel ehitame, nii et kui oleme lõpetanud, saame need kõik peita kena väljanägemisega paketti, mis toimib nupuvajutuste abil, nägemata kõiki juhtmetest ja sisemistest töödest.

Me kulutame suurema osa sellest õpetusest füüsiliste ülesannete täitmiseks, näiteks vooluahela kujundamiseks, prototüüpimisplaadi kaardistamiseks ja kraami jootmiseks, kuid pärast asjade teisaldamist peame natuke programmeerima. Põhjus on selles, et lõpuks kasutame kahe juhtmega jadaliidest, et suhelda oma peamise "põhikontrolleri" ja kõigi "alam" kontrollerite vahel, mis moodustavad meie õpetuste seerias meie üldprojekti komponendid ja nagu mäletate, leiutasime õpetuses 6 omamoodi Morse koodi tüüpi meetodi, millega edastada täringurullid täringurullilt (õpetus 4) registrianalysaatorile (õpetus 5), mis näitas täringuviske tulemust binaarselt 8 LED -il. Noh, see oli lihtsalt "rulli oma" suhtlusmeetod, mida otsustasin kasutada, sest sel ajal oli kahe juhtmega jadaside alustamiseks liiga vara. Oleme nüüd peaaegu valmis sukelduma jadaühenduse sügavasse lõppu ja seda teeme ka õpetuses 10, kuid praegu peame seda tulevast arengut ette nägema ja täringurullide LED-id uuesti ühendama, et need kaks vabastada. tihvtid, mida vajame jadaühenduseks.

Need on ATmega328P SCL- ja SDA -tihvtid. Pinout diagrammilt näete, et neid nimetatakse ka ADC5 ja ADC4, kui neid kasutatakse analoog-digitaalkonversioonides, neid nimetatakse PCINT13 ja PCINT12, kui neid kasutatakse "Pin Change Interrupt" tihvtidena, ja lõpuks nimetame neid üldiselt PC5 ja PC4 kui seda lihtsalt PortC -s tihvtidena peetakse. Kuna me kasutasime neid kahte tihvti oma täringurulli osana erinevatel põhjustel (peamine neist oli see, et see hõlbustas kodeerimist ja tahvlil olevate valgusdioodidega ühendamist), peame nüüd oma koodi muutma ja selle veidi ühendama. vabastage need tihvtid edaspidiseks suhtlemiseks.

Alustame projekteerimise, lõikamise, juhtmestiku ja jootmisega. Seejärel kirjutame täringurulli uuesti oma uue seadistusega töötamiseks ja lõpuks katsetame seda, et veenduda, kas see ikka töötab.

Selle õpetuse lõpuleviimiseks vajate järgmisi elemente:

  1. Tavalised asjad, mida te alati vajate ja mida ma ei hakka kogu aeg kordama: teie prototüüpimisplaat, teie andmelehe koopia ja juhiste komplekt ning teie aju.
  2. Traadita vooluahela prototüüpimise trükkplaat nagu see: https://www.ebay.com/itm/191416297627 Kasutan selle plaadi versiooni Measure Explorer 103RAWD: https://www.ebay.com/itm/103RAT -circuit-proto-proto … kuna mul on hunnik neid käepärast, kuid versioon 103RAW-0, mille ma ülalpool linkin, töötab samuti hästi.
  3. Lõikurid, juhtmed, jootekolb, jootekolb, "abikäed" või mis iganes, millest asju hoida, jne jne jne., Siitpeale lõpetan ka selle kraami loetlemise. Kui olete nendes õpetustes tegelikult nii kaugele jõudnud, on teil tõenäoliselt kõik see kraam juba olemas.

Siin on link minu AVR-i komplekteerija õpetuste kogu kogumikule:

Samm: koostage ühendusskeem

Kujundage ühendusskeem
Kujundage ühendusskeem
Kujundage ühendusskeem
Kujundage ühendusskeem
Kujundage ühendusskeem
Kujundage ühendusskeem

Measure Exploreri tahvlite puhul on lahe see, et kui võtate aega ja kaardistate asjad alguses, saate lõpus säästa palju juhtmestikku. Nii et alustame oma paigutuse kujundamisega, enne kui hakkame midagi jootma. Sellise plaadi puhul peate lõikama hunniku ühendusjuhtmeid, mis pole sugugi nii lihtne, kuid tulemuseks on väga kena kompaktplaat, kus on minimaalselt sassis juhtmeid. Esimene asi, mida peame tegema, on meie vooluring nii, et see mahuks plaadile. Tore viis selleks on tahvli kaardi allalaadimine ja seejärel erinevate kujundustega mängimiseks, kuni leiate ühe, mis töötab. Siin on ME-PB-103RAWD paigutus https://www.bluemelon.com/photo/3483513-T800600-j.webp

2. etapp: lõigake plaadil olev vooluring välja

Lõika skeemil olev vooluring välja
Lõika skeemil olev vooluring välja
Lõika skeemil olev vooluring välja
Lõika skeemil olev vooluring välja
Lõika skeemil olev vooluring välja
Lõika skeemil olev vooluring välja

Esmalt võtke teravik ja joonistage oma skeem tahvlile, kasutades eelmises etapis kaardistatud paigutust. S.t. tõmmake juhtmeid tähistavaid jooni. Ärge joonistage midagi komponentide osas, vaid ühenduskaablid nagu esimesel pildil. Pange tähele, et kui kruvite (ja kui olete midagi minusugust, keerate nende toimingutega asju palju kordi), võite kasutada kustutuskummi ja joone kustutada. Tehke seda laua mõlema poole jaoks.

Järgmisena peate lõikama joonte ümber olevad ühendused. Kui vaatate tahvlit tähelepanelikult, näete, et iga tihvti auk on ühendatud plaadi mõlemal küljel asuva nelja külgnevaga, nii et kõik plaadi augud on alustamisel üksteisega ühendatud. Nii et peate nende juhtmete eraldamiseks lõikama mööda mõlemat külge. Kõige tavalisem viis selle lõikamiseks on Exacto nuga. Aga ma imen Exacto noad ja ilmselt lõikaksin ennast. Seega kasutan õhukese lõikeriista kinnitusega Dremelit. Soovin, et mul oleks mingisugune lihvimisseade, mis oleks teravasse kohta jõudnud, sest see toimiks kõige paremini - aga mul pole sellist, nii et kasutasin lõikesaagi. (Märkus lisatud: pärast selle projekti lõpetamist leidsin, et Dremelsi väiksemad „raskeveokite lõikerattad“töötavad kõige paremini, näevad välja nagu väikesed liivapaberiringid ja töötavad nagu siin näidatud lõikeriist, välja arvatud see, et need on väiksema läbimõõduga ja nii lõikamist on palju lihtsam näha ja juhtida)

Teel on kasulik hoida plaati valguse käes ja veenduda, et juhtmed on tegelikult lõigatud. Teid võib pahandada asjaolu, et plaadi mõlemal küljel on ühendusi, nii et peate lõikamisprotsessi teise poolega uuesti kordama, kuid ma arvan, et näete selle mõtet selleks ajaks, kui olete lõpetanud. Ma tegin palju vigu, lõigates juhtmeid, mida poleks tohtinud katkestada, ja kui teine pool on endiselt ühendatud, on see tore.

Vooluahela plaadile lõikamine võtab üsna palju aega ja kannatlikkust, kuid see on omamoodi lõbus, kui olete sellega hästi hakkama saanud.

Samm: jootke komponendid ja katsetage

Komponentide jootmine ja testimine
Komponentide jootmine ja testimine
Komponentide jootmine ja testimine
Komponentide jootmine ja testimine
Komponentide jootmine ja testimine
Komponentide jootmine ja testimine

Nüüd, kui olete oma trükkplaadil kõik juhtmed eraldanud, võite alustada üksikute komponentide jootmist.

Jootsin esmalt ühe täringu LED -idel, seejärel võtsin oma leivaplaadilt positiivsed ja negatiivsed juhtmed ning testisin iga LED -i ühendusi, veendumaks, et need on üksteisest eraldatud ja töötavad.

Sarnaselt teise surejaga.

Seejärel ühendage takisti iga matriitsi külge ja 10K takisti plaadi tagaküljel.

Seejärel kinnitage kristallostsillaator, 22 pf mütsid, nupud ja ATmega328P. Võimalik, et soovite joota kiibipesa ja seejärel sobitada sinna oma ATmega328P, et saaksite selle soovi korral eemaldada ja millegi muuga uuesti kasutada. Ma lihtsalt jootsin oma kiibi tahvlile, sest ma tean, mida me kõigi nende õpetustega lõpuks ehitame, ja ma tean, et mulle meeldib see piisavalt, et ma ei tahaks kiipi välja võtta.

Pange tähele, vaadates tahvli tagakülge, kuidas päised kinnitasime. Kasutasin pikki tihvtidega päiseid ja painutasin neid horisontaalselt, et need ei jääks lauast välja. Seda selleks, et saaksin lõpuks tahvli katta anumaga nuppude ja valgusdioodide tasemeni ning päised ei takistaks. Meil on päis Tx, Rx jaoks, et saaksime kiipi programmeerida, meil on päis SDA, SCL jaoks, et saaksime hiljem kasutada 2-juhtmelist suhtlust. ja meil on 3 -kontaktiline päis AVCC, AREF, GND jaoks teisel pool plaati. Mul on kõik maandus- ja VCC -tihvtid kiibile ühendatud, nii et vajame ainult ühte toitesisendit.

Lõpuks, kui kõik on juhtmega ühendatud, ühendame stantsi 1 kuni 22 leivaplaadil, nii et saame mõlemat täringut juhtida ainult 9 tihvtiga.

Nüüd peame oma koodi muutma nii, et see kontrolliks seda uut seadistust.

Samm: kokkupanekukood ja video

Olen lisanud komplekteerimiskoodi ja täringurulli video. Kõik, mida ma tegin, oli võtta meie täringurulli kood juhendist 6, muuta tihvte uuele paigutusele vastavaks ja eemaldada suhtlusalamprogramm, kuna kirjutame uus õppetükis 10. Järgmine kord hakkame oma klahvistikku uuesti lahti võtma ja õpime juhtima 7-segmendilisi kuvasid. Näeme siis!

Soovitan: