Jag letar efter ett skiftregister, eller två, jag ska "multiplexa" 16 lysdioder med en pinne. Dvs jag behöver ett register (eller två om de kan seriekopplas) med en seriell ingång och en parallell utgång. 16 bitar (eller två
Eftersom jag bara har en pinne tillgänglig så kan jag inte kosta på mig något register med latch, men det är bara sådana har jag hittat...
Men jag kan inte finna ett "vanligt"... Någon som vet?
Du klarar dig inte med 74HC595?
Jag har en LED-modul som använder sig av fyra såna ihopkopplade. Där har dom kopplat ihop "shift register clock input" och "storage register clock input" så det behövs bara två signaler, data och klocka.
74HC595 behöver en latchsignal och det går inte att lägga pinnen fast hög eller låg.
74HC164 är ett mera naket register men det kommer att synas på dioderna när man skiftar in data (om det inte går väldigt fort)
Det kommer att gå väldigt fort, så det kommer inte att synas på dioderna.
EDIT:
164:an är NÄSTAN vad jag söker, är det ett åttabitarsregister måste jag ha serie ut så jag kan kaskadkoppla dem! Kan man lösa det genom att koppla MSB till serie in på nästa, eller tänker jag fel nu?
Men... ingen som reagerar på "Eftersom jag bara har en pinne tillgänglig"?
Att lägga ut data är inget problem med 1 pinne men ett skiftregister (speciellt ett som ska köra snabbt) måste köras synkront = 2 pinnar! 1 till data och 1 till clock.
Alltså blir det plötsligt 1-wire kommunikation, det går att lösa men ville vara avsevärd enklare att bara ta en större PIC.
Så vad är isåfall skillnaden att använda en HC595 med SH_CP och ST_CP ihopkopplade jämfört med HC164? Jag har märkt att vissa lysdioder blinkar till ibland med vissa sifferkombinationer på dom här modulerna från sureelectronics, kan det bero på att storage-signalen kommer en hel klockcykel efter? ST_CP kanske bör inverteras för att det ska fungera "klockrent"?
Jag har klockan tillgänglig redan, det här är en utökning av en befintlig applikation som redan klockar seriell data IN i min AVR (som det förövrigt är).
Jag har en pinne som driver en status-led, men för att öka tydligheten tänkte jag bryta upp den statusled:en så att den visar en hel databyte i stället. (16 bitar i det här fallet)
E85 skrev:Så vad är isåfall skillnaden att använda en HC595 med SH_CP och ST_CP ihopkopplade jämfört med HC164? Jag har märkt att vissa lysdioder blinkar till ibland med vissa sifferkombinationer på dom här modulerna från sureelectronics, kan det bero på att storage-signalen kommer en hel klockcykel efter? ST_CP kanske bör inverteras för att det ska fungera "klockrent"?
Jodå det fungerar men då behövs en klockpuls till, 9 pulser för 8 bit (och då 17 för 16 bit)
laban12 skrev:Det kommer att gå väldigt fort, så det kommer inte att synas på dioderna.
EDIT:
164:an är NÄSTAN vad jag söker, är det ett åttabitarsregister måste jag ha serie ut så jag kan kaskadkoppla dem! Kan man lösa det genom att koppla MSB till serie in på nästa, eller tänker jag fel nu?
Förlåt för mitt försök att kapa tråden men jag inser inte varför det behövs en puls mer. När klocksignalen går från hög->låg sista gången blir ju latchen låg->hög. När behövs en till?
Jag har ritat ett schema utifrån mina 7-segment-displayer som jag tänkt prova etsa idag så vore fint att få nån ordning på det här innan.
E85: ja NU framgår det att det finns en clock-puls och att det bara behövs en datapinne, den upplysning fanns inte tidigare.
Men då det är en status-visning som ett människa ska se hade jag faktisk nog gjort lite annorlunda (om det inte går att välja en processor med fler pinnar).
Jag hade byggt en 1-wire kommunikation! En stigande flank på pinnen starter en timer (kort tid) och den timer ger en klockpuls till shiftregistret när den har timat ut, samtidig utgör pinnen Data till shiftregistret.
En 0->1->0 blir alltså då en '0' som shiftas in och en 0->1 (vänta kort tid)->0 blir då en '1' som shiftas in.
Orsaken till att jag hade vald detta sätt är att jag alltid undviker att dubbelanvända klockor om inte det finns en tydlig orsak till att göra detta.
Men jag förordar ändå att välja en µC med fler pinnar, att ha shiftregister för att samla in data och göra det samma för att sända ut data nog är ett tydligt tecken på att den valda µC har för få pinnar!
E85 skrev:Förlåt för mitt försök att kapa tråden men jag inser inte varför det behövs en puls mer. När klocksignalen går från hög->låg sista gången blir ju latchen låg->hög. När behövs en till?
Jag har ritat ett schema utifrån mina 7-segment-displayer som jag tänkt prova etsa idag så vore fint att få nån ordning på det här innan.
Det behövs 8 pulser för att få in data i shiftregistret och en till att få det från shift till latchregistret, detta står i klartext i databladet från Texas Instruments HC-databok från 1993 sidan 2-343. 595:an kan jag.
Kopplar man ihop klockorna så blir registret 9 bitar långt där man inte kommer åt den sista.
Protte
Edit nu ser jag att du inverterar klockan och då är shiftningen klar efter 8,5 klockpulser, OK det funkar.
Senast redigerad av prototypen 9 september 2009, 14:45:00, redigerad totalt 1 gång.
Aha, ok. Jag trodde du menade att det behövdes en klockpuls till för att jag inverterat ena signalen. Men det bör väl vara tvärtom då, att jag inte behöver den extra klockpulsen som det är kopplat i schemat?