AVR Assembler Tutorial 9 (1 / 7 stap)

Stap 1: De weergave van de 7-seg bedrading


We gaan de dezelfde code die we in Tutorial 7 het toetsenblok controle het 7-segment display gebruikten te gebruiken. Dus moet u een kopie maken van dat en wij zullen wijzigen.

We zullen de segmenten toewijzen aan de pennen van onze microcontroller als volgt:

(dp, g, f, e, d, c, b, een) = (PD7 PD6 PB5, PB4, PB3, PB2, PB1, PB0)

waar zijn de letters van de segmenten in de rechterbenedenhoek van het scherm weergegeven in de afbeelding samen met de pinout overeenkomt met gemeenschappelijke 5V en elk van de segmenten van de LED met inbegrip van de decimale komma (dp). De reden hiervoor is dat we het hele getal in een enkel register en de uitvoer die naar havens B en D invoeren kan aan het licht van de segmenten registreren. Zoals u kunt zien de bits zijn genummerd van 0 tot en met 7 en dus ze zal toewijzen aan de juiste pinnen zonder instellen en schakelt u afzonderlijke bits.

Zoals u door de code die wij hebben verbonden in de volgende stap zien kunt, we hebben onze display routine verhuisd naar een macro en we de SDA en SCL pinnen voor toekomstig gebruik in de volgende Tutorial hebt vrijgemaakt.

Ik voeg eraan toe dat u moet een weerstand tussen de gemeenschappelijke anode van het display en de 5V spoor zetten. Ik koos een weerstand van 330 ohm zoals gebruikelijk maar als je je kunnen berekenen de minimale weerstand die nodig zijn om de maximale helderheid van het beeld zonder het frituren. Hier is hoe dat te doen:

Eerst kijken naar de data sheet en merken dat het op de eerste pagina verschillende eigenschappen van de weergave geeft. De belangrijke hoeveelheden zijn de "vooruit huidige" (I_f = 20mA) en de "vooruit spanning" (V_f = 2.2V). Deze vertellen dat u wilt dat de spanningsval over de display zal worden als de huidige gelijk aan de voorwaartse huidige is. Dit is de maximale stroom die het display zonder frituren nemen zal. Het is bijgevolg ook de maximale helderheid die u van de segmenten uitstappen kunt.

Dus laten we de wet van Ohm en Kirchoff de lus regel gebruiken om erachter te komen welke minimale weerstand die we zetten in serie met de display moeten zouden om de maximale helderheid. Kirchoff de regel zegt dat de som van de veranderingen van de spanning rond een gesloten lus in een circuit gelijk aan nul en de wet van Ohm zegt dat de daling van de spanning over een weerstand van weerstand R: V = I R waar ik is de stroom die door de weerstand.

Dus een voedingsspanning van V en gaan rond onze schakeling die we hebben gegeven:

V - V_f - I R = 0

Wat betekent (V - V_f) /I = R. Dus de weerstand die nodig zijn om zou de maximale helderheid (en waarschijnlijk het frituren van de segmenten) zijn:

R = (V - V_f) / I_f = (5.0V - 2.2V)/0.02A = 140 Ohm

