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