AVR Assembler handledning 8
Välkommen till Tutorial 8!
I denna kort tutorial ska vi ta lite av en skenmanöver från att införa nya aspekter av assembler programmering att visa hur man flytta våra prototyper komponenter till ett separat "tryckta" kretskort. Anledningen är att vid denna punkt, våra viktigaste prototyping bakbord är att få fullproppad med så många marker, sladdar, knappar och lysdioder att det blir svårt att testa nya saker och eftersom vi har så småningom att flytta komponenterna till sina egna styrelser hur som helst, kan vi lika gärna börja nu. Många av er förmodligen redan är skickliga på de saker vi kommer att täcka i den här guiden och så kan du titta på denna Tutorial enbart en avkopplande paus från kodning.
Så idag flyttar vi vår dice rulle ATmega328P och den medföljande par tärningar till en extern styrelse med anslutningar till våra viktigaste ombord för meddelande till det och driver den. Bortsett från att kommer att ledningarna och funktionssätt tärningarna vara fristående inom komponenten.
Du kan förmodligen förutsäga från detta att vårt slutliga mål är att göra detta med samtliga komponenter vi konstruera längs vägen så att när vi är färdiga kan vi dölja dem bort allt till en fin snygg paket som kommer att fungera via knapptryckningar utan att se alla sladdar och interna arbetet.
Vi kommer att tillbringa större delen av denna tutorial utför fysiska aktiviteter som designar en krets, mappning av en prototyping styrelse och lödning saker tillsammans, men det är lite av programmering som vi behöver göra i slutet när vi flyttat saker. Anledningen är att vi så småningom kommer att använda 2-tråds seriella gränssnittet för att kommunicera mellan våra viktigaste "master" controller och alla "slav" styrenheter som utgör komponenterna i vår övergripande projekt i denna serie tutorials, och som ni minns i handledning 6 vi uppfunnit ett slags morsekod typ metod att kommunicera vår tärning rullar från dice rullen (handledning 4) att registrera analysatorn (handledning 5) som visas resultatet av tärningskast i binär 8 lysdioder. Tja, det var bara en "rulla dina egna" metod för kommunikation som jag beslutade att använda eftersom på den tiden, det var för tidigt att få in 2-tråd seriell kommunikation. Vi är nu nästan beredda att dyka in i den djupa änden av seriell kommunikation, och vi kommer att göra det i handledning 10, men för nu gäller det att förutse den framtida utvecklingen och re-tråd vår dice rulle lysdioder för att frigöra de två stiften som vi behöver för seriell kommunikation.
Detta är SCL och SDA stiften på ATmega328P. Du kan se genom pinut diagrammet att de kallas också ADC5 och ADC4 när de används i Analog-till-Digital konvertering, de kallas PCINT13 och PCINT12 när de används som "Pin Change Interrupt" pins och slutligen vi allmänt kallar dem PC5 och PC4 när helt enkelt betraktas som stiften på PortC. Eftersom vi använde dessa två stift som en del av vår dice rulle av olika skäl (de viktigaste är att det gjorde kodning lättare och kablage till lysdioderna på styrelsen lättare) vi måste nu ändra vår kod och re-tråd det något för att frigöra dessa stift för framtida kommunikation.
Så vi börjar genom att göra den utformning, styckning, kablage och lödning. Då kommer att vi skriva tärningarna roller att arbeta med vår nya uppsättning upp och slutligen testa den för att se till att det fungerar fortfarande.
Du behöver följande för att slutföra denna Tutorial:
- Den vanliga saker du behöver alltid att jag ska sluta upprepa hela tiden: brädan prototyper, din kopia av databladet och instruktionsuppsättningen och din hjärna.
- Ett trådlöst kretskort prototyper PCB som den här: http://www.ebay.com/itm/191416297627 jag kommer att använda åtgärden Explorer 103RAWD versionen av denna styrelse: http://www.ebay.com/itm/103RAT-circuit-proto-proto... eftersom jag har en knippa av dem på handen, men den 103RAW-0 version som jag länkar till ovan kommer att fungera alldeles utmärkt också.
- Clippers, ledningar, lödtenn, lödning järn, "helping hands" eller vad att hålla saker, etc. etc. etc. igen, härifrån om jag ska sluta med det här. Om du har faktiskt kommit så här långt i dessa Tutorials så har förmodligen du allt det här redan.
Här är en länk till en komplett samling av min AVR assembler tutorials: