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 - 5/9 [73 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

Analisi delle procedure importanti [1 di 3]

| Vediamo dunque le istruzioni che gestiscono effettivamente il progetto, da inserire al posto dei puntini della figura precedente; ti consiglio di aprire una seconda finestra con lo schema elettrico dell'interfaccia, durante la lettura della descrizione.

|  | Abilitazione e Lettura dei 4 Switch meno significativi

| La prima cosa da fare è abilitare solo il gruppo di 4 buffer 3-state 74LS244 corrispondenti agli switch sw3÷sw0 (rispettivamente attaccati ai pin 2, 4, 6 e 8, ingressi di tipo 1A del '244) al fine di collegarli ai pin 11, 10, 12 e 13 del connettore della parallela, e poterli poi leggere sui corrispondenti bit 7, 6, 5,e 4 del Registro d'ingresso 0379H/0279H.
| Per questo gli ingressi B1, A1 del decoder '139 (pin 3 e pin 2), e quindi i pin 14, pin1 della porta parallela, devono essere forzati a 00.

| Poichè il valore logico di queste linee è invertito internamente dall'hardware per assicurare lo 00 necessario sul decoder bisogna scrivere 11 sui 2 bit meno significativi del Registro d'uscita 037AH/027AH.
| La scelta di scrivere 00000011B sul registro (MOV AL,03H) mette a 11 i bit1, bit0 (necessari per il controllo) ma forza a zero anche tutti gli altri; in generale non è la prassi migliore ma, in questo caso, è irrilevante:

|  | Progetto | NB: se il testo nell'Area ti sembra strano installa il font Giobe.TTF: clicca qui!! |  |  |

;¿ÚÄ[037AH/027AH - PORTA d'USCITA dei COMANDI]Ä¿ Prnt02: MOV AL,03H ;³Forza a 11 i bit1,bit0 della porta d'uscita MOV DX,PRNcomd ;³Comandi, per pilotare l'uscita Y0 del decoder OUT DX,AL ;³ CALL Delay__ ;Ù

| Da notare la necessità di attivare un piccolo ritardo per assicurare l'assestamento elettronico del commutatore interno del buffer 3-state.

| Al termine i dati da leggere sono stabili sui 4 pin 11, 10, 12 e 13 del connettore della parallela e possono essere letti sul Registro d'ingresso 0379H/0279H.

| Lo schema mette in evidenza che, dopo la lettura, lo stato dei 4 switch meno significativi è disponibile nei 4 bit più significativi; inoltre il valore logico proposto sul pin 11 della porta parallela viene invertito internamente dall'hardware, prima di essere letto sul bit7.
| Per questo, dopo la fase di lettura, il programma deve provvedere ai relativi aggiustamenti:

;¿ÚÄ[0379H/0279H-PORTA d'INGRESSO dello STATO]Ä¿ MOV DX,PRNstat ;³Lettura dei 4 switch pi— bassi nel IN AL,DX ;Ùregistro d'ingresso XOR AL,10000000B ;¿Formatta in BL la prima met… dell'informazione SHR AL,1 ;³desiderata compattandola nella forma 0000xxxxH SHR AL,1 ;³Da notare che, essendo la linea BUSY invertita SHR AL,1 ;³da HW (con un inverter) dentro la scheda del SHR AL,1 ;³computer Š NECESSARIO "raddrizzare" da SW que- MOV BL,AL ;Ùsto bit7 per evitare l'errata interpretazione

| L'operazione di XOR di AL con 80H rovescia il valore logico del solo bit7, lasciando inalterati gli altri; in questo modo si pone rimedio alla inversione prodotta internamente da hardware.

| La sequenza delle 4 SHR sposta in basso i 4 bit alti, immettendo al loro posto degli 0: il dato in AL è dunque, alla fine, del tipo 0000xxxx, con xxxx pari al valore logico effettivo dei 4 switch meno significativi.
| La prima fase d'acquisizione è dunque terminata: l'informazione così ottenuta viene salvata nel registro BL.

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