» Elektronica »Een stand voor het bestuderen van low-level schuifregisters

Laag niveau Shift Register Study



Volgen lage studiebank HD44780nadat hij de eerste prijs op een van de wedstrijden had gewonnen, besloot de auteur van Instructables onder de bijnaam indoorgeek om nog een soortgelijke stand te maken. Deze keer de gebruiker die zich in de schoenen van het 'leven' wil voelen Arduino”, Het is mogelijk om het schuifregister te besturen - een belangrijk onderdeel van matrix LED-displays en niet alleen.

Het apparaat maakt gebruik van het schuifregister 74HC595, dat het meest wordt aangetroffen in de praktijk van de arduino, en u kunt ook de compatibele КР1564ИР52 gebruiken. Als u bijvoorbeeld drie van deze microschakelingen gebruikt, kunt u vijf uitgangen van een microcontroller in vierentwintig veranderen! En het voorgestelde zelfgemaakt Het laat duidelijk zien welke processen plaatsvinden.

Indoorgeek monteerde zo'n standaard in twee versies: op een gewone breadboard en op een breadboard, zoals deze:



Je kunt het doen zoals je wilt, of zelfs een volumetrische installatie toepassen of een printplaat maken. Het is veel belangrijker om tijdens de montage geen fouten te maken dan te discussiëren over de methoden.

De componenten in het ontwerp zijn als volgt: één schuifregister van het hierboven aangegeven type, een aansluiting voor een 16-pins microcircuit (je kunt het zonder doen), acht LED's, hetzelfde aantal single-ohm-weerstanden, drie tien-ohm-weerstanden, drie knoppen, evenals een adapterkaart met een micro-aansluiting USB Als je erg rechte armen hebt, kun je gewoon de Micro USB-aansluiting nemen en er twee draden aan solderen. En als je niet origineel wilt zijn, kun je gewoon een snoer gebruiken met een gewone USB-connector. Alleen de polariteit in alle gevallen, verwar niet, nou, regel geen kortsluiting.

Ons schuifregister wordt wetenschappelijk een acht-bits schuifregister genoemd met drie toestanden. De eerste betekent dat het acht één-bit geheugencellen heeft en hetzelfde aantal uitgangen, en de tweede - dat elk van de binaire bits een van de drie toestanden kan aannemen: nul, één en hoge impedantie. Dit is geen vloek, maar een imitatie van een klif, alsof hij helemaal niet verbonden was. Een output in een hoge staat, zoals ze zeggen, interfereert niet: je kunt het met een weerstand naar minstens nul trekken, zelfs naar eenheid, en hij 'plichtsgetrouw'. Maar als hij in een staat van nul of één gaat, krijgt hij prioriteit, omdat de lage uitgangsimpedantie van de microschakeling uw weerstand zal overmeesteren.

De microschakeling heeft vijf ingangen.Zoals de lezer waarschijnlijk al vermoedde, moet je met zo'n klein aantal ingangen om zoveel uitgangen te krijgen, informatie in serie ontvangen en parallel uitvoeren. U typt op dezelfde manier op het toetsenbord of schrijft beurtelings op papier, en dan ziet u alle tekst tegelijk. Als u meerdere schuifregisters in serie verbindt, kunt u het aantal uitgangen met het overeenkomstige aantal keren verhogen, maar met dezelfde gegevensoverdrachtsnelheid zal de lange keten van registers langer vol raken. Analoog: het kost meer tijd om meerdere vellen papier op te schrijven dan om er slechts één met dezelfde snelheid te vullen.

Maar het schuifregister verschilt van papier doordat de gegevens erin automatisch worden verschoven, vandaar de naam. Je schrijft het volgende stukje erin en alle voorgaande worden verder verplaatst in het register of hun kettingen, hetzelfde dat aan het einde was voordat het verdween. Stel je een buis voor die gevuld is met ballen, waarvan sommige gewoon zijn, andere lichtgevend. Leg de volgende bal erin - normaal of lichtgevend, en een andere bal zal vanaf de andere kant naar buiten vliegen.

Laten we kennis maken met het doel van de ingangen van de chip. Om de een of andere reden besloot indoorgeek ze in omgekeerde volgorde op te sommen, net zoals voor het lanceren van een ruimtevaartuig. De 14e pin is nodig om seriële gegevens in te voeren. Het is als een dienblad waarop je een gewone of lichtgevende bal plaatst voordat je hem in de buis duwt. 13e conclusie - de opname van outputs. Als daar nul wordt toegepast, worden de uitgangen ingeschakeld alsof de handset transparant is geworden. We geven er een - en de buis is ondoorzichtig geworden, welke ballen en in welke volgorde de buis is gevuld, is niet zichtbaar. Dat wil zeggen, alle uitgangen van het schuifregister gingen in een hoge impedantietoestand. In de beschouwde constructie wordt deze conclusie altijd naar nul getrokken, wat overeenkomt met altijd een transparante buis. De 12e conclusie is een soort sluiter van de camera. Als er nul is, weerspiegelt het beeld dat de kijker door de buis ziet niet de werkelijke toestand van de ballen erin, maar het beeld dat werd waargenomen toen de eenheid voor het laatst werd gezien in deze conclusie. Als er een is, kan de beweging van de ballen in de buis in realtime worden waargenomen. Om dit alles te laten werken zoals beschreven, is er in het microcircuit, naast het schuifregister, een opslagregister. De elfde conclusie is klokken, dat wil zeggen, de bal uit de bak in de buis duwen. We geven daar een eenheid op het moment dat de waarde die we nodig hebben op de 14e uitgang ligt, en zonder hem daaruit te verwijderen, verwijderen we de eenheid van de 11e uitgang. De tiende conclusie is een reset. Als daar nul wordt toegepast, komt dit overeen met het verlies van lichtgevende eigenschappen door alle kogels in de buis. Door een eenheid naar de reset-ingang te sturen, kunt u beginnen de buis opnieuw te vullen met gewone en lichtgevende ballen in elke volgorde, zoals hierboven beschreven. In de beschouwde stand staat altijd een unit. Conclusie 15, evenals conclusies 1 tot en met 7, zijn de resultaten van het schuifregister. Stroom wordt geleverd zoals bij de meeste zestien-pins digitale circuits: 8 - gemeenschappelijke draad, 16 - plus vijf volt. Ten slotte is pin 9 de uitgang naar het volgende schuifregister, dat in serie kan worden verbonden met meerdere stukken, alsof je van meerdere korte één buis maakt. Over het algemeen verbinden we pin 9 van het vorige register met pin 14 van het volgende en verheugen ons. U kunt het voorgestelde zelfgemaakte product zo verbeteren.

Aangezien dit de tweede stand is voor indoorgeek, verdwijnt de fobie voor de pull-up weerstanden, die in een vorig artikel werd beschreven, langzaam van hem weg. Hier zijn er al drie, waardoor we normaal open knoppen konden gebruiken in plaats van de schakelknoppen. Weerstanden van 10 kilo-ohm werden gebruikt als pull-ups en weerstanden van 1 kilo-ohm voor LED's. Net als bij het vorige ontwerp is het, parallel aan de klokknop (11e uitgang), goed om een ​​condensator van 100 microfarads en minimaal 6,3 V plus aan te sluiten op de plus van de voeding en min op de microschakeling en weerstand. Het zal de eenvoudigste contactbounce-onderdrukker blijken te zijn.

Herhaal na indoorgeek:



Zo ben je ook geslaagd:



Nu hoe u het allemaal kunt gebruiken. Om een ​​lichtgevende bal in de buis te steken, drukt u op de knop die is aangesloten op aansluiting 14, waarna u, terwijl u deze vasthoudt, op de knop drukt die is aangesloten op aansluiting 11 en vervolgens loslaat. Laat vervolgens de knop los die is aangesloten op pin 14.Om hetzelfde te doen met een niet-lichtgevende bal, met een knop die is aangesloten op klem 14, doen we niets en drukken we op de knop die is aangesloten op klem 11. Je kunt dus schrijven in het schuifregister en een paar bits. In beide gevallen, wanneer de knop wordt losgelaten, verbonden met klem 12, zal de status van de LED's niet veranderen en wanneer ingedrukt wordt de status van het schuifregister in realtime weergegeven. Als u besluit deze knop niet ingedrukt te houden tijdens het opnemen, druk er dan nu kort op en het opslagregister maakt een foto van de huidige status van het schuifregister.

Omdat de buis en ballen virtueel zijn en de microschakeling en LED's echt zijn, verdwijnt voor de kijker elke bal die van de andere kant van de buis valt. Er zou een ander register zijn, hij zou daarheen verhuizen. U kunt dit ontwerp verbeteren door dit register toe te voegen, en zelfs meerdere, en nog acht LED's met weerstanden voor elk van hen. Zoals hierboven aangegeven, moet pin 9 van elk vorig register worden verbonden met pin 14 van het volgende. En de voeding en ingangen 10, 11, 12 en 13 van alle registers zijn parallel.

Dus je hebt een idee van wat Arduino doet door schuifregisters te besturen.
8.2
10
8

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
1 commentaar
Bij de klokingang was het nodig om een ​​soort anti-bounce shaper te plaatsen.

We raden je aan om te lezen:

Geef het voor de smartphone ...