Corso di BASCOM 8051 - (Capitolo 3 7 ) Corso Teorico/Pratico di programmazione in BASCOM 8 0 5 1 . Autore: DAMINO Salvatore.
Porta CENTRONICS e Porta Parallela LPT. La Porta Parallela, detta anche LPT dall'Inglese Line Printer, (termine derivato da Line Printer Terminal) è un'interfaccia usata inizialmente per collegare un computer ad una stampante od a un plotter. In seguito, nella versione bidirezionale, viene impiegata anche per connettere altre periferiche tra le quali Scanner, unità ZIP, Hard Disk, Lettori di CD-ROM e Webcam, ecc. La porta è nata come Unidirezionale, e trasmetteva dati solo dal computer alla periferica collegata, ma, in seguito, è stato sviluppato anche uno standard Bidirezionale (IEEE 1 2 8 4 ).
Porta LPT. Connettore Femmina DB25. La porta parallela, nel campo PC è ormai poco usata, ma non nel settore industriale. Per le connessioni, anche alle stampanti, oggi si preferiscono altri standard di comunicazione come l'USB, che è una comunicazione seriale multifunzione. La LPT consente il collegamento di diverse periferiche con possibilità di trasferire 8 bit in Parallelo nello standard TTL. Sul computer la porta è un connettore Femmina detto "a Vaschetta" o DB25 con 2 5 pin. Sulle stampanti è presente un connettore diverso, detto Centronics, che prende il nome dal primo costruttore. La presenza di 8 fili di GND, e di cavi intrecciati a coppie, permette di creare una sufficiente schermatura dei segnali. 242
Numero pin (DB25) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Numero pin Centronics
1 2 3 4 5 6 7 8 9 10 11 12 13 14 32 31 36
Direzione
Nome del Segnale
bit
nSTROBE Data0 Data1 Data2 Data3 Data4 Data5 Data6 Data7 nACK Busy Paper-Out
Select nAuto/Linefeed nError/nFault nInitialize nSelectPrinter/nSelect-In
18 - 2 5 19 - 3 0
Registro
Graund
Segnale Invertito da Hardware Si
Out In/Out In/Out In/Out In/Out In/Out In/Out In/Out In/Out In In In In Out In Out Out
Control-0
Control-3
Si
GND
-
-
Data0 Data1 Data2 Data3 Data4 Data5 Data6 Data7 Status-6 Status-7 Status-5 Status-4 Control-1
Si
Si
Status-3 Control-2
Segnali del Connettore Femmina DB25 e Centronics. Di seguito sono invece rappresentate le successioni dei vari segnali durante la trasmissione di un Byte da un Controllore (PC) ad una Stampante.
Temporizzazione
di un'Operazione
di Stampa: Trasmissione di un Byte. 243
Di tutti i segnali elencati, nella precedente tabella, quelli indispensabili per un utilizzo di una stampante sono unicamente quelli illustrati sul grafico delle temporizzazioni. In altri termini, oltre agli 8 bit dei Dati, il processo parte con il segnale di /STROBE, emesso dal PC, a cui la stampante risponde con un /ACK. Un segnale di BUSY, emesso dalla stampate, può fermare la comunicazione da parte del PC. Con questo sistema la stampante può tenere bloccata la comunicazione con il PC finchè non è nuovamente pronta a ricevere un nuovo carattere.
Porta LPT. Pin-Out e Segnali del Connettore Femmina DB25.
I segnali canonici, presenti sull'interfaccia LPT, sono illustrati nelle figura precedente. In essa sono rappresentate anche la direzione dei vari segnali. Chiaramente, in funzione del tipo di stampante adoperato, non è detto che tutti i segnali canonici siano disponibili. Il numero minimo di segnali che normalmente sono presenti, sul connettore, sono quelli sulla figura relativa alle temporizzazioni dell'operazione di stampa.
244
STAMPANTINE INDUSTRIALI. Le Stampanti Industriali sono diffusissime e spesso non ci facciamo neanche caso nell'incontrarle nelle applicazioni più disparate.
Alcuni Modelli di Meccanismi di Stampa. Quando al bar, ad esepio, andate a prendere il caffè non fate neanche caso al fatto che l'esercente, una volta pagato l'acquisto, vi da uno scontrino con segnato, tra le altre cose, il costo della consumazione. Questo scontrino è prodotto da una piccola stampante, in genere termica, che provvede a realizzare questa piccola meraviglia.
Tipica Stampante Termica da Pannello. 245
Il Meccanismo di Stampa Termico, da pannello, ultracompatto e leggero è un componente Elettronico-Meccanico dotata di una propria CPU che, con un apposito programma di gestione, è in grado di ricevere dei caratteri da stampare su un rotolino di carta. Nel caso, ad esempio, del modello della Custom tipo PLUS II la larghezza della carta è di 58 mm. Il diametro del rotolo carta è di 30 mm.
Tipico Meccanismo di Stampa ad Impatto tipo M-150 Epson. Queste Stampantine sono normalmente disponibili con moltissime diverse interfacce di comunicazione come Interfaccia Parallela; RS 2 3 2; USB; ecc. assolvendo, virtualmente, a tutte le possibili esigenze.
Tipica Stampante Termica per Etichette. 246
Noi, in questo capitolo, ci preoccuperemo di esaminare l'interfacciamento, Hardware/Firmware, tra una generica stampantina parallela ed un Mini Modulo. A questo scopo si adopera la sezione di interfacciamento Centronics, della Scheda Didattica DEB 0 1, di cui riportiamo lo schema elettrico.
Schema Interfaccia da Connettore Standard di I/O a Centronics.
Scheda DEB 01 (Didactics Experimental
Board).
Il connettore a scatolino da 2 0 vie ha un pin-out compatibile con il connettore CN4, della GMM TST3, che abbiamo già usato nei programmi precedenti. 247
Esempio.072. Interfaccia Centronics. Stampa una riga Battuta da Console.
Definizioni aggiunte: Nessuna Dichiarazioni aggiunte: Nessuna Istruzioni aggiunte: Nessuna Operatori aggiunti: Nessuno
Programma di Esempio.072 del corso BASCOM 8051.
Stampa una stringa battuta da console su una stampante parallela con interfaccia CENTRONICS.
La stringa viene prima acquisita e poi inviata con i codici finali aggiuntivi CR (Carriage Return=Ritorno Carrello) e LF (Line Feed=Nuova Linea) che ne garantiscono la stampa.
L'interfaccia CENTRONICS della stampante deve essere collegata alle linee di I/O del Mini Modulo; tale collegamento deve avvenire con la corrispondenza riportata di seguito nelle definizioni, e può essere facilmente realizzato con le schede GMM TST3 e DEB 0 1.
In dettaglio il programma richiede le seguenti connessioni: - GMM 5 1 1 5 montata sullo zoccolo Z2 della GMM TST3; - CN5 della GMM TST3 collegato a linea seriale della Console; - CN4 della GMM TST3 collegato a CN14 della DEB 0 1, con flat cable a 2 0 vie; 248
- CN13 della DEB 0 1 collegato ad interfaccia CENTRONICS della stampante, con cavo adeguato (ad esempio quello usato per collegarla al PC) .
Dei numerosi segnali presenti sull'interfaccia CENTRONICS, questo programma li inizializza tutti ma poi usa un sottoinsieme ridotto allo /STROBE e BUSY.
Il programma si presenta e richiede la stringa da stampare su una console seriale dotata di monitor e tastiera con un protocollo fisico costante a19.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à offerta dal BASCOM 8 0 5 1 (vedere Configurazioni IDE) .
Nel programma i nomi che identificano i segnali usati sono riferiti agli schemi elettrici ed ai manuali tecnici delle GMM TST3 e DEB 0 1!
249
Esempio.073. Interfaccia Centronics. Stampa i Caratteri Ricevuti dalla Linea Seriale in RS 232 con Buffer di Salvataggio in Interrupt.
Definizioni aggiunte: Nessuna Dichiarazioni aggiunte: Nessuna Istruzioni aggiunte: ON SERIAL ; ENABLE SERIAL Operatori aggiunti: Nessuno
Programma di Esempio.073 del corso BASCOM 8051.
Stampa su una stampante parallela con interfaccia CENTRONICS, i caratteri ricevuti dalla linea seriale RS 2 3 2 con Buffer di salvataggio in Interrupt.
L'interfaccia CENTRONICS della stampante deve essere collegata alle linee di I/O del Mini Modulo; tale collegamento deve avvenire con la corrispondenza riportata di seguito nelle definizioni, e può essere facilmente realizzato con le schede GMM TST3 e DEB 0 1.
In dettaglio il programma richiede le seguenti connessioni: - GMM 5 1 1 5 montata sullo zoccolo Z2 della GMM TST3; - CN5 della GMM TST3 collegato a linea seriale della Console; - CN4 della GMM TST3 collegato a CN14 della DEB 0 1, con flat cable a 2 0 vie; - CN13 della DEB 0 1 collegato ad interfaccia CENTRONICS della stampante, con cavo adeguato (ad esempio quello usato per collegarla al PC) . 250
Dei numerosi segnali presenti sull'interfaccia CENTRONICS, questo programma li inizializza tutti ma poi usa un sottoinsieme ridotto allo /STROBE e BUSY.
Il programma si presenta e dopo attende la ricezione dei caratteri che vengono salvati in un Buffer Circolare in modalità FIFO (il Primo che Entra è il Primo ad Uscire) . Quando nel Buffer sono presenti Caratteri questi vengono prelevati ed inviati alla stampante che provvede a stamparli.
A tutti gli effetti il programma agisce come un Convertitore da una stampante Parallela ad una stampante Seriale.
La seriale usa un protocollo fisico costante a 19.200 Baud, 8 Bit x chr, 1 Stop bit, Nessuna Parità e 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à offerta dal BASCOM 8 0 5 1 (vedere Configurazioni IDE) .
Nel programma i nomi che identificano i segnali usati sono riferiti agli schemi elettrici ed ai manuali tecnici delle GMM TST3 e DEB 0 1!
251
Esempio.074. Interfaccia Centronics. Emula una Stampante e Scarica i Dati da Stampare su Linera Seriale in RS 2 3 2.
Definizioni aggiunte: Nessuna Dichiarazioni aggiunte: Nessuna Istruzioni aggiunte: ON INT0 ; ENABLE INT0 Operatori aggiunti: Nessuno
Programma di Esempio.074 del corso BASCOM 8051.
Simula una stampante parallela con interfaccia CENTRONICS, usando il Mini Modulo GMM 5115.
I dati inviati alla stampante Simulata sono salvati in un Buffer Circolare e rappresentati sulla console seriale, in ASCII.
L'interfaccia CENTRONICS della stampante deve essere collegata alle linee di I/O del Mini Modulo; tale collegamento deve avvenire con la corrispondenza riportata di seguito nelle definizioni, e può essere facilmente realizzato con le schede GMM TST3 e DEB 0 1.
In dettaglio il programma richiede le seguenti connessioni: - GMM 5 1 1 5 montata sullo zoccolo Z2 della GMM TST3; - CN5 della GMM TST3 collegato a linea seriale della Console; - CN4 della GMM TST3 collegato a CN14 della DEB 0 1, con flat cable a 2 0 vie; 252
- CN13 della DEB 0 1 collegato ad CENTRONICS, con cavo DB25M+DB25M dritto ( 1:1).
Per assicurare la partenza del programma si deve fornire alimentazione o resettare il Mini Modulo con la stampante non connessa e collegarla dopo; infatti se l'ultimo dato stampato ha il bit meno significativo basso (D1=0) la linea corrispondente (P1.0 DSW1.1 T2 DL1) è a sua volta bassa e seleziona la nodalità Debug della GMM 5115!
Il programma si presenta e mostra i dati inviati alla stampante 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à offerta dal BASCOM 8 0 5 1 (vedere Configurazioni IDE) .
Nel programma i nomi che identificano i segnali usati sono riferiti agli schemi elettrici ed ai manuali tecnici delle GMM TST3 e DEB 0 1!
253