Porta parallela - Software ASM - Giobe®2000 - Assembler - Assembly - centronics 378 278 input output epp ecp spp

|  | Come Funziona Indirizzi Base Area Comunicaz. Bios Registri Livello Hardware Livello BIOS Livello DOS Tecniche d'Interruzione Connettori Cavi Interfaccia Applicazioni Software Applicazioni Hardware Download INDICE
Porta Parallela

| Applicazioni Software | PROGETTO n° 06 - 9/12 [96 di 166]

Analisi del Problema · Analisi del Codice · Procedure importanti · Schema interfaccia · Descrizione dello schema

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!! |  |  |

;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;³ NOME : Leggi ³ ;³ DESCRIZIONE : La fase di conversione Š terminata; si procede alla fase di³ ;³ Lettura, attivando (a"0") di nuovo le linee CS e RD del Con-³ ;³ vertitore ADC0804; dopo circa 135ns il dato Š disponibile³ ;³ sulle 8 linee d'uscita e pu• essere assunto con il Selettore³ ;³ 74LS157. Al termine i segnali RD e CS sono riportati a "1",³ ;³ per predisporre le successive conversioni... ³ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

| 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 fase di conversione Š terminata; si procede alla fase di Lettura³ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Leggi: MOV DX,0378H ;¿Forza a "0" il bit0 della porta di OUTPUT, per MOV AL,11111110B ;³attivare di nuovo la linea CS, Chip Select, OUT DX,AL ;Ùdel Convertitore ADC0804 MOV AL,11111100B ;¿Forza a "0" anche il bit1 della porta OUTPUT OUT DX,AL ;³per attivare anche la linea RD, Read , del ;ÙConvertitore ADC0804 CALL Delay ; E' necessario un ritardo di almeno 135 ns

| 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 135 ns il dato viene trasferito dal latch interno sulle³ ;³8 linee d'uscita (fino a questo momento in alta impedenza); dopo³ ;³circa 300 ns il converter provvede a riportare a "1" la linea INTR;³ ;³Š dunque possibile passare alla Fase di Lettura con il MPX 74LS157.³ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ CALL Mpx_Dato ;¿Gestisce l'effettiva lettura degli otto bit ;³del bus Dati del Convertitore ADC0804 sulle ;³sole 4 linee possibili in input dalla PUSH AX ;Ùporta parallela, con l'auito del Multiplexer

| 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

;ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ;³Da questo istante ogni momento Š buono per riportare a "1" i segna-³ ;³li RD e CS, per predisporre le successive conversioni... ³ ;ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ MOV DX,0378H ;¿Riporta a "1", in sequenza inversa, prima RD e MOV AL,11111110B ;³poi CS mettendo sui bit1 e bit0 della porta di OUT DX,AL ;³output della parallela il corretto valore MOV AL,11111111B ;³binario OUT DX,AL ;Ù

| 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:

MOV CX,150 ;¿Il costruttore suggerisce di attendere almeno xxx2: PUSH CX ;³8 cicli di clock (cioŠ almeno 12,5 microsec, CALL Delay ;³con clock a 640 kHz) per garantire che il POP CX ;³prossimo controllo sul segnale di INTR sia LOOP xxx2 ;Ùattendibile

| 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:

POP AX RET

| Porta Parallela |  |  | PROGETTO n° 06 - 9/12 |  |  |  |
96 di 166

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166

Parallela » | Come Funziona.. | Indirizzi Base | Area di Comunicazione Bios | Registri | Cavi Livello Hardware | Livello BIOS | Livello DOS | Tecniche d'Interruzione | Connettori Applicazioni Software | Progettazione | Interfaccia | Download | INDICE

DataSheet| Display LCD Parallela| Stampanti| Tastiera| Timer Seriale| Video| Cursore| RamVideo |

Home

| Pascal| Manuali| Tabelle| Schede Tutorial Assembly| Palestra Assembler

Aggiungi Giobe®2000 ai preferiti

Motore
Ricerca

| Rendi Giobe®2000 pagina di Default

© 2001-2006 - Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati