595-nyilvántartás szükséges, mindenhol és minden széljegyzetek a

Alkalmazás shift regiszter 74HC595 vagy hogyan kell kezelni egyszerre használva csak 3 láb MC.

595. - egy darab széles körben használják, ha nincs kimeneti portok a mikrokontroller. Kezeléséhez a nyilvántartás legalább két kimeneti vezérlő van szükség (és előnyösen három), és a kimeneti elméletileg annyi (I már maximum 48), a további lesz szó.

A legvégén fogom leírni a tapasztalat az interferencia elleni védelmet, például amikor az egység nyilvántartások csatlakozik a hurok, és mivel a CMOS-bemenet, nem a régi dobryy- „meleg” a TTL, akkor az áram szinte nulla. És nem is rossz az ilyen kapcsolatokat, és olyan helyzetben, amikor az összekötő hurok váratlanul sgryzli grizzly és kikötők szabályozott nukleáris arzenál.

Nos, amíg a halom levelet, amit parancsokat Atmel vezérlők (ATMEGA, ATTINY) kényelmes dolgozni a port programozása közben a C (minden bit szereplők, ravasz #define jobb olvashatóságát a kódot, és így tovább.). Olyan, mint egy útmutató nagyon kezdők. Ahelyett, hogy a kezdő jobb rögtön a második bejegyzést a zaj ...

Először, hogy a műszak regisztrálni?

Ahogy a neve is mutatja, ez valami valahol eltolódik. Az ilyen nyilvántartás, két fő bejárata:

  • adatbevitel (Data soros input)
  • impulzus bemenet * műszak (Shift óra)

* „Pulse” (vagy „kapu”), egy egymást követő változást a bemeneti értékek a „0” és „1”, és vissza a „0”, vagy fordított verziót „1” „0”, és vissza „1”. Az átmenet a „0” és „1” nevezik a vezető él, éppen ellenkezőleg - a hátsó. 74HC595 van kapcsolva a felfutó él, azaz idején az átmenet a „0” és „1”.

Strobe kezdeményezi shift „újraírás” kimeneti értékeket a következő eredményt kapjuk: 1-től a 2., 2-től a 3., ..., 7> 8, ami elveszett 8. Kiderült elmozdulást az első kimenő irányába az utóbbi. Ezzel egyidejűleg az első kibocsátást elszámolják, amit már az adatbevitelt.

Például: a kimenetek kezdetben nullák (00000000),

Ezután, a Data benyújtott 1, majd tett egy 3-án a kapu Shift óra.

Ennek eredményeként, megkapjuk a kimeneten: 11100000 (azaz, 3-szor mind jobbra tolódott, és beírási adatokat 1 az első hozam).

Aztán fel a bejárati Adat 0 és küldött egy másik kapuhoz

Hozam: 01110000 (bejárt 3 egységgel jobbra, és az első számjegy 0 van írva Data)

Végül az adatok 0 és bal tett további öt kapuk (5 jobbra tolódik):

Hozam: 00000011 (eltolódott annyira, hogy már az első rögzített egységet ugrott 8 rang és ment)

Egymás után tesszük ki a kívánt értékeket az adatbevitel és a műszakok nyerhető bármilyen kombinációja regiszter kimenet, azaz átalakítani soros kommunikáció párhuzamosan. Abban 74HC595 kimenetek 8, kiderül, hogy a kimenet a 2 vezérlő képes „híg” a 8 működtető. És ha az utolsó regiszter kimenet rántás bejárat adatok másik nyilvántartásba és zaparallelit a Shift órát Shift először az órát, akkor az „elszabadult 8 számjegy” lesz az első a következő regiszterbe, és mi lesz, nem 8 és 16 bit, vezetés még mindig két lábbal vezérlő (bitmélység növekedés dop.registrami továbbra is hozam 24, 32, stb).

Bit kódolás.

A legegyszerűbb példa (jelzésére alkalmas, és a lassú kapcsoló-típusú eszközök).

Szekvenciálisan kimenetek minden bit a port vezérlő, amely össze van kötve adatbevitel és húzza vissza a kikötőbe, ahol a bemenet Shift regiszter.

Általában egy ilyen kódot, hogy rendkívül ijesztő (és mellesleg nem ellenőrizték, mivel nem én írtam), akkor jobb, ha meg több #define:

* Akkor megy előre, és beágyazott #define lenne megszabadulni a közvetlen PORT B. DDR B. P B ..., de én nem annyira univerzális könyvtárak, bármi is volt kritikus.

Elérkeztünk az áramkör tervezése és árnyalatokat.

Mivel az áldozat választhat ATtiny13, ami nagyban sértette az isten lábát, de elnyerte a rendkívül alacsony áron. On Reset és MR bevezetések ne felejtsük el, hogy lógni húzódzkodás, vagy kaphat egy örök nulla és hosszú megérteni, hogy miért-, mint mindig :) 8.

