|
Ciao, i registri a scorrimento (google -> shift register) sono semplici da capire.
E' una memoria (in questo caso da 1byte, 8bit, detto anche registro) il cui
contenuto può "scivolare" ad ogni impulso di clock. Ha una porta di ingresso
e una di uscita e un metodo per caricare e/o scaricare il contenuto del registro
in maniera parallela.
Dalle porte di ingresso/uscita i bit entrano/escono in maniera seriale, cioè uno
dopo l'altro, uno per ogni impulso del clock.
Il 74HC165: quando il pin 1 viene portato a livello logico 0, copia lo stato dei
pin D0,D1,D2,ecc nel registro interno: se D0 è a 5V allora il primo bit sarà 1 ecc.
Ad ogni impulso di clock sul pin 2 il contenuto del registro scivola di un bit:
il bit 0 va al bit 1 , l'1 va al 2 ecc. Il bit 7 (che era stato caricato dal pin D7)
esce dal pin 9 che è l'uscita seriale. Inoltre il bit 0 assume lo stato del pin 10
che è l'ingresso seriale del registro. E così per ogni impulso di clock.
Quindi per leggere 8 ingressi la sequenza è:
impulso basso sul pin 1, carica lo stato degli ingressi.
8 impulsi di clock sul pin 2, ad ogni impulso lettura del pin 9.
Concatenare due registri: semplice, connetti il pin 9 del primo registro
al pin 10 del secondo registro, il pin 9 del secondo registro al micro.
I pin 1 (load) dei due registri vanno connessi assieme e pilotati dal micro,
idem per i pin 2 (clock).
Sequenza:
impulso basso sui pin 1 di entrambi i registri: carica i 16 ingressi.
16 impulsi di clock sui pin2 dei registri, il pin 9 del secondo registro
caccia i bit uno per uno ad ogni impulso di clock.
Dopo i primi 8 clock, il micro avrà letto lo stato del secondo registro,
mentre lo stato del primo sarà stato spostato dal primo registro
(uscendo dal pin 9) nel secondo (entrando dal pin 10), quindi
gli altri 8 clock leggeranno lo stato del primo registro.
Insomma un casino da spiegare, ma molto semplice da mettere
su. Compra un paio di 74HC165 e giocaci un po'.
Ciao!
__________________
Fabio
|