El 74HC595 skyfieAangesien dit van sy naam afgelei word, is dit 'n gedrukte stroombaan wat 'n CMOS-stroombaan binne implementeer. Dit is spesifiek 'n skofregister. Vir diegene wat hierdie registers nog nie ken nie, is dit basies 'n opeenvolgende digitale stroombaan, dit wil sê die waardes in die uitvoer hang bloot af van die waardes van die invoer en die vorige waardes wat gestoor is.
Dit onderskei hulle van kombinasies, dat die uitsette slegs afhang van die waarde van die insette. Hierdie register bestaan uit 'n reeks D-tipe flip-flops of flip-flops wat deur 'n kloksein beveel word. Diegene flip flops is herinneringe wat 'n vorige waarde behou. Elkeen stoor 'n bietjie, en uit sy naam kan jy ook aflei dat dit hulle kan skuif. Deur die stukkies van die een kant na die ander te laat loop, kan ons interessante digitale bewerkings doen.
Index
Skuif register tipes
Volgens tipe verplasing wat hulle op die stukkies doen wat hulle stoor, kan die registers van verskillende soorte wees. Hulle is in staat om links of regs te beweeg, soms tweerigting, maar die volgorde is wat die tipe sal bepaal, selfs in ander gevalle word dit ook gekatalogiseer op grond van die in- en uitsette:
- Reeks-Reeks: diegene waarin slegs die eerste flip-flop data ontvang en hulle gaan in serie totdat die volledige register gevul is. Die laaste flip-flop is die een wat direk aan die uitset gekoppel is en waardeur die register verlaat sal word.
- Parallelle reeks: Die stukkies gaan parallel om gelyktydig in al die flip-flops geberg te word, maar dan gaan dit in serie uit. Hulle kan gebruik word om van reeks na parallel om te skakel en andersom.
- Reeks-parallel: soortgelyk aan die vorige, is alle uitsette terselfdertyd toeganklik vanaf alle flip-flops. Maar die gegewens sal slegs deur die eerste in die reeks ingevoer word.
- Parallel-parallel- Data gaan parallel en gaan parallel uit.
Onder die bekendste stroombane het ons die 74HC595, 74HC164, 74HC165, 74HC194, ens. Die 194 is universeel, dit kan ingestel word soos ons wil. Aan die ander kant het ons ander tweerigtings soos 165 en 164, daarom beweeg dit na links of regs, soos gespesifiseer met die rigtingaanwysingsignaal, maar hulle het net een konfigurasie: parallelle insette en seriële uitvoer, en reeksinvoer en parallelle uitset. onderskeidelik.
Waarvoor is 'n skofregister?
Hoekom skuif stukke? Die verskuiwing van databitse kan baie prakties wees. Een rede is dat u die waardes moet skuif vir 'n spesifieke doel. Maar ook om te skuif behels dat u sekere bewerkings op die gestoorde stukkies uitvoer. Om byvoorbeeld 'n stel stukkies na links te skuif, is soos om dit met 2 te vermenigvuldig. As u dit regs skuif, is dit soos om met 2 te deel. Daarom is dit baie prakties om binêre vermenigvuldiging en deling te doen
Dit word ook gebruik om pseudo-ewekansige waardes te genereer, vir opeenvolgende benaderings wat wyd gebruik word in analoog / digitale omsetters, om uit te stel, ens. Die gebruike in logiese digitale stroombane dit is redelik algemeen, dus is dit nie ongewoon om dit in een of ander projek te gebruik nie.
74HC595 Kenmerke
El 74HC595 is 'n redelike eenvoudige IC. Dit is 'n 8-bits skuifregister, dit wil sê, dit het 8 flip-flops om 8 bisse op te slaan. Die uittreksel of penne van hierdie skyfie kan in die prentjie hierbo gesien word, met Vcc en GND vir krag, en dan die wat aangedui word as Q wat die data is. Die res stem ooreen met klok- / beheerseine.
die ingang het dit in serie en uitvoer parallel. Daarom, met 'n enkele inset, kan hierdie 8 uitsette terselfdertyd beheer word. U benodig slegs drie penne van die gebruikte mikrobeheerder (bv. Arduino) om dit aan te dryf. Dit is grendel, klok en data. Die grendel is in hierdie geval pen 13, alhoewel dit kan wissel, moet u die datablad van u vervaardiger raadpleeg. Die klok kan 11 of ander wees, en die databit is 14.
La klokteken dit sal die stroombaan voer om die ritme of ritme waarop dit gaan werk, te bepaal. Die data-uitvoer sal die gedrag van die chip verander. Byvoorbeeld, wanneer u van LAAG na HOOG verander en die nuwe klokimpuls genereer deur die horlosie van HOOG na LAAG te laat gaan, word bereik wat die huidige posisie is waar die verplasing geleë is, die waarde wat deur hierdie datapen ingevoer word. As u dit 8 keer herhaal, het u al 8 posisies opgeneem en een byte gestoor (Q0-Q7).
Gebruik dit saam met Arduino
Om dit duideliker te maak, miskien 'n voorbeeld met Arduino Dit verduidelik u op 'n meer intuïtiewe en grafiese manier as om teoretiese data te begin. U kan byvoorbeeld 'n eenvoudige stroombaan met Arduino en 'n 74HC595-skofregister skep om met 'n paar ligte of LED's te speel. 'N Ander beter en eenvoudiger opsie is om 'n 7-segment skerm te gebruik om die waardes uit die register te lees.
Die diagram is die een wat u in die vorige afbeelding kan sien, sodra die Arduino op die manier verbind is met die 74HC595 en die vertoning, Dit bly net om dit met die Arduino IDE te programmeer en ons sal die moontlikhede van die skofregister sien. Die kode sou die volgende wees, met 'n reeks binêre kodes 0bxxxxxxxx, waar x bisse:
const int latchPin = 8; // Pin conectado al Pin 12 del 74HC595 (Latch) const int dataPin = 9; // Pin conectado al Pin 14 del 74HC595 (Data) const int clockPin = 10; // Pin conectado al Pin 11 del 74HC595 (Clock) int i =0; const byte numeros[16] = { 0b11111100, 0b01100000, 0b11011010, 0b11110010, 0b01100110, 0b10110110, 0b10111110, 0b11100000, 0b11111110, 0b11100110, 0b11101110, 0b00111110, 0b10011100, 0b01111010, 0b10011110, 0b10001110 }; void setup() { Serial.begin(9600); pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); } void loop() { for (i=0;i<16;i++) { delay(1000); digitalWrite(latchPin, LOW); shiftOut(dataPin, clockPin, LSBFIRST, numeros[i]); digitalWrite(latchPin, HIGH); } }
Heet
In die mark sal u vind verskillende 74HC595-skyfies van verskillende vervaardigers. Een daarvan is die mitiese Texas Instruments of Ti, maar hoe dit ook al sy, elke vervaardiger moet u die datablad aanbied om af te laai vanaf die amptelike webwerf. U kan ook ander vind soos die in ON Halfgeleier, Vonkfunksie, STMicroelectronics, NXP, ens.
Wees die eerste om te kommentaar lewer