1. lehetőség (a legegyszerűbb) - Control 7 szegmens mutató ATTINY13 a 2. vezetékek:

595-nyilvántartás szükséges, mindenhol és minden széljegyzetek a
Itt az ideje beszélni egy másik fontos input 595 th - a retesz Clock (a ST_CP rendszer), hogy „bekattan” információ kimenettel.

595-edik rendszer készül, hogy a kimeneteket léptető regiszter (virtuális 1..8) és kimenetek sobsno chip (QA-Qh) rejtett, és egy párhuzamos nyilvántartást. Ez azt jelenti, hogy tud írni, és mozgassa, ahogy tetszik, de az állam a fizikai kimenet (QA-Qh) csak akkor változik a megjelenése a kapu a bemeneti retesz Clock (bevezetés a párhuzamos nyilvántartás). Ez egyszerűen csatlakoztatható Slock Shift és továbbra is vezetni a 2. sor, hogy itt és látható.

A kikötés az, hogy a sebességváltó és a (SH_CP vagy Shift Clock), és a „harapós” kimenet (ST_CP vagy retesz Slock) készülnek a felfutó él stroboszkóp. Kiderült, hogy a kimenetek becsukott állapotban regisztráljon, hogy a kínálat nyírás óta A jelenlegi nem volt ideje, hogy a zárat.

Ha mérnökök tették az egyik bemenet a „hátulsó él” az élet sokkal egyszerűbb lenne, valamint hogy elkerüljék a probléma a kódot kell regisztrálni egy további kapu visszavonását követően a ciklus (vastagon szedve):

És végül, ami a nem használható funkció retesz Óra a célra. Hozzuk napvilágra minden shift regiszter, nem csak az utolsó „rendes állapotát a kimeneteket.” És mielőtt kigyullad a megfelelő szegmens csatlakozik Q6, látjuk a „light” sorozat fog futni az összes többi szegmens, eszik, de amikor az órajel 9.6MGts meg fog történni nagyon gyorsan, de lehet észrevehető.

És persze, nem lehet tenni, ha nem vagyunk a kimenet az egyszerű LED, és még valami okos és gyors, mint a kis képernyő LCD-vezérlő. És így:

2. lehetőség (3 sor):

595-nyilvántartás szükséges, mindenhol és minden széljegyzetek a
Itt sem köztes kimenet a kijelző nem fordul elő, míg a hajó lendület PB2 vonal - ST_CP (retesz Slock). Most a megfelelő kódot, egy kicsit másképp (ez a lehetőség, vagy azzal egyenértékű szerelő Én használ most):

Ugyanez a lehetőség, de a két kimenete statikus kijelző.

595-nyilvántartás szükséges, mindenhol és minden széljegyzetek a

Akkor itt az ideje, hogy beszéljünk egy kicsit a lépcsőzetes több nyilvántartással. Magától értetődik, hogy a jelnek a DS egymás végigfut az összes kimenetet a nyilvántartás, de a nyilvántartás kimeneti állapot jelzések csak retesz Óra (ST_CP), de vannak „titkos” láb Q7 „- ami abból közvetlenül a nyilvántartásból, azaz megkerülve a reteszt (ill. nem függ retesz Clock). Beletelt 8 kapu Shift Clock, hogy az állami DS Q7”, függetlenül attól, hogy mi hagytuk kimenet a Q0-Q7. Ie Az adatok (DS) minden a következő nyilvántartást kell csatlakoztatni Q7 „korábbi és ezáltal nőni fog kicsit. Ebben a rendszerben az első bájt elküldve megjelenik az alsó kijelzőn, és a második byte a tetején.

A kód áramkör kicsit más stílus, mint Én kirángatta a régi projekt segítségével a 7-szegmenses kijelző. Ő egy kis hiba - munkája aligha tekinthető egy oszcilloszkóp, mert Az előző verzió kényelmes akasztani a csökkenés PCLatch szinkronizálás, és figyeljük, ahol az átvitel, majd Latch halad, amikor ez volt az egész. Jól és kimeneti bájt egy kicsit a MSB (bal shift) optimálisan végrehajtani összeszerelés, majd keresztül Jr. (jobbra shift), mert C, mint „természetes”. De mindez rájöttem sokkal később adott projekt :) De ezt a kódot világosabb és teljesebb gyakorlati értelemben:

Mindenesetre, egy kicsit a C szintaxis használatos:

gyors- adatok = 2; egyenértékű adat = adatok 2;

Széles körben használják az üzemeltető működik bit:

Kapcsolódó cikkek