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.
Variabili:
Inizializzazione del display LCD
Posizione del testo
stesto: “ini count”
Posizione del conteggio
contatore iniziale
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.
la funzione Decisione, è utilizzata per definire la condizioni di intervento per l’eliminazione degli zeri e lo spostamento a destra dei caratteri rimanenti.
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.
diagramma di flusso completo.
C CODE
Ciclo principale
Riccardo Monti