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:

  1. 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.
  2. 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å.
  3. 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:

Se Steg
Relaterade Ämnen

AVR Assembler handledning 11

Välkommen till handledning 11!I den här korta guiden kommer vi slutligen att bygga den första delen av vårt sista projekt.Det första du bör göra är att gå till det allra sista steget i denna tutorial och titta på videon. Sedan komma tillbaka hit. [pa...

AVR Assembler handledning 6

Välkommen till Tutorial 6!Dagens handledning kommer att vara kort där vi kommer att utveckla en enkel metod att kommunicera data mellan en atmega328p och en med två portar ansluta dem. Vi kommer ta sedan tärningarna rullen från läraren 4 och registre...

AVR Assembler handledning 10

Välkommen till handledning 10!Ledsen att det tog så lång tid för att få denna nästa avbetalning ut men detta är en ganska hektisk tid på året. I alla fall, är här det!Vi har kommit långt och du förmodligen redan är kompetenta nog att skriva många int...

AVR Assembler handledning 5

Idag kommer vi att ta en närmare titt på de olika minnesplatserna i Atmega328p mikrokontroller och se om vi bättre kan förstå hur saker lagras, där de lagras och hur pekare och uppslagstabeller fungerar.Handledningen kommer att delas upp i två delar....

AVR Assembler handledning 3

Välkommen till tutorial nummer 3!Innan vi börjar vill jag göra en filosofisk punkt. Inte vara rädd för att experimentera med kretsar och den kod som vi konstruerar i dessa tutorials. Ändra sladdar runt, lägga till nya komponenter, ta komponenter ut,...

AVR Assembler Tutorial 1

Jag har beslutat att skriva en serie tutorials om hur man skriver assembler program för den Atmega328p som är mikrokontroller används i Arduino. Om människor förblir intresserad fortsätter jag att lägga ut en en vecka eller så tills jag får slut på l...

AVR Assembler Övningsexempel 7

Välkommen till Övningsexempel 7!Idag vi första visar hur du rensar en knappsats och sedan visar hur du använder Analog ingång hamnarna för att kommunicera med knappsatsen.Vi kommer att göra med avbrott och en enda tråd som indata. Vi kommer tråd knap...

AVR Assembler Övningsexempel 9

Välkommen till Övningsexempel 9.Idag kommer vi att visa hur du kan styra både 7-segment display och en 4-siffrig display med våra ATmega328P och AVR assembler kod. I samband med detta får vi ta omvägar till hur du använder stacken för att minska anta...

AVR Assembler Tutorial 2

Denna handledning är en fortsättning på "AVR Assembler Tutorial 1"Om du inte har gått igenom Tutorial 1 bör du sluta nu och göra att man först.I den här guiden kommer vi fortsätta vår studie av assembler programmering av den atmega328p som använ...

AVR Assembler Övningsexempel 4

Välkommen till tutorial nummer 4!I den här guiden kommer vi att bygga en krets som kommer att simulera rullning av två tärningar. Sedan kommer vi först skriva en brute force-program som gör jobbet. Sedan kommer vi förenklar det programmet på olika sä...

En avancerad metod för Arduino & AVR programmering

Detta instructable är ett måste läsa för alla som är bekanta med core AVR chips och Arduino.Tja, mer konkret, när jag läste den instructable kommer du att kunna:1) vet väl skillnaden mellan AVR och Arduino.2) programmering Arduino med WinAVR & använd...

Utveckling styrelsen för Attiny84 mikrokontroller

Detta är en utveckling styrelse för Attiny84 mikrokontroller. Tha Attiny84 chip har 11 pins adresserbara med Arduino IDE, 8k flashminne för lagring av program och 512 byte ram tillgängligt för variablerna stack och program.En funktion av den Attiny84...

Hur man ladda program till en Arduino UNO från Atmel Studio 7

I denna korta Instructable kommer vi att lära sig att ladda ett program till en Arduino UNO ombord med Atmel Studio istället för Arduino IDE. Detta är användbart när du behöver utveckla ett program med fler advance funktioner eller på ett annat språk...

MRETV - Video, ljud och mycket mer från en standard Arduino!

MRETV - Video, ljud och mycket mer från en standard Arduino!Nu uppdaterad för Arduino 1.6.6 November 2015!Använd endast två resistorer och två dioder för att generera full skärm video. Text 47 x 29 8 x 8 tecken, dubbla vertikala upplösningen (47 x 57...

Älskling, jag krympte Arduino: flytta från Arduino till ATtiny och skriva din kod i ren AVR-C

Arduino är en stor hård- och mjukvaruplattform, men med alla dess funktioner är det också lite uppsvälld och ofta behöver du bara en liten del av alla funktioner. Projektet kräver ibland för att ha mindre och billigare enheter. Vad du behöver är ATti...

65xx teknik-församlingen språk programmering med W65C02SXB-handledning 1

Western Design Center (WDC) har beslutat att skriva en serie tutorials på hur du kommer igång med vår 65xx teknik och hur man skriver assembler program för 65xx familjen för ICs. Denna handledning kommer att baseras på använda det Standard W65C02 chi...

AVR fuse grunderna: kör en avr med en extern klocka

säkringar är bland de svåraste ämnen som jag stött på samtidigt lära sig om programmering microcontrollers. Även efter att söka och läsa flitigt, kunde jag fortfarande inte lyckas rensa mitt begrepp om dem. Men sedan jag började lära dem ta en i tage...

AVR programmering med Arduino, AVRdude och AVR-gcc

AVR är en gemensam, billig typ av mikro-controller som kan verka skrämmande att arbeta med, men oroa dig inte! När du har Ställ in grundläggande kunskap och kan de bli inte bara nyttigt, men viktigt att nya projektidéer som du drömmer upp!Denna handl...

Idiot's Guide till programmering AVR: s på de billiga (med Arduino IDE!)

Mikrokontroller är, utan tvekan, fantastiska små saker. De är mångsidiga, kraftfull och mycket små. Tyvärr, den sistnämnda drag också delas av både min plånbok och mina kunskaper i programmering. Min förståelse av C är dålig, och jag har knappt råd a...