Hogyan Lehet összekapcsolni A Shift Regisztert Az Arduinóval

Tartalomjegyzék:

Hogyan Lehet összekapcsolni A Shift Regisztert Az Arduinóval
Hogyan Lehet összekapcsolni A Shift Regisztert Az Arduinóval

Videó: Hogyan Lehet összekapcsolni A Shift Regisztert Az Arduinóval

Videó: Hogyan Lehet összekapcsolni A Shift Regisztert Az Arduinóval
Videó: Kijelölés a CTRL és SHIFT billentyűkkel - napiinfopercek | 007 2024, November
Anonim

Az egyik korábbi cikkben már röviden kitértünk a műszakregiszter használatára, különös tekintettel a 74HC595-re. Vizsgáljuk meg közelebbről a mikrokapcsolat használatának lehetőségeit és eljárását.

Váltási regisztráció 74HC595
Váltási regisztráció 74HC595

Szükséges

  • - Arduino;
  • - műszakregiszter 74HC595;
  • - összekötő vezetékek.

Utasítás

1. lépés

A 74HC595 váltóregisztert és hasonlókat eszközként használják a soros adatok párhuzamos konvertálásához, és az adatok "reteszeként" is használhatók, az átadott állapotot tartva.

A kihúzás (kitűzés) a bal oldali ábrán látható. Céljuk a következő.

Q0… Q7 - párhuzamos adatkimenetek;

GND - test (0 V);

Q7 '- soros adatkimenet;

^ MR - master visszaállítása (aktív alacsony);

SHcp - shift regiszter óra bemenet;

STcp - "reteszelt" óra impulzus bemenet;

^ OE - kimenet engedélyezése (aktív alacsony);

Ds - soros adatbevitel;

Vcc - tápegység +5 V.

Szerkezetileg a mikrokapcsolás többféle esetben készül; A jobb oldali ábrán láthatóat - a kimenetet - azért fogom használni, mert könnyebb kenyérdeszkával használni.

Shift regiszter megjelenése és kitűzése
Shift regiszter megjelenése és kitűzése

2. lépés

Hadd idézzem fel röviden az SPI soros interfészt, amelyet az adatok átvitelére fogunk használni a shift regiszterbe.

Az SPI egy négyvezetékes, kétirányú soros interfész, amelyben egy master és egy slave vesz részt. A mester esetünkben az Arduino lesz, a rabszolga a 74HC595 regiszter lesz.

Az Arduino fejlesztői környezete rendelkezik egy beépített könyvtárral az SPI felületen való munkához. Alkalmazásakor az ábrán megjelölt következtetéseket használjuk:

SCLK - SPI órajel kimenet;

MOSI - adatok a mestertől a rabszolgáig;

MISO - adatok a rabszolgától a masterig;

SS - szolga kiválasztása.

Arduino tábla szabványos SPI csapok
Arduino tábla szabványos SPI csapok

3. lépés

Állítsuk össze az áramkört, mint a képen.

Csatlakoztatok egy logikai analizátort a shift regiszteres mikrokapcsoló minden érintkezőjéhez. Segítségével meglátjuk, hogy mi történik fizikai szinten, milyen jelek merre mennek, és kitaláljuk, mit jelentenek. Valami olyannak kell kinéznie, mint a fénykép.

A 74HC595 váltóregiszter Arduino kapcsolási kapcsolata
A 74HC595 váltóregiszter Arduino kapcsolási kapcsolata

4. lépés

Írjunk egy ilyen vázlatot, és töltsük be az Arduino memóriába.

A PIN_SPI_SS változó egy belső standard konstans, amely megfelel az Arduino "10" tűjének, amikor az itt használt SPI interfész mestereként használjuk. Elvileg ugyanolyan jól használhatnánk bármilyen más digitális tűt az Arduino-n; akkor deklarálnunk kellene és beállítanunk az üzemmódját.

Ennek a tűnek a LOW adagolásával aktiváljuk a váltási regiszterünket az adáshoz / fogadáshoz. Az átvitel után ismét HIGH-ra emeljük a feszültséget, és a csere véget ér.

Vázlat a műszakregiszter működésének bemutatására
Vázlat a műszakregiszter működésének bemutatására

5. lépés

Változtassuk áramkörünket munkává, és nézzük meg, mit mutat nekünk a logikai elemző. Az időzítési diagram általános nézete az ábrán látható.

A kék szaggatott vonal 4 SPI vonalat, a piros szaggatott vonal a shift regiszter párhuzamos adatainak 8 csatornáját mutatja.

Az időskála A pontja az a pillanat, amikor a "210" számot átviszik a váltási regiszterbe, B az a pillanat, amikor a "0" számot beírják, C az elejétől megismétlődő ciklus.

Amint láthatja, A-tól B-ig - 10,03 ezredmásodperc, és B-től C-ig - 90,12 ezredmásodperc, majdnem úgy, ahogy a vázlatban kértük. Egy kis kiegészítés 0, 03 és 0, 12 ms alatt a soros adatok átvitelének ideje az Arduino-ból, tehát itt nincs pontosan 10 és 90 ms.

Az Arduino csere- és váltóregiszter 74HC595 időzítési diagramja
Az Arduino csere- és váltóregiszter 74HC595 időzítési diagramja

6. lépés

Vizsgáljuk meg közelebbről az A szakaszt.

A legtetején egy hosszú impulzus található, amellyel az Arduino megkezdi az adást az SPI-ENABLE vonalon - a szolga kiválasztása. Ekkor SPI-CLOCK óraimpulzusok kezdenek keletkezni (felülről a második sor), 8 darab (1 bájt átvitelére).

A következő sor felülről az SPI-MOSI - az adatok, amelyeket átadunk az Arduino-ból a shift regiszterbe. Ez a szám a "210" bináris formában - "11010010".

Az átvitel befejezése után, az SPI-ENABLE impulzus végén azt látjuk, hogy a shift regiszter ugyanazt az értéket állította be a 8 lábán. Ezt kék pontozott vonallal emeltem ki, és az érthetőség érdekében felcímkéztem az értékeket.

A 210-es szám beállítása párhuzamos buszon az SPI segítségével
A 210-es szám beállítása párhuzamos buszon az SPI segítségével

7. lépés

Most fordítsuk figyelmünket a B szakaszra.

Ismét minden azzal kezdődik, hogy kiválasztunk egy rabszolgát és 8 óra impulzust generálunk.

Az SPI-MOSI vonal adatai most "0". Vagyis ebben a pillanatban beírjuk a "0" számot a regiszterbe.

De amíg az átvitel nem fejeződik be, a regiszter tárolja az "11010010" értéket. Kimenet a Q0.. Q7 párhuzamos csapokhoz, és akkor kerül kimenetre, ha a Q7 'párhuzamos kimenet és az SPI-MISO vonal között az impulzusok impulzusok vannak.

A 0 szám beállítása párhuzamos buszon az SPI segítségével
A 0 szám beállítása párhuzamos buszon az SPI segítségével

8. lépés

Így részletesen megvizsgáltuk a mester eszköz, amely az Arduino volt, és a 74HC595 váltóregiszter közötti információcsere kérdését. Megtanultuk a műszakregiszter összekapcsolását, az adatok beírását és az adatok kiolvasását.

Ajánlott: