![]() |
| |
| ||
Controllo di una lampada di 7 segmenti
Una lampada di 7 segmenti è un dispositivo optoelectrónico que permite illuminare 7 segmenti, ed in alcuni tipi un punto decimale, di forma indipendente.Illuminato selettivamente questi segmenti, è possibile formare tutti i numeri, ed algunasletras dell'alfabeto. Queste lampade devono essere alimentate esternamente, dato che cadasegmento ha bisogno di 20 MA di corrente, totale 140 MA. È sufficiente utilizzare il registro de datos per controllare una lampada. Se si necessitano altre, può utilizzarsi il circuito deexpansión che si descrive posteriormente.
Descrizione della lampada di 7 segmenti

Fig. Lampada di 7 segmenti
Riferimenti
Pin Descripción
1 catodo E
2 catodo D
3 anodo comune
4 catodo C
5 catodo del Dp. (Punto decimale)
6 catodo B
7 catodo A
8 anodo comune
9 catodo F
10 catodo G
Alimentazione ed operazione
Questa lampada funziona con 5 volt e 20 MA per segmento. La fonte de5 volt per alimentare questo circuito può ottenersi direttamente della fonte di poderdel PC, o del porto di giochi (vedere fonte di alimentazione).

Fig. Circuito suggerito per una lampada di 7 segmenti
Modo di operazione
La lampada di 7 segmenti ha un pin per ogni segmento e due ánodoscomunes. Quando si applicano 5 volt tra qualunque pin di determinato segmento e losánodos, questo segmento si accende. Per formare qualunque combinazione di segmenti esnecesario applicare i 5 volt ai pines che si desiderino. Nel circuito staffile
Il seguente algoritmo permette di attivare qualunque segmento della lampada di 7 segmenti.
/* inizio */
Definire che segmenti saranno illuminati.
Dato che ogni segmento corrisponde con un bit del registro di stato, allora si creda una tavola di segmentos/bits
Segmento | Bit del registro di controllo | valore decimale |
A | D0 | 1 |
B | D1 | 2 |
C | D2 | 4 |
D | D3 | 8 |
E | D4 | 16 |
F | D5 | 32 |
G | D6 | 64 |
Dp | D7 | 128 |
Se si vuole illuminare il segmento A, allora deve scriversi nel registro di dati del porto parallelo il valore 1 (valore della tavola)
Port[dir_base]:=1
Se si vuole illuminare più di un segmento, allora deve scriversi nel registro di dati del porto parallelo la somma dei valori di ogni segmento. Es.:
La lettera C corrisponde coi segmenti A, D, E, F.
Allora: A=1, D = 8, E=16, F=32.
La somma è 1+8+16+32=57
Dopo, deve scriversi:
Port[dir_base]:=57
Se si vuole scrivere un testo, si impiega ogni lettera e dopo un ritardo di n millisecondi. Es. :
Scrivere: LULU
La lettera L corrisponde coi segmenti D, E, F.
La somma è 8+16+32=56
La lettera O corrisponde coi segmenti B, C, D, E, F.
La somma è 2+4+8+16+32=62
Dopo, deve scriversi:
Port[dir_base]:=56; / * L */
Delay(1000,;
Port[dir_base]:=62; / *U*/
Delay(1000,;
Port[dir_base]:=56; / * L */
Delay(1000,;
Port[dir_base]:=62; / * U */
Delay(1000,;
/* Fine */