En komplett starter guide till AVRs (2 / 10 steg)

Steg 2: IO pinnar



Så, nu beväpnad med all denna bitvis kunskap, kan säga det till någon användning!
En av de första sakerna du kommer att vilja göra med en mikrokontroller är att läsa en knapp och slå på en LED.

Det här exemplet kommer jag att använda en ATtiny2313 MCU. De är billiga och kommer med 18 IO pinnar, 2K Flash och endast 128 byte ram!
Du öppnar databladet att följa med: ATtiny2313 datablad

Börja med att bygga banan på en skärbräda. MCU kan använda mellan 1,8/2.7 och 5.5v beroende på vilken version du har.

För att driva chip, jag använder en 3.3V regulator, du kan använda ett annat värde, men bo inne i de operativa värdena och hålla över 2v så du kan lätt att driva LED.
Anslut regulatorn till en strömkälla som ett 9v batteri eller en plugin pack (jag har en fått vid 9v som faktiskt levererar 12v!).
På MCU ansluta stift 10 (GND) till negationen / gnd din regulator och stift 20 till VCC (power).
Anslut en tryckknapp mellan GND och stift 13 (någon IO pin skulle göra, men fastnar med samma så koden bara fungerar för dig).
Ansluta lysdioder katoden (en platt fläck på LED och kortaste bly) via ett motstånd till jord. Anslut anoden (längsta bly) till stift 12.

Nu, på koden!
Om du inte vet hur man sätter koden på en AVR, blir det en bilaga i slutet av detta instructable förklarar det, gå läsa den nu och komma tillbaka när du är redo.

För så lite kod har vi mycket att förklara att göra!
DDRB är den "Data riktning registrera för PortB"
Detta register avgör om IO pinnar används bara att mäta spänningen på PIN-koden eller om de kan sjunka / källa nuvarande.
När 0 de är hög impedans och kommer inte att leverera tillräcklig ström för att driva en LED till exempel, men de kan användas för att kontrollera om en PIN-kod är hög eller låg.
När 1 kan de är låg impedans och leverera eller sjunka till allmänt 20mA, nog att driva en LED eller en transistor (om du vill växla större laster).
Här PB0 (Pin 12) är inställd på låg impedans att köra LED.

Nästa rad anger PORTB registret. Detta register används för att ange värdet av en PIN-kod, som detta stift (PB1 = Pin 13) som används för en knapp, vi ska sätta den höga standard.
När knappen trycks, kommer ansluter till marken, detta stift att dras låg.
Nästa är upp vår oändlig loop.
Detta for-loop kör tills strömmen bryts!

Inuti loop testar vi tillståndet för knappen, det är en upptagen linje, så låt oss bryta ner. För om tillstånd har vi:
! (PINB & (1 << PB1))
Vi börjar med ett inte (!) som förvandlar en sann till en falsk och vice versa.
Nästa vi har:
PINB & (1 << PB1)
PINB är registret du läsa för att få reda på värdet av IO pinnar.
Den "&" används för att maskera ut bara värdet av (1 << PB1) vilket som vi lärt oss tidigare, är en enda bit aktiverat i PB5 position.

Vi är så upp allt kontrollera om biten på PB1 i PINB är hög och sedan Invertera det.
Så vi kontrollerar om PB1 stift är låg (knappen intryckt).

Om det trycker vi aktivera LED: PORTB | = (1 << PB0)

Detta är att använda operatorn OR och den vänster SKIFT som vi upp tidigare, ange pin hög. Om knappen inte är intryckt vi vill ta bort PIN-koden (dra den låga):
PORTB & = ~ (1 << PB0)

Här används operatorn och tillsammans med inte och vänster SKIFT att vända bara som en pin off (låg).

Se Steg
Relaterade Ämnen

Min Guide till AVR Transistortesters

Om du är en elektronik hobby sedan är AVR Transistortesters den största sak sedan skivat bröd! Varför om Ron Popiel levde han skulle hawking dessa natt och dag på Shopping nätverket. Men ibland finns det något sådant som för mycket av goda. Sortering...

Kompletta idioter guide till rc flygplan flyger

i detta instructables, jag kommer att visa dig hur till och vad du kommer att behöva bygga en modellflygplan. Jag ska berätta hur man bygger och reparerar ett rc plan. Nu kan börja med teorin, flygplan kan flyga på grund av sina vingar form, de är of...

Quick Start Guide till 3Doodler 2.0

Steg 1: Att lära känna 3Doodler 2.0 Steg 2: Slå på den Till vända den på plug in den och sedan flytta växeln till hög eller låg. (PLA/trä) lo (ABS, Flexy) högSteg 3: Vänta för ljus för att indikera den är redo Om du ställer in det för "lo" ljuse...

Guide till få Epic Helander skrivbordsunderlägg

Här är den kompletta Ultimate Guide till att få episka Helander skrivbordsunderlägg (detta är för din dator!) =)Steg 1: Wll behöver du:En dator, mac eller windows är absolut bra, så du kan använda någon jag använder windows men mac är mycket lik så d...

Din kompletta Guide till Minecraft PE

så, naturligtvis, jag gjorde min typiska bläddra-igenom cykel av Instructables, som jag bara om en gång i timmen eller så, när jag såg en av mina favorit medlemmar hade postat nyligen ännu ett Minecraft tutorial (denna medlem var Austydude). Jag klic...

En nybörjares guide till Arduino

Efter några år av experimentera med Arduino, beslutade jag att det är dags att dela den kunskapen har jag fått. Så jag här går, en guide till Arduino, med nakna grunderna för nybörjare och lite mer avancerade förklaringar för personer som är något me...

Alltid aktuell Guide till Ubuntu

Hej killar! Detta är det alltid uppdaterat Guide till Ubuntu. Det kommer att uppdateras med varje ny version av Ubuntu. Den nuvarande utgåvan är Ubuntu 13.04 Raring Ringtail. Nästa utgåva, 13.10 uppkäftig Salamander, beror den 17 oktober eller så. Om...

Arduino VFD Display klocka handledning - en Guide till VFD displayer

... + Lite om VFDsMinns du (fortfarande) visning av din gamla CD-spelare, HiFi system eller bil radio? Har du någonsin märkt displayerna används på din lokala mataffär som visar du skannade objektet och priset för det?Dessa skärmar har en karakterist...

Starta guiden till att bygga ett omvänd osmos hydroponics filter

Hej alla, detta är en grundläggande guide till planering ut en RO (omvänd osmos) och hydroponics vattenfilter. Detta instructable kommer att ge några grundläggande steg, personliga erfarenheter och information du behöver att hjälpa dig bygga ett RO h...

Grundläggande Guide till Flux kärnhus bågsvetsning

Hej och Välkommen till SLO Makerspace guide till Flux kärnhus bågsvetsning! Detta Instructable syftar till att lära dig att använda Lincoln Weld Pak HD flux Metallpulverfylld båge svetsare. Denna maskin är är en av de mest grundläggande svetsare till...

Guide till Nerf

jag vet, jag vet, alla mod NERF vapen att göra dem mer kraftfull och skjuta längre. Dock om du var i ett NERF krig, inte skulle du förmodligen kunna använda dem. Jag skrev detta som en guide till NERF krig sedan bara guider redan ute finns för mods....

En Guide till Raspberry Pi Arduino kommunikation i inbyggda system

Det här är en guide till olika metoder för kommunikation mellan Raspberry Pi och Arduino. Denna guide är skapad av allt jag lärt mig från inrättandet av en kapacitet skog. Inlägget av projektet kan ses, en video av projektet kan ses här, och dokument...

En vetenskapsman Guide till Citizen Science

Den underbara rouzejp var vänlig nog att översätta denna guide till franska. Läs den här!Le merveilleux rouzejp en eu la gentillesse de traduire ce guide sv français. Lisez-le ici!Citizen science är i ropet just nu, som det ska vara!Dock kan det vara...

Nexus 7 Wifi (2013, Flo, Razor) - Guide till firmware installationer och flera ROM

Jag investerat mycket tid och försökte göra det så enkelt som möjligt, så Läs den information som tillhandahålls helt innan du börjar att bråka med din enhet.Infos här kan användas på modeller också, särskilt från Nexus-serien.Men du måste använda mo...

Omfattande Guide till elektroniska brödunderläggen: en Meta Instructable

Brödunderläggen vet ibland som prototyping styrelser eller proto styrelser är ett snabbt sätt att arbeta upp och experimenterar med elektroniska kretsar. Set av brödunderläggen kretsar var ursprungligen kretsar byggd på riktigt trä brödunderläggen. V...

Den samverkande Guide till spela leda gitarr

detta är en guide till att spela gitarr. Eftersom jag är en aktiv medlem, och Danny's instructable är oavslutad (och i något förlägger verkligen innacurate, t.ex.. hans flikar var upp och ner), beslöt jag att göra en av mina egna till höger hans miss...

En Super vaga Guide till brygga öl

En Super vaga Guide till brygga ölInga detaljer men om du letar efter en allmän uppfattning om vad som händer i hem brygga öl sedan denna video är för dig...

En Pissheads Guid till varenda droppe

Steg 1: Saker du behöver 1 box vin1 par sax1 pissheadNär du tror du har slut på vin från ditt vin box tänka igen, snabb och enkel guide till få varenda droppeSteg 2: När vinet inte längre filtrerar från kranen slita öppna upp i rutan och ta bort påse...

A-Z Modding Guide till Nerf natt-Finder

här är en mod guide till om allt du kan mod på en nerf nightfinderMATERIALNight finderskruvmejselEpoxi (eller varmt lim)PVC-rör 1/8hacka sågDrilltångelastiskt bandBuzz bee enda skott våreno-ringarrörmokare tejpdartsmörjmedel (vaseline)skumpermanenta...