4511 Non riesco a resettare

byte values[]={
  B0000001,
  B0000010,
  B0000010,
  B0000100,
  B0001000,
  B0010000,
  B0100000,
  B1000000,
 };
 
//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;
 
void setup(){
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}
 
void loop(){
    for(int i=0;i<10;i++){
      
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, values[i]);
    digitalWrite(latchPin, HIGH); 
    delay(5000);
  }
}

Nel mio post stavo predisponendo un sinottico a sette display comandati da sette Decoder bcd 4511, con gli ingressi A B C D in comune e gli, BI, e LT idem. Mentre gli EL sono separati. Ho provato con il codice allegato ma tutti i display rimangono abilitati. O meglio se io “MANUALMENTE” (non mettiamo per il momento integrati ed Arduino in mezzo) sposto uno o più EL da massa a VCC, avviene la disabilitazione e viceversa, MA...Rimangono in memoria i display accesi e se voglio cambiarli devo RESETTARE MANUALMENTE, togliendo e rimettendo tensione. Ora come posso fare un operazione di RESET nella maniera più pulita possibile?. Posto descrizione 4511 e mio codice con 74595 per le abilitazioni degli EL.

DESCRIZIONE
Il HEF4511B è un BCD a 7 segmenti
latch / decoder / driver con quattro ingressi di indirizzo ( DA ) a DD ,
un latch LOW attiva l'ingresso di abilitazione ( EL ) , un livello basso attivo
ripple di ingresso tranciatura ( BI ) , un ingresso di test LOW lampada attiva
( LT ) , e sette HIGH n - p - n transistore bipolare attiva
uscite segmento ( Oa a Og ) Quando EL è BASSO , lo stato delle uscite segmento ( Oa a
Og ) è determinato dai dati sul DA a DD .
Quando EL va ALTO , gli ultimi dati presenti su DA per
DD sono memorizzati i fermi e le uscite segmento
Resta stabile. Quando LT è , tutte le uscite LOW segmento
sono alte indipendente da tutte le altre condizioni di ingresso . Con
LT ALTO , un basso sulla BI costringe tutte le uscite segmento low .
Gli ingressi LT e BI non influenzano il circuito latch .

Sul 4511, quando LT e' ad 1, mettendo BL a zero dovrebbe spegnerti il display corrispondente ... i latch interni NON hanno un pin di reset accessibile, quindi se li multiplexi, ti tocca usare il BL per spegnere quelli che non vuoi visualizzare, oppure dare 0000 sugli ingressi e l'impulso di latch per azzerarli ...

Cioè con questa routine?

BI spegne tutto e mi serve a non vedere mentre aggiorno.
EL abilita singolarmente i registri.
Quindi in sequenza:

  1. mettere al buio il display con BI
    2)aggiornare uno per volta i registri, (EL1-EL2-EL3-EL4-EL5-EL6-)
    3)Rilasciare BI?

Oppure pilotando i vari BL in multiplexing ... tipo ...

BL tutti a 0 ... mandi al bus il valore del primo display e lo aggiorni ... BL del primo display ad 1 per il tempo di visualizzazione ... BL tutti a 0 ... mandi il valore del secondo display e lo aggiorni ... BL del secondo ad 1 ... e cosi via ...

Poi dipende da come colleghi anche i latch ... se li piloti indipendentemente, potresti aggiornare il secondo durante il tempo in cui il primo e' acceso velocizzando il multiplexing ... tipo ...

BL tutti a 0 ... mandi al bus il valore del primo display e lo aggiorni ... BL del primo display ad 1 per il tempo di visualizzazione ... nel frattempo mandi il valore del secondo display e lo aggiorni ... BL del primo a 0 e del secondo ad 1 ... nel frattempo mandi il valore del terzo display e lo aggiorni ... e cosi via ...