16-nyckel knappsatsen avkodning med en AVR MCU (4 / 7 steg)

Steg 4: Använda 74C922 att minska i/o-krav



The MM74C922N är en 16-nyckel kodare som inkluderar alla interna för att produktionen av en 16-nyckel växel som vi såg från föregående steg, och koda den till endast fyra utgångar med en sanning bordlägger. Detta är en välsignelse, eftersom det ger dig mer I/O till eller övervaka andra saker utan att behöva gå och köpa en större (i avkänningen av mer Stifttilldelningar för I/O) mikrokontroller.

74C 922 16-nyckel kodaren

Från datablad, MM74C922 kan använda en extern klocka för synkron tangentbordet scanning, har interna pull-ups, och har en inre debounce krets! Både sökhastighet och debounce tid kan konfigureras via en extern klocka eller kondensator. Det håller också den sista nyckeln tryckte på utgångarna även efter de viktigaste har varit deprimerad, ifall din MCU en stund och måste hämta värdet igen (åtminstone före nästa tangenttryckning). Driver från 3V till 15V så det integrerar väl i TTL och CMOS mönster.

Rader av knappsatsen är anslutna via dess inre pull-up motstånd när ingen nyckel har tryckts. När en tangent trycks chip går igenom det är Dämpningstid mekanism och när som tiden ute, kodade data är låst och DA pin (Data tillgänglig) går hög. DA pin stagen hög (logiska 1) tills nyckeln släpps, då den sjunker till en logisk 0. Det finns också en OE pin (Output aktiverat) som är inversen av DA PIN-koden.

74C922N pinut visas en schematisk jag har inkluderat nedan som bara visar denna IC. Jag har också tagit en Eagle Schematisk, även om knappsatsen enhetens rader och kolumner gjorde banan svår att tolka, så jag även min handskrivna Schematisk som jag gjorde när jag först började lekte med knappsatsen och 74C922. Förhoppningsvis kommer att en av dem klara upp eventuella anslutningsproblem, om du får någon.

Bygga kretsen

Sätta i din 74C922 till din skärbräda, någonstans nära men där är du inte för trångt. Om inte du är bekant med IC, ta en stund att undra över din nya blanka chip och märker att benen är utspärrade ut när de kommer ut ur fabriken. Det kan hjälpa att få det i bakbord om du lägger det på sidan med benen platt på bordet, och med en mild rullande rörelse något böja dem inåt. När du placerar din IC notera att det finns en rand eller divot på ena sidan. Det visar där pin en är.

Ansluta 0.1uF kondensatorer till stift 6 och 7 och ta dem till marken. Se nedan. Om du använder tantal kondensatorer minns de är polariserat så satte den positiva sidan (vanligtvis längre benet) närmast PIN-koden och den korta ben i marken terminalen.
N.B.
Kan du behöva leka med kondensatorerna för dina inställningar. Jag har hittat 1uF på oscillator och 10uF till 15uF (jag hade 3 parallellt) ger mig bästa lyhörd skanna med den minst debounce. Räkna ut för din inställning kan vara kul.

Nästa ansluta din makt komponenter. I detta skede har jag inte min ombord drivs. Det är bara lättare att göra dessa nu än efter du är ansluten alla ingångar och utgångar. Anslut Vcc (övre högra pin) till 5V, nedre vänstra pinnen till jord, samt OE-pinnen till jord. Vi kommer inte att bry sig om det denna gång. Se nedan.

Nu ansluta din data utgångar till din AVR. I bilden nedan har jag anslutit Data ut (göra) A till PD2, DOB till PD3, DOC till PD4 och DOD till PD5. Nu skulle vara en bra tid att ansluta Data tillgängliga pin (en rätt under OE du körde till marken till höger) till din mikrokontroller. Jag valde PD6. Fin sammanhängande block av i /. Om vi kunde veta att samma två siffrorna inte var in efter varandra kan vi lämna bort Data tillgänglig och bara avsöka data ut stiften. Det skulle minska våra tidigare behövs åtta I/O linjer till endast fyra! För fullständighetens är jag även det eftersom det är PIN-koden jag ska service med en pin change avbryta. Det är trevligare än polling och låter datorn göra andra saker istället för att vänta i loopar polling pin staten.

Slutligen, Anslut din input sladdar. Övre vänstra fyra stift gå till rader ett, två, tre och fyra. De två stift mellan kondensatorn och marken på det nedre vänstra ansluta till kolumn fyra och tre. På andra sidan, läsning från längst ner till höger, Anslut stiften till kolumn två och en. Emot att beställa! Anslut din knappsatsen om du gjorde en kabel för det och eld din microcontroller!

Se Steg
Relaterade Ämnen

Med Minimus AVR med Arduino IDE

The Minimus AVR är en USB-ansluten mikrokontroller, som använder ATMEL 90USB192 mikrokontroller. Dess en billig åter programmerbara mikrokontroller med 21 digital input/output stift.De har använts av människor som mod spelkonsoler konsoler, för att l...

Hur du använder Dragon Rider 500 med din AVR Dragon

detta instructable är en snabbkurs i hur man använder några av funktionerna av Dragon Rider 500 från Ecros Technologies. Tänk att det finns en mycket detaljerad Användarhandbok tillgänglig på webbplatsen Ecros.Dragon Rider är ett gränssnittskort för...

Kör en Stepper Motor med en AVR mikroprocessor

fick några Rota stepper motors från skrivare/disk drives/etc liggande?Vissa sondering med en ohmeter, följt av lite enkel förare kod på din mikroprocessor och du kommer att kliva i stil.Steg 1: Få veta Steppers i princip, du kommer att behöva räkna u...

Hur man använder en 74HC595 SKIFT Register med en AVR ATtiny13

om du har spelat med mikrokontroller och elektronik så du har förmodligen sett LED dot matrix-displayer och andra projekt som använder SKIFT register som 7-segment visar och mer. Detta instructable går över en snabb intro till 74HC595 8-bitars serail...

Från Arduino och perfboard att PCB med fristående MCU

Detta Instructable är en direkt efterföljare av denna. I slutet av detta bygga upp är min skivspelare projekt nästan klar (äntligen).Målet är att utveckla en snygg och arbetar PCB med SMD elektronisk med en arbetande ATtiny85 + programvara!Så är det...

Läs binär/Hex miniatyrhjul växla med en AVR Microcontroller

detta instructable visar dig hur att läsa antalet på en binär pushwheel eller miniatyrhjul växla med lysdioder eller en AVR microcontroller (jag använder en ATmega328p men detta kan anpassas för alla AVR eller förmodligen en annan mikrokontroller för...

Hur man styr en 16 x 2 LCD med en AVR ATtiny2313

om du bara får in microcontrollers finns det mycket att veta som du har sannolikt fått reda. Det finns en hel del bra online tutorials för Atmel AVR och chansen du har ser några av dem nu. Jag nyligen kom in mikrokontroller och visste inte jack om de...

Nyckel ring halsband med tyg & tråd

vad du behöver:1/4" nyckelring1" nyckelringSaxTyg för att förstoraSamordnande trådNålHalsband kedjaSteg 1: Layout Flytta nyckel ring på tyget tills du hittar en plats som du. Var noga med ditt fabric dubblat så att den kan bäras med antingen sid...

Förbättra cykel lås nyckel båge med Sugru

en cykel lås nyckel var svåra att använda, så vi tillämpas vissa röda Sugru på den, och bildade det för att täcka fören. Ursprungliga fören hade ett hål i den, för att göra det möjligt för kopplar den till en nyckelring. Med lite känslig mixtrande pr...

Styra allt med en AVR pin

detta instructable visar hur man styr en grupp av lysdioder med en mikroprocessor utgång.Jag kommer att använda micro är en Atmel Attiny2313.Steg 1: Delar och verktyg Parts:Attiny2313 (fick 5 gratis prover från Atmel)20-pin uttagMotstånd (alla storle...

Kom igång med Atmel AVR och BASCOM

Jag har sett massor av Instructables visar hur man kan arbeta med mikroprocessorer, men de alla antar att du har arbetat med dem tidigare och vet vad du gör. Jag har inte sett en Instructable som tar dig från ingenting och bygger på varje steg.Vad vi...

Mitt svar på WS2811 med en AVR sak

första off - vill sägaBra om du Alan Burlison.Detta är inte menat att uppsamlare du på något sätt. Din kod gjorde det det måste göra. Stor framgång. Min första reaktion i en forum kommentar var faktiskt riktat mot folk som när det gäller icke-arbetan...

Lätt ATTiny seriell kommunikation med liten AVR programmerare

ATTinies (som ATTiny 85) är super awesome! De är super billig, låg effekt, och de gör vad de flesta Arduino projekt utföra ändå (ge en enkel utgång eller ta i en enkel ingång).En svårighet kan snabbt se vad som händer med deras interna för enkel fels...

Redstone fackla nyckel - Redstone handledning med Andrew MC

Hej killar, jag började en You Tube-kanal om Minecraft där jag kommer att publicera redstone handledning och awesome överlevnad videor.Om du gillar min kanal lämna en liknande och tryck på Prenumerera-knappen: D!...

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...

Bil nyckel mod med elektronik

Hej DIYers :)Inspirerad av lite enklare projekt med HotWheels bilmodell och ingen elektronik av användaren Schnurrbarten, projektet är här: Hot hjul bilnyckelså, låt oss komma igång... eller vänta... innan du åta sig att sådana bygga, se till att din...

Kom igång med ubuntu och AVR dragon

här är vad jag gjorde för att komma igång med AVR draken till programmet ATMEGA8 microcontrollers använder ubuntu (detta riktar sig till nybörjare, jag själv också är en nybörjare, så några förbättringar från mer erfarna användare är mycket uppskatta...

Programming AVR med Arduino som ISP utan bootloader och externa crystal

Hej, jag är riktronics , och detta är min första instructable. Här förklarade jag hur till bränna program i din AVR microcontroller med en Arduino. Av detta behöver du inte köpa dyra AVR programmerare om du redan har en Arduino. Och jag antar att du...

Autonoma Sumo bekämpa Robot med pneumatiska Flipper - hur man

denna Sumo Bot utformad, byggdes, programmerad och testade under en 12 veckors period för en av mitt sista år engineering klasser. Syftet var att konstruera och bygga en lätt helt självständiga sumo kämpar robot för en i klassen Sumo Bot konkurrens....