Een volledige starter gids voor AVR's (2 / 10 stap)

Stap 2: IO Pins


Dus, nu gewapend met al deze bitsgewijze kennis, laat het sommige gebruik!
Een van de eerste dingen die zal u willen doen met een microcontroller is te lezen op een knop en zet op een LED.

In dit voorbeeld ga ik gebruiken een ATtiny2313 MCU. Ze zijn goedkoop en komen met 18 IO pinnen, 2K van Flash en alleen 128 bytes RAM!
U moet openstellen naar het gegevensblad volgen: ATtiny2313 gegevensblad

Begin uit door de bouw van het circuit op een breadboard. De MCU kunt tussen 1.8/2.7 en 5.5v afhankelijk van de versie die u gebruiken.

Voor het aandrijven van de chip, ben ik met behulp van een 3.3V regelgever, u kunt gebruiken een andere waarde, maar blijven binnen de bedrijfswaarden en houden boven 2v, zodat u kunt gemakkelijk de macht van de LED.
De regelaar aansluiten op een voedingsbron zoals een 9v batterij of een plug-pack (ik heb een gewaardeerd op 9v die eigenlijk 12v levert!).
Op de MCU pin 10 (GND) verbinding te maken met de negatieve / gnd van uw regelgever en de pin 20 naar VCC (kracht).
Verbinding maken met een drukknop tussen GND en pin 13 (een IO-pin zou doen, maar vasthouden aan hetzelfde dus de rechtvaardige werken van de code voor u).
De LED's kathode (een vlakke plek op de LED en de kortste leiding) zijn verbonden via een weerstand op grond. De Anode (langste lood) verbinden met pin 12.

Nu, op de code!
Als u niet hoe weet te zetten code op een AVR, zal er een aanhangsel aan het einde van dit instructable uit te leggen, ga Lees het nu en kom terug wanneer u klaar bent.

Voor zo weinig code hebben we een heleboel uit te leggen!
DDRB is de "Data richting registreren voor PortB"
Dit register wordt bepaald als de IO-pennen worden gebruikt alleen voor het meten van spanning op de pin of als ze kunnen zinken / huidige bron.
Wanneer ze 0 zijn hoge impedantie en zal niet leveren genoeg stroom voor het aandrijven van een LED bijvoorbeeld, maar ze kunnen worden gebruikt om te controleren of een pin hoog of laag.
Wanneer 1 kunnen ze zijn lage impedantie en leveren of zinken tot algemeen 20mA, genoeg voor het aandrijven van een LED of een transistor (als u wilt overschakelen van grotere ladingen).
Hier PB0 (Pin 12) is ingesteld op lage impedantie te rijden van de LED.

In de volgende regel wordt het PORTB-register. Dit register wordt gebruikt voor het instellen van de waarde van een PIN-code, als deze pin (PB1 = Pin 13) wordt gebruikt voor een knop, we gaan het hoge standaard ingesteld.
Wanneer de knop wordt gedrukt, zal verbinden met grond, deze pin worden getrokken laag.
Vervolgens is onze oneindige lus.
For-lus wordt uitgevoerd totdat de stroomstoring is!

Binnen de lus testen we de status van de knop, het is een drukke lijn, dus laten we breken. Voor de als voorwaarde we hebben:
! (PINB & (1 << PB1))
We beginnen met een niet (!) die een echte verandert in een valse en visa versa.
Vervolgens hebben we:
PINB & (1 << PB1)
PINB is het register dat u lezen als u wilt weten van de waarde van de IO-pinnen.
De "&" wordt gebruikt om te maskeren slechts de waarde van (1 << PB1) die zoals we eerder geleerd is een enkele bit ingeschakeld in de PB5 positie.

We zijn dus allemaal op controleren als de bit op PB1 in PINB hoog is, en vervolgens het omkeren van het.
Dus we controleren als de PB1 pin is laag (de knop ingedrukt).

Als deze is ingedrukt we weer de LED op: PORTB | = (1 << PB0)

Dit is met behulp van de operator OR en de linker verschuiving die we eerder, onder de hoge pin instellen. Als de knop is niet ingedrukt willen wij duidelijk de pin (trekken het laag):
PORTB & = ~ (1 << PB0)

Deze maakt gebruik van de AND-operator samen met de niet en linker shift om te schakelen van de net dat één pin af (laag).

Gerelateerde Artikelen

Een volledige Video-gids voor het kweken van erfstuk tomaten: Start to Finish!

Een volledige Video-gids voor het kweken van erfstuk tomaten: Start to Finish!

Deze video toont de geschiedenis van de gehele groei van een plant een "Black Krim" heirloom tomaat. Het zal u tonen:Hoe te planten tomatenHoe te bouwen van hot-house kooien (voor vroege aanplant)Hoe te snoeien uit sukkelsHoe maak je een ziekte
Een Super vaag gids voor het brouwen van bier

Een Super vaag gids voor het brouwen van bier

Een Super vaag gids voor het brouwen van bierGeen bijzonderheden maar als u op zoek bent voor een algemeen idee van wat er in huis brouwen van bier dan deze video is voor jou
Volledige idioten gids voor rc vliegtuigen

