Applicazioni Software |
PROGETTO n° 06 - 10/12 [96 di 189] |
|
|
||
Porta Parallela - INPUT di Dati a 8 bit - Uso di un convertitore ADC0804 | ||
Analisi delle procedure importanti [3 di 3] |
|
Se la meccanica dell'assunzione del dato è affidata alla Procedura Mpx_Dato, per la sua reale disponibilità è necessario gestire le linee di controllo del convertitore, fornendo su di esse i livelli logici aspettati. |
Effettiva Lettura del bus dati del Convertitore |
La Procedura Leggi gestisce tutta la fase di lettura del dato a 8 bit, a cominciare dai segnali che bisogna fornire al convertitore ADC0804 per obbligarlo a mettere in uscita il byte da esso generato nella fase precedente. | |
Il termine dalla conversione è stato segnalato da un livello logico 0 sulla linea INTR (letta dalla Procedura Converti, vista in precedenza, sul bit3 del Registro d'ingresso 0379H/0279H della porta parallela, sul pin 15 del suo connettore). |
In corrispondenza di questo evento gli 8 bit di dato sono conservati nel latch interno dell'ADC e non sono ancora disponibili. | |
Per poterlo trasferire sul bus dati è necessario attivare la linea RD insieme al segnale CS; questa procedura ricostruisce la sequenza temporale. |
|
Progetto |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
Per trasferire il dato convertito dal latch interno al bus dati è necessario forzare a 0 la linea RD (pin 2) insieme al segnale CS (pin 1), posto a 0 solo qualche istante prima per riabilitare il funzionamento del chip. |
La procedura simula i 2 segnali CS e RD programmando rispettivamente i bit0 e bit1 del Registro d'uscita 0378H/0278H della porta parallela, disponibili rispettivamente sui pin 2 e 3 del suo connettore. |
|
|
La procedura di ritardo concede al convertitore il tempo (135 ns) per trasferire il dato sulle otto linee d'uscita (fino a quel momento in alta impedenza) dal latch interno. |
Poichè il dato è ora disponibile si provvede alla sua lettura, delegando a ciò la Procedura Mpx_Dato, descritta nella pagina precedente; poichè la fase successiva può corrompere il dato appena assunto in AL, si provvede al suo salvataggio temporaneo nello stack. |
|
|
Dopo circa 300 ns dalla lettura del dato il convertitore provvede automaticamente a ripristinare la linea INTR, riportandola a 1. | |
Per assicurare le successive conversioni bisogna disattivare (cioè portare a 1) il segnale di lettura, RD, e naturalmente anche CS |
|
|
Il costruttore suggerisce di attendere almeno 8 cicli di clock (cioè almeno 12 µs con clock a 640 kHz) per garantire che il prossimo controllo sul segnale di INTR sia attendibile; per questo la semplice chiamata di Delay è in questo caso insufficiente: |
|
|
NB: Data la assoluta inaffidabilità della procedura di ritardo, assolutamente dipendente dalla velocità del processore, con processori veloci può essere necessario aumentare il numero 150 caricato in CX, o addirittura incrementare il numero di istruzioni dummy eseguite dalla Delay stessa... |
|
Si può ipotizzare che la lettura avvenga sul fronte di salita del segnale RD: dopo 125 ns da questo istante le otto linee d'uscita tornano in alta impedenza. | |
La procedura ha termine con il recupero in AL del valore precedentemente salvato nello stack: |
|
|
Porta Parallela | PROGETTO n° 06 - 10/12 | |||||||
96 di 189 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|