Cerca nel sito:
ricerca
avanzata

Frasi Celebri...

Se non rubi allo stato, rubi alla tua famiglia.

Proverbio ceco 

Sondaggio:

Meglio le donne...

Bionde
More
Rosse

visualizza risultati


 

Collegare un 8254 alla LPT 3/4
di Vincenzo Villa


Il software

Per l’utilizzo del timer è necessario programmare opportunamente i registri interni, come descritto sui fogli tecnici del produttore dell’integrato. Per poter scrivere o leggere i registri interno del timer non è però sufficiente utilizzare una sola istruzione del tipo:

outportb (Registro, dato)

Occorre invece scrivere prima l’indirizzo nel registro Address_port della porta EPP e quindi il dato nel registro data_port della EPP.

outportb (Address_port, Registro)

outportb (Data_port, dato)

Nel caso si voglia scrivere più volte sullo stesso registro dell’8254 non è strettamente necessario aggiornare anche l’Addres_port. Analogamente per effettuare la lettura di un registro occorre prima scrivere l’indirizzo nella Addres_port e quindi leggere il data_port. Anche in questo caso non è prevista la scrittura dell’indirizzo se non lo si modifica.

Come ho già detto dell’indirizzo sono usati solo i due bit meno significativi. I rimanenti sono memorizzati nei registri di uscita ed utilizzabili come uscite per uso generale.

È fornito il codice C delle funzioni che permettono una gestione semplificata ed un programma di test in ambiente Win9x/NT ed un altro in ambiente DOS, ovviamente sia come sorgente che come eseguibile.

I due programmi, funzionalmente simili, impostano all’inizio i tre contatori in modo 2; viene quindi effettuata la lettura continua dei tre contatori e visualizzata continuamente fino all’interruzione del programma da parte dell’utente (per il programma DOS un tasto qualunque, per quello Win32 la chiusura della finestra.

Per il funzionamento è richiesta la presenza di un segnale ai tre ingressi di clock. Il modo più semplice per ottenerlo, senza l’ausilio di dispositivi esterni, è quello di utilizzate l’oscillatore quarzato presente sulla scheda, collegandolo al clock del primo contatore. L’uscita di questo contato si collega al clock del secondo contatore e l’uscita di questo al clock del terzo.

Usando la numerazione delle pagine seguenti:

Clock out —> clock counter 0
Output counter 0 —> clock counter 1
Output counter 1 —> clock counter 2

In questo modo, con un quarzo da 4MHz ed i valori di 40.000, 50 e 50 caricati nei tre registi dai programmi di test, la frequenza di clock del primo contatore è di 50Hz e quella del secondo di 1 Hz. Con questi valori il conteggio visualizzato è lento per C2, appena visibile per C1, apparentemente casuale per C0.

I programmi usano anche i sei pin di uscita, generando segnali a varie frequenze una multipla dell’altra (NB. Tali segnali non dipendono dal quarzo montato sulla scheda ma solo dalla velocità con cui il SW aggiorna i registri di uscita).

 

Nota by Cat: Tutti i files sorgenti e compilati, compreso la versione pdf originale di questo progetto, sono contenuti nel file 8254_to_parallelport.zip (200 k)

 

successivo
–«  INDICE PROGETTI  »–

 

 

 

 
Powered by paper&pencil (carta&matita ) - Copyright © 2001-2009 Cataldo Sasso