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° 03 - 9/9 [77 di 166]

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

Porta Parallela - INPUT di Dati a 16 bit - Uso di un Buffer 3-state non invertente 74LS244

Descrizione dello schema

| Per seguire il commento sui dettagli tecnici può essere conveniente aprire una seconda finestra, con lo schema dell'interfaccia.

| Il progetto si avvale di 2 buffer 3-state 74LS244, alimentato esternamente con un piccolo alimentatore da 5 volt stabilizzati e collegato direttamente in uscita alla porta parallela; si tratta di una batteria di 16 amplificatori di corrente non invertenti organizzati in 4 gruppi controllati separatamente ciascuno da un piedino di abilitazione.

| In questo modo è possibile quindi gestire la lettura di 16 interruttori (o sensori) a gruppi di 4 alla volta, convogliando le 4 metà su 4 delle 5 linee di in disponibili e utilizzando 2 delle linee di out (quella sul pin 1 e quella sul pin 14) per gestire il meccanismo..
| La tecnica utilizzata è ancora quella del bus a 4 bit ottenuto collegando insieme le uscite dei 4 buffer 3-state non invertenti che occupano la medesima posizione in ciascuno dei 4 gruppi assicurati dal '244; il bus a 4 bit è collegato alle 4 linee di input (pin 11, 10, 12 e 13) del connettore della parallela.

L'osservazione dello schema mette in evidenza:

| è necessaria una fonte di alimentazione esterna (di +5V)
| la massa dell'alimentatore deve essere unita con quella della porta parallela: la conoscenza del suo connettore suggerisce la disponibilità di ben 8 pin (dal pin 18 al pin 25); per questa realizzazione si è scelto il pin 18
| le 4 uscite del bus formato dalle 16 uscite (collegate a 4 a 4) dei 2 buffer 3-state 74LS244 sono collegate all'unica porta d'ingresso prevista dall'interfaccia (usata come input di stato nei rapporti con la stampante), associate ad altrettanti bit del Registro d'ingresso 0379H/0279H
| il controllo dei 2 buffer 3-state è affidato ai rispettivi 2 piedini di abilitazione, pin 1 e pin 19: in questi componenti sono entrambi attivi bassi per cui, poichè la logica del bus vuole che solo una delle 4 quaterne di ingressi sia spostata in uscita, solo una delle 4 abilitazioni dei buffer deve essere attiva (cioè bassa)
| il componente ideale per questa necessità è dunque un decoder binario da 2 a 4, disponibile in 2 copie nell'integrato 74LS139: le sue uscite (attive basse) saranno collegate alle 4 abilitazioni dei buffer
| Il controllo delle uscite del decoder è ottenuto con l'aiuto di 2 linee d'uscita della parallela, associate al Registro d'uscita 037AH/027AH; in dettaglio gli ingressi A1 e B1 sono collegati rispettivamente ai pin 1 e pin 14, associati ai bit0 e bit1 del registro; è importante sottolineare che entrambe le linee sono invertite internamente dall'hardware della parallela, per cui sarà necessario invertire da software anche il valore del bit scritti sul registro (per esempio sarà attiva Y0 con A1,B1=00 e con bit0,bit1=11)

| i buffers 3-state sono chiamati a leggere il dato a 16 bit in 4 tempi, in funzione del valore applicato ai sui rispettivi piedini di abilitazione (pin 1 e pin 19):
| l'abilitazione del decoder si esercita attraverso il suo piedino (G1, pin 1) di enable (attivo basso): se è posto a 1 tutte le sue 4 uscite Y sono alte, cioè non attive, per cui anche tutte le abilitazione dei 2 buffer 3-state (pin 1 e pin 19) sono non attive; in questo caso il bus è in alta impedenza e nessuno degli ingressi risulta leggibile.

in questo progetto si è scelto di abilitare comunque il '139, forzando definitivamente a massa il suo piedino (G1, pin 1) di enable: in queste condizioni tutte le sue uscite Y sono a 1 (disattive) meno una, quella il cui numero corrisponde al codice binario fornito sui 2 ingressi A1, B1 (per esempio Y0 con 00 o Y3 con 11):

| con A1,B1=00 (attiva l'uscita Y0) sposta sul bus i 4 bit letti dagli switch sw 0÷ sw 3, collegati agli ingressi di tipo 1A del primo '244, cioè rispettivamente ai suoi pin 8, 6, 4 e 2.
| con A1,B1=01 (attiva l'uscita Y1) sposta sul bus i 4 bit letti dagli switch sw 4÷ sw 7, collegati agli ingressi di tipo 2A del primo '244, cioè rispettivamente ai suoi pin 17, 15, 13 e 11.
| con A1,B1=10 (attiva l'uscita Y2) sposta sul bus i 4 bit letti dagli switch sw 8÷sw 11, collegati agli ingressi di tipo 1A del secondo '244, cioè rispettivamente ai suoi pin 8, 6, 4 e 2.
| con A1,B1=11 (attiva l'uscita Y3) sposta sul bus i 4 bit letti dagli switch sw 12÷ sw 15, collegati agli ingressi di tipo 2A del secondo '244, cioè rispettivamente ai suoi pin 17, 15, 13 e 11.

| non bisogna sottovalutare il fatto che la linea d'ingresso associata al pin 11 del connettore è invertita internamente dall'hardware della parallela; questo fatto obbligherà il programmatore a invertire a sua volta da software il valore del bit7, dopo ogni lettura del registro..
| i 16 ingressi sono collegati agli 16 switch o sensori o altro contatto da leggere.
| se nessuno degli switch è stato toccato la parola a 16 bit ricostruita dal programma sarà 1111111111111111, 0FFFFH.

| La nostra scheda dovrà dunque prevedere un connettore da 24 contatti, 7 verso la porta parallela e 17 verso l'esterno (pulsanti, deviatori, o sensori, ecc...), più 2 per l'alimentatore. Naturalmente saranno ora necessari 2 integrati.

| Porta Parallela |  |  | PROGETTO n° 03 - 9/9 |  |  |  |
77 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