Count-Down  - allineamento a destra

La visualizzazione del conteggio, da un numero prefissato a zero (count down), avviene scalando gradualmente un’unità a ogni ciclo del programma.

Il passaggio dal numero 1000 a 999, è visualizzato dai quattro caratteri tra parentesi quadra, [0999], il passaggio da 100 a 99, è visualizzato [0099], il passaggio dal numero 10 a 9, è visualizzato [0009].

Lo zero iniziale, cifra meno significativa, può impedire la corretta lettura; è preferibile eliminare lo zero in modo da visualizzare solo le cifre più significative; rispettivamente: [999],[99] e [9]

Se ci limitassimo all’eliminazione dello zero iniziale, il numero visualizzato, si sposterebbe a sinistra sulla posizione iniziale del numero intero.

Per evitare questo effetto che potrebbe essere sgradevole da vedere, è necessario un programma, che allinei il numero a destra

In questo esercizio propongo la soluzione di utilizzare la variabile “shift”, che rappresenta la posizione del numero allineato a destra.

countdown nozeri 1

Variabili:

  • count: numero iniziale
  • str[4]: stringa composta da 4 caratteri numerici
  • shift: posizione della stringa

Inizializzazione del display LCD

Posizione del testo

stesto:  “ini count”

Posizione del conteggio

contatore iniziale

countdown nozeri 2

Count = count -1

la variabile “count”, che contiene il numero iniziale, è diminuita di una unità ad ogni ciclo.

str = ToString$(Count)

La funzione ToString$, converte il numero “count” in una stringa di 4 caratteri-

Cursor(shift,1)

posizione della stringa “str”, sulla riga 1, del display LCD.

PrintString(str)

visualizzazione di “str”, sulla riga 1 ,del Display LCD.

countdown nozeri 3

la funzione Decisione, è utilizzata per definire la condizioni di intervento per l’eliminazione degli zeri e lo spostamento a destra dei caratteri rimanenti.

countdown nozeri 4
countdown nozeri 5

l’istruzione “ClearLine,1”, pulisce la riga 1, eliminando tutta la stringa composta di quattro caratteri.  0999.

la funzione calcolo shift = 11, sposta la posizione della stringa a destra di una posizione, in modo da visualizzare la stringa 999.

l’operazione di cancellazione della linea 1 del display LCD e lo spostamento a destra di una posizione, è ripetuta anche per le condizioni count = 100 e count = 10.

countdown nozeri 6

diagramma di flusso completo.

C CODE

Ciclo principale

Riccardo Monti