Taula de continguts:

Tutorial AVR Assembler 8: 4 passos
Tutorial AVR Assembler 8: 4 passos

Vídeo: Tutorial AVR Assembler 8: 4 passos

Vídeo: Tutorial AVR Assembler 8: 4 passos
Vídeo: AVR Ассемблер. Урок 8. Внешние прерывания. AVR Assembler. Lesson 8. External interrupts. 2024, De novembre
Anonim
Tutorial AVR Assembler 8
Tutorial AVR Assembler 8

Benvingut al tutorial 8!

En aquest breu tutorial farem una mica de diversió en introduir nous aspectes de la programació del llenguatge ensamblador per mostrar com moure els nostres components de prototipatge a una placa de circuit "impresa" independent. La raó és que, en aquest moment, la nostra placa principal de prototipatge està plena de tants xips, cables, botons i LED que és difícil provar coses noves, ja que finalment hem de moure els components a les seves pròpies plaques de totes maneres., també podríem començar ara. Probablement, molts de vosaltres ja coneixeu els aspectes que tractarem en aquest tutorial i, per tant, podeu considerar aquest tutorial com un simple descans relaxant de la codificació.

Així doncs, avui mourem el rodet de daus ATmega328P i el parell de daus que l’acompanya a una placa externa amb connexions a la nostra placa principal per comunicar-s’hi i alimentar-lo. A part d'això, el cablejat i el funcionament dels daus seran autònoms dins d'aquest component.

Probablement, a partir d’això, es pot predir que el nostre objectiu final és fer-ho amb cadascun dels components que anem construint al llarg del camí, de manera que, quan acabem, puguem amagar-los tots en un bonic paquet que funcionarà mitjançant la pulsació de botons sense veure-ho tot dels cables i el funcionament intern.

Passarem la major part d’aquest tutorial fent tasques físiques com ara dissenyar un circuit, cartografiar una placa de prototipatge i soldar coses juntes, però hi ha una mica de programació que hem de fer al final després de moure coses. La raó és que finalment utilitzarem la interfície sèrie de 2 fils per comunicar-nos entre el nostre controlador principal "mestre" i tots els controladors "esclaus" que formen els components del nostre projecte general en aquesta sèrie de tutorials i, com recordeu, al Tutorial 6 vam inventar una mena de mètode de tipus Morse per comunicar els nostres llançaments de daus des del rodet de dau (Tutorial 4) al Registre Analitzador (Tutorial 5) que mostrava el resultat del llançament de daus en binari a 8 LED. Doncs bé, era només un mètode de comunicació "roll your own" que vaig decidir utilitzar perquè, en aquell moment, era massa aviat per entrar a la comunicació serial de 2 fils. Ara estem gairebé preparats per submergir-nos en el final profund de la comunicació en sèrie i ho farem al Tutorial 10, però per ara hem d’anticipar-nos a aquest desenvolupament futur i tornar a connectar els LED del rodet de daus per alliberar els dos pins que necessitem per a la comunicació en sèrie.

Aquests són els pins SCL i SDA de l’ATmega328P. Podeu veure pel diagrama de pinout que també s’anomenen ADC5 i ADC4 quan s’utilitzen en conversions analògiques a digitals, s’anomenen PCINT13 i PCINT12 quan s’utilitzen com a pins “Interruptor de canvi de pin” i, finalment, generalment els anomenem PC5 i PC4 quan es considera simplement com a pins a PortC. Com que hem utilitzat aquests dos pins com a part del nostre rodet de daus per diversos motius (els principals són que va facilitar la codificació i el cablejat als LED de la placa), ara haurem de modificar el nostre codi i tornar-lo a connectar lleugerament a allibereu aquests passadors per a futures comunicacions.

Per tant, començarem fent el disseny, el tall, el cablejat i la soldadura. A continuació, tornarem a escriure el rodet de daus per treballar amb la nova configuració i, finalment, provarem per assegurar-nos que encara funciona.

Per completar aquest tutorial necessitareu els elements següents:

  1. Les coses estàndard que sempre necessiteu, deixaré de repetir-les tot el temps: la vostra placa de prototipatge, la vostra còpia del full de dades i el conjunt d’instruccions i el vostre cervell.
  2. Una placa PCB de prototipatge de circuits sense fils com aquesta: https://www.ebay.com/itm/191416297627 Vaig a utilitzar la versió Measure Explorer 103RAWD d'aquesta placa: https://www.ebay.com/itm/103RAT -circuit-proto-proto … ja que en tinc un munt d'ells a mà, però la versió 103RAW-0 a la que enllaço anteriorment també funcionarà bé.
  3. Talls, cables, soldadura, soldador, "ajuda de les mans" o qualsevol cosa per agafar coses, etc. etc. etc., a partir d'aquí deixaré de publicar aquestes coses també. Si realment heu arribat fins aquí en aquests tutorials, és probable que ja tingueu totes aquestes coses.

Aquí hi ha un enllaç a la col·lecció completa dels meus tutorials del muntador AVR:

Pas 1: Dissenyeu un diagrama de cablejat

Dissenyeu un diagrama de cablejat
Dissenyeu un diagrama de cablejat
Dissenyeu un diagrama de cablejat
Dissenyeu un diagrama de cablejat
Dissenyeu un diagrama de cablejat
Dissenyeu un diagrama de cablejat