Dus als je wilde kon gelukkig u 150 Ohm zonder zorgen. Ik denk echter dat 140 Ohm maakt het te licht voor mijn smaak en dus gebruik ik 330 Ohm (dat is soort van mijn persoonlijke Goldilocks weerstand voor LED's)

Gerelateerde Artikelen

AVR Assembler Tutorial 2

AVR Assembler Tutorial 2

Deze tutorial is een voortzetting van het "AVR Assembler Tutorial 1"Als je niet hebt doorlopen Tutorial 1 moet je nu stoppen en dat men eerst doen.In deze tutorial zullen we onze studie van assembly language programmering van de atmega328p in de
AVR Assembler Tutorial 11

AVR Assembler Tutorial 11

Welkom bij Tutorial 11!In deze korte tutorial, zijn we eindelijk het eerste deel van onze laatste project bouwen.Het eerste wat dat u moet doen is gaat u naar de allerlaatste stap van deze tutorial en Bekijk de video. Dan kom hier terug. [onderbreken
AVR Assembler Tutorial 1

AVR Assembler Tutorial 1

Ik heb besloten om een serie tutorials over hoe te schrijven van assembler programma's voor de Atmega328p die het gebruikt in de Arduino microcontroller is schrijven. Als mensen geïnteresseerd blijven blijft ik stak een een week of zo totdat ik oprak
AVR Assembler Tutorial 6

AVR Assembler Tutorial 6

Welkom bij Tutorial 6!Today's tutorial zullen kort waar zullen we het ontwikkelen van een eenvoudige methode om gegevens tussen een atmega328p en een andere met twee poorten verbinden hen te delen. Wij zullen vervolgens nemen de dobbelstenen rol van
AVR Assembler Tutorial 8

AVR Assembler Tutorial 8

Welkom bij Tutorial 8!In deze korte tutorial gaan we een beetje een afleiding van de invoering van nieuwe aspecten van assembly language programmering te laten zien hoe onze prototyping componenten verplaatsen naar een aparte "gedrukt" printplaa
AVR Assembler Tutorial 7

AVR Assembler Tutorial 7

Welkom bij Tutorial 7!Vandaag gaan we naar eerste show hoe opruimen van een toetsenbord, en vervolgens laten zien hoe de analoge input poorten gebruiken om te communiceren met het toetsenblok.We zullen dit doen met behulp van interrupts en een enkele
AVR Assembler Tutorial 10

AVR Assembler Tutorial 10

Welkom bij Tutorial 10!Sorry dat het zo lang duurde om deze volgende aflevering eruit maar dit is een behoorlijk hectische tijd van het jaar. In ieder geval, is hier het!We hebben een lange weg afgelegd en u bent waarschijnlijk al bekwaam genoeg is o
AVR Assembler Tutorial 5

AVR Assembler Tutorial 5

Vandaag gaan we nemen een kijkje op de verschillende geheugenlocaties in de Atmega328p microcontroller en zien als we beter begrijpen kunnen hoe de dingen worden opgeslagen, waar ze worden opgeslagen en hoe de pointers en opzoektabellen werken.De tut
AVR Assembler Tutorial 4

AVR Assembler Tutorial 4

Welkom bij de handleiding voor nummer 4!In deze tutorial zullen we bouwen een circuit om te simuleren het rollen van twee dobbelstenen. Dan zullen we eerst een brute-force-programma welk doet naar de job schrijven. Dan zullen we dat programma op vers
AVR Assembler Tutorial 3

AVR Assembler Tutorial 3

Welkom op tutorial nummer 3!Voordat we beginnen wil ik een filosofische opmerking maken. Wees niet bang om te experimenteren met de circuits en de code die we proberen op te in deze tutorials bouwen. Draden rond wijzigen, nieuwe onderdelen toe te voe
Een geavanceerde benadering van programmering van Arduino & AVR

Een geavanceerde benadering van programmering van Arduino & AVR

Dit instructable is een must read voor iedereen die vertrouwd is met core AVR chips en Arduino.Nou, om meer specifieke, bij het lezen van de instructable, zal u zitten kundig voor:1) weten het juiste verschil tussen AVR en Arduino.2) programmering Ar
Programmeerbare LED

Programmeerbare LED

geïnspireerd door diverse LED Throwies, knipperende LEDs en soortgelijke instructables ik wilde doen van mijn versie van een LED aangestuurd door een microcontroller.Het idee is om de LED knipperende reeks Herprogrammeerbare. Deze herprogrammering ka
De generator van willekeurige golfvorm, voor ~ 20$

De generator van willekeurige golfvorm, voor ~ 20$

een willekeurige golfvorm generator (AWG) is een nuttige maar vaak duur stuk van testapparatuur (ebay voor lacht). Gebruiken om te bepalen component frequentiebereik, genereren van vervoerder signalen, als een LCR-meter als u een bereik, tune resonan
Star Trek deurbel Hack

Star Trek deurbel Hack

Ik heb altijd al een fan van de Star Treks en als zodanig ik was erg opgewonden toen mijn kamergenoot bracht het huis van een originele serie stijl Star Trek comm panel. Ik had nog nooit gezien een van deze, maar een snelle zoektocht nam ons mee naar