Guevara Postat Decembrie 26, 2011 Partajează Postat Decembrie 26, 2011 In primul rand doresc sa multumesc anticipat pentru raspunsurile pe care le voi primii.Problema mea se prezinta in felul urmator:Mi-am confectionat o matrice cu 8x8 leduri pe care vreau sa o "colorez" cu ajutorul unui pic 16f648a.Ideea de conectare este astfel:pic -> tranzistoare npn -> linii matrice -> tranzistoare PNP -> shift register 74hc595.Pentru linii m-am hotarat sa folosesc portul B iar pentru coloane un registru serial in parallel out. Cum toata lumea vorbea de 74hc 595 m-am decis si eu sa il folosesc. Mentionez ca este pentru prima data cand lucrez cu astfel de registrii. Functionarea ar fi astfel. Registrului ii trebuie un semnal de ceas iar dupa ce au fost aplicate 8 impulsuri pe "serial data in" pe palierul inalt al semnalului de ceas afiseaza din registru cele 8 impulsuri aplicate nu inainte de a aplica un impuls pozitiv pe pinul 12.Intrebarea mea este cum as putea sa sincronizez picul cu registrul iar la fiecare al optalea impuls sa am un impuls pozitiv?Pot folosii oscilatorul intern sau este nevoie de unul exterior si daca da ce valoare ar trebui sa aiba?Personal m-am gandit sa generez semnalul de ceas cu un 555 impulsul pozitiv cu un numarator octal gen 4022 dar chiar si asa am o problema cu sincronizarea PIC-ului.Pentru programare utilizez o clona PICkit 2 si PIC IDE SIMULATOR.Multumesc frumos pentru raspunsuri Link spre comentariu
10vid Postat Decembrie 26, 2011 Partajează Postat Decembrie 26, 2011 N-ai nevoie sa legi decat doua linii de la PIC spre registru: CLOCK si DATA. Cele doua intrari CLOCK ale registrului se leaga impreuna. Intrarea _OE se leaga la GND. Asta inseamna ca iesirile registrului vor fi tot timpul active, chiar si atunci cand se "impinge" un nou bit inauntru, perioada pe timpul careia ar fi bine sa se opreasca portul B, pentru a nu se vedea urat.Cred ca mai adecvat ar fi un decade counter 74HC4017, care plimba un bit 10 pozitii (se poate lega iesirea Q8 la reset, pentru a plimba doar 8 pozitii). Cu 595 trebuie sa ai grija la bitii ce-i shiftezi, dupa fiecare 7 biti de 0 trebuie shiftat un bit 1. Link spre comentariu
alex_hobeanu Postat Decembrie 26, 2011 Partajează Postat Decembrie 26, 2011 Parerea mea este ca te complici cu HC595. Exista pe net ( nu mai stiu pe unde ) un proiect cu 16F84 si doua LS374 (HC374), unul fiind driverul pentru linii si celalalt pentru coloane. Stiu ca se atragea atentia ca este bine sa se foloseasca LS si nu HC deoarece LS-urile ar suporta curent mai mare pe iesiri (practic fiecare iesire are sarcina intre 1 si 8 leduri. Eu l-am realizat cu LS-uri si am fost multumit.HC595 merita numai daca nu ai la dispozitie suficienti pini, de exemplu in cazul unui 12F675 unde ai doar 5 pini ce pot fi folositi ca iesiri. La 16F648 ai portul B complet pe care il poti folosi ca iesire paralela de date si iti mai trebuie inca 2 pini pentru fiecare 374 (memorare). Link spre comentariu
Traxxx Postat Decembrie 27, 2011 Partajează Postat Decembrie 27, 2011 Salut, uite ceva asemanator...am vrut si eu sa fac dar nu am inteles cum sa fac cu scrisul... http://josepino.com/microcontroller/matrix_display Link spre comentariu
Guevara Postat Decembrie 28, 2011 Autor Partajează Postat Decembrie 28, 2011 Multumesc tututror!Deci sa inteleg ca semnalul de ceas (clock-ul) se culege de la pinul 16 (clkout) sincronizarea intre date si clock facandu-se automat? Link spre comentariu
alex_hobeanu Postat Decembrie 29, 2011 Partajează Postat Decembrie 29, 2011 In schema respectiva da. HC164 este un registru de deplasare simplu, datele incarcate serial apar imediat pe iesirile paralele fata de HC595 care mai are un rand de bistabili cu incarcare paralela. In cazul tau cel mai simplu este sa folosesti CD4017 daca nu ai nevoie decat de 8 iesiri asa cum ti-a recomandat si 10vid. Schema cu HC164 este utila atunci cand ai nevoie de multe iesiri pentru ca HC164 se pot cascada direct pe cand CD4017 necesita si alte circuite. Functionarea schemei cu HC164 este urmatoarea: se aplica 1 logic pe intrarea de date (pinii 1 si 2) si se aplica un puls pe clock (pinul 8). Apoi intrarea de date este tinuta in 0 si fiecare puls aplicat pe clock muta bitul catre dreapta. Dupa ce ai ajuns la ultima linie (linia 8 in cazul tau) trebuie sa o iei de la capat. Link spre comentariu
Vizitator stefan5 Postat Ianuarie 1, 2012 Partajează Postat Ianuarie 1, 2012 N-ai nevoie sa legi decat doua linii de la PIC spre registru: CLOCK si DATA.Si SRCLK unde vine legat? Sau se foloseste cand trebuie legate mai multe IC-uri in cascada? Link spre comentariu
MatyC Postat Ianuarie 2, 2012 Partajează Postat Ianuarie 2, 2012 SRCLK sau CLK tot una este. Sunt moduri diferite de a nota acelasi semnal. SERIAL CLOCK= SRCLCK!! Link spre comentariu
Vizitator stefan5 Postat Ianuarie 2, 2012 Partajează Postat Ianuarie 2, 2012 Imi cer scuze am gresit pinul...e vorba de latch ca in desenul de jos https://labitat.dk/w/images/7/74/Circ-0 ... 5-dual.png Link spre comentariu
alex_hobeanu Postat Ianuarie 3, 2012 Partajează Postat Ianuarie 3, 2012 595 are doua intrari de ceas, pinul 11 care este Shift Register Clock si pinul 12 Storage Register Clock. Intrarea seriala de date este pinul 14. Notarea este diferita in functie de producator, la Philips pinul 11 este SHcp iar 12 este STcp. Latch este comanda de memorare adica pinul 12. In schema postata de tine data este pinul 14, clock este pinul 11 si latch este 12. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum