Chiarimenti su come pilotare tre shift register in cascata
Salve a tutti.
Dovrò realizzare un circuito costituito da tre shift register di tipo 74HC595 disposti in cascata che dovranno a loro volta darmi in uscita i valori di 3 variabili di tipo byte inviate da Arduino.
i tre shift register li chiamo S1, S2, S3 di cui S1 è quello collegato direttamente ad arduino mentre gli altri due sono in cascata a questo.
posto un po di codice di esempio per inviare i valori dei Byte ai register:
ora volevo chiedere:
- quale è la sequenza dei byte all'interno degli shift register (ad esempio in S1 ho il valore di A, S2 = B ...) oppure altro?
- poi prendendo in considerazione il byte A (valore = 00000001) quale pin del 74HC595 relativo mi espone in uscita il valore 1 il pin Q0 [pin 15] oppure pin Q7 [pin 7]?
Grazie a tutti per l'aiuto.
Saluti
Dovrò realizzare un circuito costituito da tre shift register di tipo 74HC595 disposti in cascata che dovranno a loro volta darmi in uscita i valori di 3 variabili di tipo byte inviate da Arduino.
i tre shift register li chiamo S1, S2, S3 di cui S1 è quello collegato direttamente ad arduino mentre gli altri due sono in cascata a questo.
posto un po di codice di esempio per inviare i valori dei Byte ai register:
- Codice: Seleziona tutto
//Pin connected to ST_CP of 74HC595
int pinEN = 23;
//Pin connected to SH_CP of 74HC595
int pinCL = 25;
//Pin connected to DS of 74HC595
int pinDT = 27;
byte A = B00000001;
byte B = B00001100;
byte C = B10101010;
void setup()
{
// put your setup code here, to run once:
pinMode(pinEN, OUTPUT);
pinMode(pinCL, OUTPUT);
pinMode(pinDT, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(pinEN, LOW);
shiftOut(pinDT, pinCL, LSBFIRST, A);
shiftOut(pinDT, pinCL, LSBFIRST, B);
shiftOut(pinDT, pinCL, LSBFIRST, C);
digitalWrite(pinEN, HIGH);
}
ora volevo chiedere:
- quale è la sequenza dei byte all'interno degli shift register (ad esempio in S1 ho il valore di A, S2 = B ...) oppure altro?
- poi prendendo in considerazione il byte A (valore = 00000001) quale pin del 74HC595 relativo mi espone in uscita il valore 1 il pin Q0 [pin 15] oppure pin Q7 [pin 7]?
Grazie a tutti per l'aiuto.
Saluti