Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Registro a scorrimento
Sistema discreto. Con memoria in cui il dato scorre da sinistra verso destra comandato da un impulso di clock
2
Registro a scorrimento (shift register)
Serial In Serial Out (SISO) a 4 bit In Ck Out D Q Ck In t Out
4
programma Per simulare il registro di 8 bit uso un vettore di 8 elementi Il vettore è inizializzato a 0 int r[8]={0,0,0,0,0,0,0,0};
5
Ingresso e clock Si preme il pulsante 1 per scrivere 1
il pulsante 2 per il clock 2 Input dato clock
6
Supponiamo di aver inserito un 1 questo deve accendere il primo led
clock Supponiamo di aver inserito un 1 questo deve accendere il primo led
7
E poi ad ogni colpo di clock scorre in alto
8
E poi ad ogni colpo di clock scorre in alto
9
E poi ad ogni colpo di clock scorre in alto
10
5° clock E poi ad ogni colpo di clock scorre in alto e se si inserisce un altro 1 questo entrerà dal primo
11
Fase di lettura in ingresso
int dato=0; // aspetto finchè non premo il clock (canale 2 in input) do{ if (ReadDigitalChannel(1)) dato=1; } while(!ReadDigitalChannel(2)); Notare il not !
12
Fase di scorrimento // fase di scorrimento for(int i=7;i>0;i--)
r[i]=r[i-1]; r[0]=dato; 4° 2° 1° 7° 6° 5° 3° dato 8° r[0] r[1] r[2] r[3] r[4] r[5] r[6] r[7]
13
Conversione e accensione led
// conversione da binario in decimale int val=r[0]*1+r[1]*2+r[2]*4+r[3]*8+r[4]*16+r[5]*32+r[6]*64+r[7]*128; // un po' di effetti scenografici!! for(int i=1;i<5;i++) {WriteAllDigital(0); Sleep(100*i); WriteAllDigital(val); }
14
Proposta aggiungere un pulsante 3 di reset che liberi la memoria in qualsiasi fase
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.