problema con 74hc164

Salve a tutti,

ho costruito una scheda per il controllo di alcuni con un pic e uno shift register sipo 74hc164.

Funziona tutto ma non capisco per quale motivo ad ogni messaggio seriale che invio allo shift register tutte le uscite parallele si attivano per un attimo.

Se per esempio il pic invia il messaggio %00100001 allo shift register, che dovrebbe attivare la terza e l'ottava uscita parallela, questo succede ma si passa per un istante nella situazione %11111111. Un breve impulso che rende inutilizzabile la mia applicazione.

Che so, magari è un problema comune che si risolve con un piccolo accorgimento. E' la prima volta che utilizzo uno shift register...

il pin reset e a2 (uno dei due pin per la trasmissione seriale dei dati) sono collegati a vcc. Controllo quindi tutto con il clock e il pin a1.

se vi può essere d'aiuto riporto la routine del programma che si occupa della comunicazione con lo shift register in basic così è più facile per tutti:

sdata è il pin collegato ad a1 var_out è la stringa di otto bit sclk è il pin che gestisce il clock

shiftout_LSBFirst: for counter = 1 to bits ' numero di bits mask = var_out & 1 ' mascherina LSB low sdata ' data low if mask = 0 then skipLSB high sdata ' data high skipLSB: pulsout sclk,1 ' impulsi di clock di 10us var_out = var_out / 2 next counter return

grazie a tutti, ciao, d.

Reply to
elettronegravitante
Loading thread data ...

che

he

si

de

e per

dunque, se usi un micro della famiglia pic, bisognerebbe che tu postassi tutto il prog in assembler cos=EC possiamo controllare meglio. ti spiego, all'inizio del prog, se il processore non =E8 settato bene pu=F2 sbagliare o il compilatore a compilare (e di conseguenza il pic ad eseguire) o il pic a eseguire (nonostante sia stato compilato bene). magari mi sono spiegato male, ma siamo qui per risolvere no? :) ps: posta anche il tipo di pic, cos=EC possiamo guardare il data sheet del pic in questione. ps2: hai provato con un altro pic? ci sta che sia difettoso... ps3(ora la finisco): l'alimentazione =E8 ben filtrata e stabilizzata? ho visto fare giochini strani ai pic quando alimentati male. e hai messo i condensatori multistrato ai due pin del quarzo verso massa?

ciao

Reply to
Linux

Ciao Se usi un PIC, non dovrebbe essere difficile inviare, prima della trasmissione degli 8 bit,un segnale che metta zero tutte le uscite dello shift.

Ciao Giorgio

--
non sono ancora SANto per e-mail
Reply to
giorgiomontaguti

Ho provato con diversi pic. Un pic micro16f88 e, ultimamente, un picaxe (sempre lo stesso pic ma con un firmware bootstrap che mi permette di riprogrammarlo con facilità).

Ci ho provato (cioè, mando un segnale seriale %00000000) ma non cambia niente.

Fatemi capire...mi sembra di aver capito che in realtà è normale il fatto che per ogni messaggio inviato io veda apparire lo scorrere dei bit fino alla composizione della parola sia una cosa normale con quel tipo di shift register? E' così?

Mi sembra anche di aver capito che per evitare ciò dovrei usare un tipo di shift register che ha un buffer interno che si comanda attraverso un segnale latch. E' così? A questo punto, qualcuno conosce uno shift-register di quel tipo compatibile con l'ordine dei pin del 74hc164 in modo che io non debba rifare il circuito?

Ciao e GRAZIE a tutti, daniele

Reply to
elettronegravitante

74HC595 Che t'ha suggerito SB su it.hobby.elettronica.digitale :) Pronto? Pronto? c'è nessuno in casa?

Bo il '164 lo usava molto un mio amico e diceva che era bellissimo, forse sbagli qualcosa nel fw, forse.

ciao coals

Reply to
coals

si, appunto, ma non è compatibile con il 164. Secondo lui non ne esistono shiftregister col buffer compatibili col 164. Mi sa che devo tirare fuori di nuovo il cloruro ferrico :(

ciao, d.

Reply to
elettronegravitante

Senti ma l'altro ingresso l'hai forzato alto?

Boh, non deve lavorare in quel modo c'è qualcosa che non va. Hai ricontrollato il diagramma di flusso e se tu lo esegui bene?

coals

Reply to
coals

Si, è collegato direttamente a vcc, regolata a 5V e con un condensatore di

0.1uF tra l'uscita del 7805 e la massa. Anche il reset è collegato direttamente a vcc.
Reply to
elettronegravitante

prova a cambiare ancora pic... col 16F84 o col 16F84a non ci dovrebbero essere questi problemi. anche se comunque rimane che un pic non dovrebbe avere questi problemi

Reply to
Linux

Ciao Intendevo di inviare sul pin Clear(9) l'opportuno segnale che dovrebbe portare tutte le uscire a zero,prima di inviare il byte seriale.

Giorgio

--
non sono ancora SANto per e-mail
Reply to
giorgiomontaguti

coals ha scritto:

C'e' anche il 4094 CMOS

Reply to
Giuss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.