Driver per Display a 7 Segmenti in I2C BUS. (1)

Transcript

Driver per Display a 7 Segmenti in I2C BUS. (1)
Corso di BASCOM 8051 - (Capitolo 4 4 )
Corso Teorico/Pratico di programmazione in BASCOM 8 0 5 1 .
Autore: DAMINO Salvatore.
Driver per Display a 7 Segmenti in I2C BUS. ( 1 )
Il SAA1064 è un classico controllore, per display a 7 segmenti, pilotabile tramite
solo due linee di I/O grazie al protocollo di comunicazione I2C BUS.
Controllore per Display a 7 Segmenti, in I2C BUS, SAA1064.
Leggendo il Data-Sheet si può apprezzare come il SAA1064 sia in grado di
pilotare, ciascun segmento, con una discreta corrente che consente di poter
gestire agevolmente anche display di generose dimensioni.
La bontà del progetto, la facilità di utilizzo, di questo dispositivo è probabilmente il
segreto del suo grande successo e della notevole longevità che lo caratterizza.
Grazie al pilotaggio in I2C BUS qualsiasi controllore dotato di questa interfaccia, o
simulandola tramite 2 linee di I/O, è facilmente gestibile è può essere
velocemente implementata nelle applicazioni in cui sono necessari fino a 4 digit di
rappresentazione.
313
Schema a Blocchi, Pilotaggio Statico, del SAA1064.
Schema a Blocchi, Pilotaggio Dinamico, del SAA1064.
314
Questo dispositivo può pilotare direttamente 2 display, in modalità Statica, e 4
display a 7 segmenti nella modalità Dinamica. Questa caratteristica, come si può
vedere dagli schemi, la si ottiene con l’aggiunta di 2 transistors NPN.
Guardando lo schema a blocchi si può appressare la linearità del progetto che
consente di assimilare rapidamente il funzionamento sia nella modalità Statica
che Dinamica.
Schema a Blocchi del Controllore per Display a 7 Segmenti SAA1064.
Negli esempi che seguono sono state sviluppate le principali combinazioni di
utilizzo.
Si può notare che, nel caso dell’utilizzo del SAB1064 per la gestione di 2 digit,
non occorre utilizzare altro che lui ed i display a 7 segmenti.
Portando a 4 digit la rappresentazione, oltre chiaramente a 2 ulteriori digit, è
sufficiente l’aggiunta di 2 resistenze, un condensatore e 2 transistor.
315
Esempio.092. Gestione di 2 Display da 7 Segmenti Tramite il
Controllore, in I2C BUS, SAA1064.
Definizioni aggiunte:
Nessuna
Dichiarazioni aggiunte:
Nessuna
Istruzioni aggiunte:
MOD, I2CRECEIVE, I2CSEND.
Operatori aggiunti:
Nessuno
Schema Applicativo per Collegamento in I2C BUS.
316
Schema Applicativo del Driver SAA1064
per Display a 7 Segmenti.
Programma di Esempio.092 del corso BASCOM 8051.
Gestione driver per display a 7 Segmenti tramite I2C BUS.
Il programma usa il componente SAA 1 0 6 4 con cui pilota 2 display a 7 segmenti,
più punto decimale, che rappresentano un contatore decrescente a Due Cifre.
La gestione del componente avviene tramite l'interfaccia I2C BUS del Mini
Modulo ed i display sono comandati in Modalità Statica.
Il programma prima attiva tutti i segmenti dei display, in modo da verificarne il
corretto collegamento e funzionamento, poi inizia la rappresentazione di un
contatore che, partendo da 9 9, arriva fino a 0 0 in circa 1 0 secondi.
Il programma si presenta su una console seriale dotata di monitor, con un
protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit, Nessuna
Parità.
Questa console può coincidere con un sistema in grado di gestire una
comunicazione seriale in RS 2 3 2. Al fine di semplificarne l'uso si può usare un
PC, dotato di una linea COMx, che esegue un programma di emulazione terminale
come HYPERTERMINAL o l'omonima modalità di Emulazione Terminare offerta
dal BASCOM 8 0 5 1 (vedere Configurazioni IDE) .
Il programma funziona completamente solo se la GMM 5 1 1 5 è montata sullo
zoccolo Z2 della GMM TST3!!
317
Esempio.093. Gestione di 4 Display da 7 Segmenti Tramite il
Controllore, in I2C BUS, SAA1064.
Definizioni aggiunte:
Nessuna
Dichiarazioni aggiunte:
Nessuna
Istruzioni aggiunte:
Nessuna
Operatori aggiunti:
Nessuno
Schema Applicativo del Driver SAA1064
per Display a 7 Segmenti.
Programma di Esempio.093 del corso BASCOM 8051.
Gestione driver per display a 7 segmenti tramite I2C BUS.
Il programma usa il componente SAA 1 0 6 4 con cui pilota 4 display a 7 segmenti,
più punto decimale, che rappresentano un contatore decrescente a Quattro
Cifre.
318
La gestione del componente avviene tramite l'interfaccia I2C BUS del Mini
Modulo ed i display sono comandati in Modalità Dinamica.
Il programma prima attiva tutti i segmenti dei display, in modo da verificarne il
corretto collegamento e funzionamento, poi inizia la rappresentazione di un
contatore che, partendo da 9999, arriva fino a 0 0 0 0 in circa 1 0 0 secondi.
Il programma si presenta su una console seriale dotata di monitor, con un
protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit, Nessuna
Parità.
Questa console può coincidere con un sistema in grado di gestire una
comunicazione seriale in RS 2 3 2.
Al fine di semplificarne l'uso si può usare un PC, dotato di una linea COMx, che
esegue un programma di emulazione terminale come HYPERTERMINAL o
l'omonima modalità di Emulazione Terminare offerta dal BASCOM 8 0 5 1
(vedere Configurazioni IDE) .
Il programma funziona completamente solo se la GMM 5 1 1 5 è montata sullo
zoccolo Z2 della GMM TST3!!
319
Esempio.094. Gestione di un RTC tipo PCF 8583 con Display
da 7 Segmenti Tramite il Controllore, in I2C BUS, SAA1061.
Definizioni aggiunte:
Nessuna
Dichiarazioni aggiunte:
Nessuna
Istruzioni aggiunte:
Nessuna
Operatori aggiunti:
Nessuno
Schema SAA1064 per Display a 7 Segmenti + RTC PCF 8 5 8 3 .
320
Programma di Esempio.094 del corso BASCOM 8051.
Rappresentazione orario su display a 7 segmenti tramite I2C BUS.
Il programma usa il componente SAA 1 0 6 4 con cui pilota 4 display a 7 segmenti,
più punto decimale, che rappresentano l'orario attuale prelevato da un RTC tipo
PCF 8583.
La gestione di entrambi i componenti avviene tramite l'interfaccia I2C BUS del
Mini Modulo ed i display sono comandati in Modalità Dinamica.
Alla partenza il programma per prima cosa attiva tutti i segmenti dei display per
cosentire un rapido controllo visivo dell’intregrità di tutti i segmenti del display.
Successivamente inizia la rappresentazione delle Ore e dei Minuti sui display.
Per poter far percepire il corretto scorrere del tempo viene effettuato il lampeggio
del Punto Decimale ad ogni secondo trascorso.
Il programma si presenta su una console seriale dotata di monitor, con un
protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit, Nessuna
Parità.
Questa console può coincidere con un sistema in grado di gestire una
comunicazione seriale in RS 2 3 2.
Al fine di semplificarne l'uso si può usare un PC, dotato di una linea COMx, che
esegue un programma di emulazione terminale come HYPERTERMINAL o
l'omonima modalità di Emulazione Terminare offerta dal BASCOM 8 0 5 1
(vedere Configurazioni IDE) .
Il programma funziona completamente solo se la GMM 5 1 1 5 è montata sullo
zoccolo Z2 della GMM TST3!!
321