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.