Volledige idioten gids voor rc vliegtuigen

In deze instructables, ik zal u tonen hoe te en wat u zult moeten om te bouwen van een modelvliegtuigen. Ik zal u vertellen hoe te bouwen en repareren van een rc vliegtuig. Laat nu begin met de theorie, vliegtuig kan vliegen is vanwege zijn vleugels
Mijn gids voor AVR Transistortesters

Mijn gids voor AVR Transistortesters

Als u een elektronica-hobbyist zijn AVR Transistortesters de grootste ding sinds gesneden brood! Waarom als Ron Popiel nog in leven was hij zou worden hawking deze dag en nacht op het winkelen netwerk. Maar soms is er zulk een ding als teveel van het
Hoe maak je een magnetische slijpen gids (voor verscherping beitels & Hand vliegtuigen) | DIY houtbewerking Tools #5

Hoe maak je een magnetische slijpen gids (voor verscherping beitels & Hand vliegtuigen) | DIY houtbewerking Tools #5

"Wanneer het [hout] graan tranen uit, ik wil mijn haren uit te scheuren."- GmoonTerwijl dit probleem niet vanwege Trichotillomanie optreedt, zeker gebeurt omdat u uw Hand-vliegtuigen correct zijn niet verscherping.Een gemakkelijke manier om een
Een COMPLETE beginners gids voor airsoft

Een COMPLETE beginners gids voor airsoft

deze handleiding is niet zoals andere instructables, deze handleiding bevat alles wat u weten om te gaan moet en plezier hebben. Nu, dankzij enkele tips heeft gereageerd op deze pagina, ik zal het toevoegen van wat nieuwe spullen... Controle het uit!
Een klimmer van gids voor de cijfer-acht volgen via knoop

Een klimmer van gids voor de cijfer-acht volgen via knoop

Rock klimmers hebben meestal een arsenaal van knopen, ze weten hoe om te binden, maar geen zo vaak wordt gebruikt als de figuur-acht doortasten. De cijfer-acht volgen door beveiligt de klimmer aan het touw via hun harnas en fungeert als hun beschermi
Baileigh combinatie Shear rem Roll: Een Quick Start Guide voor Pier 9

Baileigh combinatie Shear rem Roll: Een Quick Start Guide voor Pier 9

De Baileigh combinatie Shear/rem/Roll is gelegen aan de Autodesk Pier 9 Workshop in de Studio van metaal. Als u werken met plaatwerk op Pier 9 wilt, is dit hulpprogramma voor jou.De Baileigh Combiwerktuig kunt schuintrekken milde plaatstaal tot 16ga.
Mes slijpen met een whetstone: een eenvoudig hoek-gids voor de perfecte blade.

Mes slijpen met een whetstone: een eenvoudig hoek-gids voor de perfecte blade.

Mes, whetstone, & telefoon. Perfecte blade.Een mes met behulp van een steen slijpen kan lastig zijn als je net begint en u daadwerkelijk met een saai mes eindigen kunt. Het basisconcept van een mes te slijpen is gelijke hoeken aan beide zijden. 17-17
Een Maker's gids voor ATX-voedingen

Een Maker's gids voor ATX-voedingen

Er zijn tonnen van Instructables op welke manier voor kappen een afgedankte ATX (computer)-voeding met ventilator (PSU) in de voeding van een lab-Bank. Dit is niet een van hen.Mijn waarneming is dat de meeste makers, hackers en gekke wetenschappers n
Een arme iemands gids voor het kopen van een gitaar

Een arme iemands gids voor het kopen van een gitaar

elke websight die ik heb gezien dat u vertelt hoe te selecteren en een gitaar te kopen zijn gericht op volwassenen met geld. Ik ben niet zelfs op de middelbare school, dus geen van deze help me! Ik pakte een flink aantal kneepjes van het vak van mijn
De altijd actuele gids voor Ubuntu

De altijd actuele gids voor Ubuntu

Hi Guys!  Dit is het altijd Up-to-Date gids voor Ubuntu.  Deze zal worden bijgewerkt met elke nieuwe release van Ubuntu.  De huidige versie is Ubuntu 13.04 Raring oostelijke.  De volgende release, 13.10 Saucy Salamander is verschuldigde 17 oktober of
Maken van een aangepast formaat box voor afdrukken in 3D met OpenSCAD

Maken van een aangepast formaat box voor afdrukken in 3D met OpenSCAD

Op hybrislabs, we hebben onderzocht IoT hele hijs zootje en op een gegeven moment onze prototypes werd zo klein en geïntegreerde, dat we de noodzaak hadden te creëren van aangepaste vakken voor deze. Aanvankelijk gebruikten we 123D voor het maken van
Steeds een Maker: de complete gids voor een volledig functionele minishop: tools

Steeds een Maker: de complete gids voor een volledig functionele minishop: tools

Wat is een maker? Een maker is een DIY'er, recycle en reuse'er en een crafter. Zij nemen wat niet, en er wat Is. Makers hebben niet alleen Behendigheid, maar ook als de bepaling over zijn of haar project. Wat is er nodig om een maker? Ook de eerste s