Kako Povezati Register Premikov Z Arduino

Kazalo:

Kako Povezati Register Premikov Z Arduino
Kako Povezati Register Premikov Z Arduino

Video: Kako Povezati Register Premikov Z Arduino

Video: Kako Povezati Register Premikov Z Arduino
Video: Подключение Arduino к компьютеру и установка драйвера CH340G 2024, November
Anonim

V enem od prejšnjih člankov smo se že na kratko dotaknili uporabe premičnega registra, zlasti 74HC595. Poglejmo si podrobneje zmogljivosti in postopek za delo s tem mikrovezjem.

Prestavni register 74HC595
Prestavni register 74HC595

Potrebno

  • - Arduino;
  • - prestavni register 74HC595;
  • - priključne žice.

Navodila

Korak 1

Shift register 74HC595 in podobni se uporabljajo kot naprave za pretvorbo zaporednih podatkov v vzporedne in se lahko uporabljajo tudi kot "zapah" za podatke, ki imajo preneseno stanje.

Pinout (pinout) je prikazan na sliki na levi. Njihov namen je naslednji.

Q0… Q7 - vzporedni izhodi podatkov;

GND - tla (0 V);

Q7 '- serijski izhod podatkov;

^ MR - ponastavitev glavne enote (aktivno nizko);

SHcp - vnos ure za pomik registra;

STcp - impulzni vhod ure "zapah";

^ OE - izhodno omogočeno (aktivno nizko);

Ds - serijski vnos podatkov;

Vcc - napajanje +5 V.

Strukturno je mikrovezje narejeno v več vrstah primerov; Uporabil bom tisto, prikazano na sliki na desni - izhod -, ker lažje je uporabljati s ploščo.

Videz in pinout registra prestav
Videz in pinout registra prestav

2. korak

Naj se na kratko spomnim na serijski vmesnik SPI, ki ga bomo uporabili za prenos podatkov v register premikov.

SPI je dvosmerni dvosmerni serijski vmesnik, v katerem sodelujeta glavni in podrejeni. V našem primeru bo poveljnik Arduino, podrejeni bo registriran 74HC595.

Razvojno okolje za Arduino ima vgrajeno knjižnico za delo na vmesniku SPI. Pri njegovi uporabi se uporabijo zaključki, ki so označeni na sliki:

SCLK - izhod ura SPI;

MOSI - podatki od glavnega do suženjskega;

MISO - podatki od podrejenega do glavnega;

SS - izbira sužnja.

Standardni zatiči SPI na plošči Arduino
Standardni zatiči SPI na plošči Arduino

3. korak

Sestavimo vezje kot na sliki.

Na vse nožice mikrovezja pomičnega registra bom priklopil tudi logični analizator. S pomočjo njega bomo videli, kaj se dogaja na fizični ravni, kateri signali kam gredo in ugotovili, kaj pomenijo. Videti mora približno tako, kot je fotografija.

Shema ožičenja za pomični register 74HC595 na Arduino
Shema ožičenja za pomični register 74HC595 na Arduino

4. korak

Napišimo takšno skico in jo naložimo v spomin Arduino.

Spremenljivka PIN_SPI_SS je notranja standardna konstanta, ki ustreza zatiču "10" Arduina, če se uporablja kot glavni vmesnik SPI, ki ga uporabljamo tukaj. Načeloma bi lahko prav tako dobro uporabili kateri koli drugi digitalni pin na Arduinu; potem bi ga morali prijaviti in nastaviti način delovanja.

Če napajamo ta zatič LOW, aktiviramo svoj prestavni register za oddajo / sprejem. Po prenosu spet dvignemo napetost na VISOKO in izmenjava se konča.

Skica za prikaz delovanja menjalnega registra
Skica za prikaz delovanja menjalnega registra

5. korak

Pretvorimo naše vezje v delo in poglejmo, kaj nam kaže logični analizator. Splošni prikaz časovnega diagrama je prikazan na sliki.

Modra črtkana črta prikazuje 4 SPI črte, rdeča črtkana črta 8 kanalov vzporednih podatkov prestavnega registra.

Točka A na časovni lestvici je trenutek, ko se številka "210" prenese v premični register, B je trenutek, ko je zapisana številka "0", C je cikel, ki se ponavlja od začetka.

Kot lahko vidite, od A do B - 10,03 milisekunde in od B do C - 90,12 milisekunde, skoraj tako, kot smo zahtevali na skici. Majhen dodatek v 0, 03 in 0, 12 ms je čas za prenos serijskih podatkov iz Arduina, zato tukaj nimamo natančno 10 in 90 ms.

Časovni diagram Arduino menjalnega in menjalnega registra 74HC595
Časovni diagram Arduino menjalnega in menjalnega registra 74HC595

6. korak

Oglejmo si podrobneje razdelek A.

Na samem vrhu je dolg impulz, s katerim Arduino sproži prenos na liniji SPI-ENABLE - izbira podrejenega. Takrat se začnejo generirati taktni impulzi SPI-CLOCK (druga vrstica od zgoraj), 8 kosov (za prenos 1 bajta).

Naslednja vrstica z vrha je SPI-MOSI - podatki, ki jih prenesemo iz Arduina v register premikov. To je naša številka "210" v binarni obliki - "11010010".

Po zaključku prenosa na koncu impulza SPI-ENABLE vidimo, da je prestavni register določil enako vrednost na svojih 8 krakih. To sem poudaril z modro pikčasto črto in označil vrednosti za jasnost.

Nastavitev številke 210 na vzporednem vodilu prek SPI
Nastavitev številke 210 na vzporednem vodilu prek SPI

7. korak

Zdaj pa se osredotočimo na razdelek B.

Vse se spet začne z izbiro pomožnega in generiranjem 8 urnih impulzov.

Podatki na liniji SPI-MOSI so zdaj "0". To pomeni, da v tem trenutku v register vpišemo številko "0".

Dokler prenos ni končan, register shrani vrednost "11010010". Izhaja na vzporedne nožice Q0.. Q7 in izstopa, ko so v liniji urni impulzi od vzporednega izhoda Q7 'na črto SPI-MISO, kar vidimo tukaj.

Nastavitev številke 0 na vzporednem vodilu prek SPI
Nastavitev številke 0 na vzporednem vodilu prek SPI

8. korak

Tako smo podrobno preučili vprašanje izmenjave informacij med glavno napravo, ki je bila Arduino, in registrskim pomikom 74HC595. Naučili smo se, kako povezati šifrant, zapisovati vanj podatke in brati podatke iz njega.

Priporočena: