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° 09 - 4/5 [113 di 166]

Analisi del Problema · Analisi del Codice · Procedure importanti · Schema interfaccia

Porta Parallela - INPUT EPP di Dati a 8 bit - Contatto diretto sui pin abilitati

Analisi delle procedure importanti

| Il progetto è molto semplice; è sufficiente quindi analizzare la sua sola parte principale...

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

CALL DESKTOP ;¿La posizione 0100 dei 4 bit meno significativi MOV DX,PRNctrl ;³del Registro di controllo si Š rilevata IRRI- IN AL,DX ;³LEVANTE; fondamentale invece, per attivare il OR AL, 00100000B ;³funzionamento della EPP Š stato forzare a 1 il OUT DX,AL ;³bit5, per annullare un eventuale conflitto con ;Ùuna pregressa situazione monodirezionale SPP xxx00: MOV DX,PRNdato ;¿Esegue la lettura dello stato logico degli 8 IN AL,DX ;³contatti sul connettore (pin9öpin2) associati ;Ùai bit7öbit0 del registro bidirezionale 037CH PUSH AX ;¿ PUSH BX ;³ MOV BL,AL ;³ INC DX ;³ IN AL,DX ;³ MOV BH,AL ;³ INC DX ;³ IN AL,DX ;³ MOV AH,AL ;³ INC DX ;³Opzionale: mostra il valore corrente di tutti IN AL,DX ;³ e 4 i registri dato della EPP XCHG AH,AL ;³ M_COLOR 0EH ;³ M_CURSOR 18,55 ;³ CALL Wor2Asc ;³ MOV AX,BX ;³ CALL Wor2Asc ;³ POP BX ;³ POP AX ;Ù CMP CS:[preced],AL;¿Se non si Š verificata nessuna variazione JE xxx01 ;³rispetto a prima si evita l'analisi: la propo- ;Ùsta a video non cambia ;¿Mostra il risultato dell'acquisizione sulle CALL Colora ;³immagini del connettore e del registro 037CH, ;Ùal variare degli eventuali input xxx01: CALL Del_100 ;¿Opzionale: piccolo ritardo per facilitare CALL Del_100 ;Ùla lettura del dato acquisito MOV AH,01H ;¿ INT 16H ;³Continua fino alla pressione di un tasto JZ xxx00 ;Ù

La casella di testo mostra in dettaglio il programma principale (Main Program):

| l'interfaccia grafica è ancora assicurata dalla procedura Desktop (CALL BIOScls): sul monitor appare la struttura del connettore EPP e lo stato attuale del registro d'ingresso coinvolto nel test
| se la porta parallela è impostata come EPP (Enhanced Parallel Port) è possibile effettuare l'input DATI di 8 bit dal registro 037CH; può essere necessario (e questo programma lo fa...) impostare a 1 il bit5 del registro 037AH; impostando a 0 il bit5 del registro 037AH il registro 037CH ritorna a funzionare come porta di output

il programma si infila poi nel main loop, nel quale rimane in perenne lettura dello stato logico dei pin autorizzati; in particolare:

| legge il dato dalla porta d'ingresso, cioè indirizza il Registro bidirezionale Dati 037CH/027CH (MOV DX,PRNdato/IN AL,DX)
| esegue opzionalmente la lettura anche dei rimanenti Registri dato e ne mostra il contenuto
| mostra una piacevole simulazione degli eventi (CALL Colora), con l'aiuto di una procedura locale: oltre porre a video la stringa ascii numerica esadecimale e l'aspetto dei singoli bit corrispondenti al byte letto dal registro, mostra un'animazione del contatto effettuato.
| data la velocità della porta introduce un breve ritardo opzionale, per rendere più stabile la visualizzazione degli eventi
| provvede ad interrogare la tastiera senza fermarsi, in virtù della Funzione 01H dell'INT 16H; solo se si preme un tasto qualunque la lettura asincrona dei pin del connettore ha termine e il programma viene chiuso, restituendo il controllo al sistema operativo che ci ospita

Se non si opera alcun contatto l'immagine a video conferma che il registro contiene il dato FFH; in dettaglio:

| tutti i pin coinvolti sono internamente fissati a 1 logico
| i pin pin2 ÷ pin9 del connettore sono rispettivamente associati ai bit0 ÷ bit7 del registro per cui se nessuno di essi è collegato a massa nel registro ci sarà la sequenza 11111111, appunto FFH

| La procedura interna Colora gestisce il tema proposto con efficienza: sembra accorgersi dei tuoi movimenti; essa è ricca di trucchi di programmazione e costituisce un buon punto di riferimento per imparare a programmare con buon gusto e buone idee..; poichè è marginale rispetto al tema proposto lascio a te il piacere di scoprirla.

| Porta Parallela |  |  | PROGETTO n° 09 - 4/5 |  |  |  |
113 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