El més interessant de les taules de Measure Explorer és que si us dediqueu una mica de temps i traieu les coses al principi, podeu estalviar-vos un munt de cablejat al final. Començarem donant una estona a dissenyar el nostre disseny abans de començar a soldar res. Amb aquest tipus de taules, heu de tallar un munt de cables de connexió, cosa que no és tan fàcil, però el resultat és una placa compacta molt agradable amb un mínim embolic de cables enredats. El primer que hem de fer és dissenyar circuit perquè encaixi al tauler. Una bona manera de fer-ho és descarregar el mapa del tauler i després utilitzar-lo per jugar amb diferents dissenys fins que en trobeu un que funcioni. Aquí teniu el disseny del ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp

Pas 2: Retalleu el circuit a la placa

Retalleu el circuit al tauler
Retalleu el circuit al tauler
Retalleu el circuit al tauler
Retalleu el circuit al tauler
Retalleu el circuit al tauler
Retalleu el circuit al tauler

Primer agafeu una punyeta i, utilitzant el disseny que heu traçat al pas anterior, dibuixeu el circuit al tauler. És a dir, dibuixeu línies per representar els cables. No dibuixeu res en termes de components, només els cables de connexió com es mostra a la primera imatge. Tingueu en compte que quan us enganxeu (i si sou alguna cosa com jo, en aquests passos tormentareu les coses moltes vegades) podeu utilitzar una goma d'esborrar i esborrar la línia. Feu això pels dos costats del tauler.

A continuació, heu de tallar les connexions al voltant de les línies. Si mireu detingudament el tauler, veureu que tots els forats dels pins estan connectats als 4 adjacents a banda i banda del tauler, de manera que tots els forats del tauler estan connectats entre si quan comenceu. Per tant, heu de tallar els dos costats de cadascun dels cables per aïllar-los. La forma més habitual de fer aquest tall és amb un ganivet Exacto. Però xuclo els ganivets Exacto i probablement em tallaria. Per tant, faig servir un Dremel amb una eina de tall fina. M’agradaria tenir algun tipus d’accessori de mòlta que arribés a un punt agut, ja que funcionaria millor, però no en tinc cap així, així que vaig utilitzar l’acoblament de la serra de tall. (Nota afegida: Després d'acabar aquest projecte, vaig trobar que els caps més petits de "roda de tall pesada" de Dremels funcionen millor, semblen petits cercles de paper de vidre i funcionen com l'eina de tall que es mostra aquí, excepte que tenen un diàmetre més petit i així és molt més fàcil veure i controlar on esteu tallant)

Al llarg del camí és útil mantenir el tauler cap a la llum i assegurar-se que els cables estiguin realment tallats. És possible que us molesti el fet que hi hagi connexions a banda i banda del tauler, de manera que haureu de repetir el procés de tall de nou amb l’altre costat, però crec que veureu el punt en acabar. Vaig cometre molts errors tallant cables que no s’haurien d’haver tallat i tenir l’altra banda encara connectada resulta ser agradable.

Es necessitarà una mica de temps i paciència per tallar el circuit a la placa, però és una mica divertit un cop us ho feu bé.

Pas 3: soldeu els components i proveu

Soldeu els components i proveu
Soldeu els components i proveu
Soldeu els components i proveu
Soldeu els components i proveu
Soldeu els components i proveu
Soldeu els components i proveu

Ara que heu aïllat tots els cables de la vostra placa de circuit, podeu començar a soldar els components individuals.

Primer vaig soldar els LEDs per un dels daus, després vaig agafar derivacions positives i negatives de la meva taula de proves i vaig provar les connexions de cada LED per assegurar-me que estiguessin aïllades les unes de les altres i que funcionessin.

De la mateixa manera que amb l'altre dau.

A continuació, connecteu la resistència a cada troquel i la resistència de 10K a la part posterior de la placa.

A continuació, connecteu l'oscil·lador de cristall, els taps de 22pf, els botons de pressió i l'ATmega328P. És possible que vulgueu soldar un sòcol i inserir-hi l’ATmega328P perquè pugueu eliminar-lo si voleu i tornar-lo a utilitzar en una altra cosa. Acabo de soldar el meu xip al tauler, ja que sé què acabem construint amb tots aquests tutorials i sé que m’agradarà prou perquè no vull treure el xip.

Fixeu-vos en mirar la part posterior del tauler, la forma en què adjuntem les capçaleres. Vaig utilitzar capçaleres de pin llarg i les vaig doblegar horitzontalment perquè no quedessin fora del tauler. Això és perquè eventualment puc cobrir la placa fins al nivell dels botons i dels LEDs amb un contenidor i no tenir capçaleres que s’interposin. Tenim una capçalera per Tx, Rx perquè puguem programar el xip, tenim una capçalera per SDA, SCL per poder utilitzar la comunicació de 2 fils més endavant. i tenim una capçalera de 3 pins per a AVCC, AREF, GND a l'altre costat del tauler. Tinc tots els pins de terra i els pins VCC connectats al xip, de manera que només necessitem una entrada d’alimentació.

Finalment, un cop connectat tot, connectem un fil a una matriu2 de la mateixa manera que ho vam fer a la taula per poder controlar els dos daus amb només 9 pins.

Ara hem de modificar el nostre codi perquè controli aquesta nova configuració.

Pas 4: Codi de muntatge i vídeo

He adjuntat el codi de muntatge i el vídeo del rodet de daus en funcionament. Tot el que vaig fer va ser agafar el codi del rodet de dau del tutorial 6, modificar els pins per que coincidís amb el nou disseny i eliminar el subprograma de comunicacions ja que escriurem un de nou al tutorial 10. La propera vegada tornarem a trencar el teclat i aprendrem a controlar les pantalles de 7 segments.

Recomanat: