Si Të Lidhni Regjistrin E Ndërrimit Me Arduino

Përmbajtje:

Si Të Lidhni Regjistrin E Ndërrimit Me Arduino
Si Të Lidhni Regjistrin E Ndërrimit Me Arduino

Video: Si Të Lidhni Regjistrin E Ndërrimit Me Arduino

Video: Si Të Lidhni Regjistrin E Ndërrimit Me Arduino
Video: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Nëntor
Anonim

Në një nga artikujt e mëparshëm, ne tashmë prekëm shkurtimisht përdorimin e një regjistri ndërrimi, në veçanti, 74HC595. Le të shohim nga afër aftësitë dhe procedurën për të punuar me këtë mikrocircuit.

Regjistri i ndërrimit 74HC595
Regjistri i ndërrimit 74HC595

E nevojshme

  • - Arduino;
  • - regjistri i ndërrimit 74HC595;
  • - telat lidhës.

Udhëzimet

Hapi 1

Regjistri i ndërrimit 74HC595 dhe të ngjashme përdoren si pajisje për shndërrimin e të dhënave serike në paralele, dhe gjithashtu mund të përdoren si një "shul" për të dhënat, duke mbajtur gjendjen e transferuar.

Pinout (pinout) tregohet në figurën në të majtë. Qëllimi i tyre është si më poshtë.

Q0… Q7 - rezultatet paralele të të dhënave;

GND - tokë (0 V);

Q7 '- dalja e të dhënave serike;

^ MR - rivendosni masterin (aktiv i ulët);

SHcp - hyrja e orës së regjistrit të ndërrimit;

STcp - hyrja e pulsit të orës "shul";

^ OE - aktivizimi i daljes (aktiv i ulët);

Ds - hyrja e të dhënave serike;

Vcc - furnizimi me energji +5 V.

Strukturisht, mikrocircuit është bërë në disa lloje të çështjeve; Do të përdor atë që tregohet në figurën në të djathtë - daljen - sepse është më e lehtë për t’u përdorur me një tavë buke.

Shfaqja dhe paraqitja e regjistrit të ndërrimit
Shfaqja dhe paraqitja e regjistrit të ndërrimit

Hapi 2

Më lejoni të kujtoj shkurtimisht ndërfaqen serike SPI, të cilën do ta përdorim për të transferuar të dhëna në regjistrin e ndërrimit.

SPI është një ndërfaqe serike dy-drejtuese me katër tela në të cilën marrin pjesë një master dhe një skllav. Mjeshtri në rastin tonë do të jetë Arduino, skllavi do të jetë regjistri 74HC595.

Mjedisi i zhvillimit për Arduino ka një bibliotekë të integruar për të punuar në ndërfaqen SPI. Kur zbatohet, përdoren konkluzionet që janë shënuar në figurë:

SCLK - dalja e orës SPI;

MOSI - të dhëna nga master në skllav;

MISO - të dhëna nga skllavi në master;

SS - zgjedhja e skllavit.

Kunjat standarde të bordit Arduino SPI
Kunjat standarde të bordit Arduino SPI

Hapi 3

Le të bashkojmë qarkun si në foto.

Unë gjithashtu do të lidh një analizues logjik me të gjitha kunjat e mikrocirkut të regjistrit të ndërrimit. Me ndihmën e tij, ne do të shohim se çfarë po ndodh në nivelin fizik, cilat sinjale po shkojnë ku dhe ne do të kuptojmë se çfarë nënkuptojnë ato. Duhet të duket diçka si fotografia.

Diagrami i instalimeve elektrike për regjistrin e ndërrimit 74HC595 në Arduino
Diagrami i instalimeve elektrike për regjistrin e ndërrimit 74HC595 në Arduino

Hapi 4

Le të shkruajmë një skicë si kjo dhe ta ngarkojmë atë në kujtesën Arduino.

Ndryshorja PIN_SPI_SS është një konstante standarde e brendshme që i përgjigjet pinit "10" të Arduino kur përdoret si master i ndërfaqes SPI që po përdorim këtu. Në parim, ne mund të përdorim po aq mirë çdo pin tjetër dixhital në Arduino; atëherë do të na duhej ta deklaronim dhe të vendosnim mënyrën e funksionimit.

Duke e ushqyer këtë kunj LOW, ne aktivizojmë regjistrin tonë të ndërrimit për transmetim / marrje. Pas transmetimit, ne përsëri e ngremë tensionin në HIGH dhe shkëmbimi përfundon.

Një skicë për të demonstruar funksionimin e regjistrit të ndërrimit
Një skicë për të demonstruar funksionimin e regjistrit të ndërrimit

Hapi 5

Le ta kthejmë qarkun tonë në punë dhe të shohim se çfarë na tregon analisti logjik. Pamja e përgjithshme e diagramit të kohës tregohet në figurë.

Vija blu e ndërprerë tregon 4 vija SPI, vija e kuqe e ndërprerë tregon 8 kanale të të dhënave paralele të regjistrit të ndërrimit.

Pika A në shkallën kohore është momenti kur numri "210" transferohet në regjistrin e ndërrimit, B është momenti kur shkruhet numri "0", C është cikli që përsëritet nga fillimi.

Siç mund ta shihni, nga A në B - 10.03 milisekonda, dhe nga B në C - 90.12 milisekonda, pothuajse siç kërkuam në skicë. Një shtesë e vogël në 0, 03 dhe 0, 12 ms është koha për transferimin e të dhënave serike nga Arduino, kështu që këtu nuk kemi saktësisht 10 dhe 90 ms.

Diagrami i kohës së shkëmbimit Arduino dhe regjistri i ndërrimit 74HC595
Diagrami i kohës së shkëmbimit Arduino dhe regjistri i ndërrimit 74HC595

Hapi 6

Le të shohim më nga afër seksionin A.

Në krye është një impuls i gjatë me të cilin Arduino fillon transmetimin në linjën SPI-ENABLE - zgjedhja e skllavit. Në këtë kohë, impulset e orës SPI-CLOCK fillojnë të gjenerohen (linja e dytë nga lart), 8 copë (për transferimin e 1 bajt).

Linja tjetër nga lart është SPI-MOSI - të dhënat që transferojmë nga Arduino në regjistrin e ndërrimit. Ky është numri ynë "210" në binar - "11010010".

Pas përfundimit të transferimit, në fund të impulsit SPI-ENABLE, ne shohim se regjistri i ndërrimit ka vendosur të njëjtën vlerë në 8 këmbët e tij. Unë e kam theksuar këtë me një vijë blu me pika dhe i kam etiketuar vlerat për qartësi.

Vendosja e numrit 210 në një autobus paralel përmes SPI
Vendosja e numrit 210 në një autobus paralel përmes SPI

Hapi 7

Tani le ta kthejmë vëmendjen tonë në seksionin B.

Përsëri, gjithçka fillon me zgjedhjen e një skllavi dhe gjenerimin e 8 impulseve të orës.

Të dhënat në linjën SPI-MOSI janë tani "0". Kjo është, në këtë moment ne shkruajmë numrin "0" në regjistër.

Por derisa transferimi të jetë i plotë, regjistri ruan vlerën "11010010". Outputshtë dalur në kunjat paralele Q0.. Q7, dhe është dalur kur ka impulse të orës në vijë nga dalja paralele Q7 'në vijën SPI-MISO, të cilën ne e shohim këtu.

Vendosja e numrit 0 në një autobus paralel përmes SPI
Vendosja e numrit 0 në një autobus paralel përmes SPI

Hapi 8

Kështu, ne kemi studiuar në detaje çështjen e shkëmbimit të informacionit midis pajisjes kryesore, e cila ishte Arduino, dhe regjistrit të ndërrimit 74HC595. Ne mësuam se si të lidhim një regjistër turni, të shkruajmë të dhëna në të dhe të lexojmë të dhëna prej tij.

Recommended: