Sari la conținut
ELFORUM - Forumul electronistilor

pic 16f648 matrice leduri


Guevara

Postări Recomandate

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
  • Răspunsuri 9
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • alex_hobeanu

    3

  • Guevara

    2

  • Traxxx

    1

  • 10vid

    1

Top autori în acest subiect

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

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

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

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

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

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări