Applicazioni Software |
PROGETTO n° 12 - 7/7 [131 di 189] |
|
|
||
Porta Parallela - OUTPUT di Dati a 32 bit - Interfaccia con 4 memorie D-Type '374 | ||
Analisi delle procedure importanti [2 di 2] |
|
Certamente la parte più importante della procedura Out32bit è quella finale, riportata nella casella di testo insieme alla sottoprocedura Clock: |
|
Progetto |
NB: se il testo nell'Area
ti
sembra strano installa il font Giobe.TTF: clicca qui!! |
|
Come preannunciato la gestione delle 4 memorie esterne è affidata ad un loop, per questo caricato a 4 (MOV CX,4); i 4 bytes coinvolti nella gestione sono assunti dalla variabile Dato_32, predisposta in precedenza e puntata dall'istruzione LEA DI,Dato_32. |
|
A partire da quello meno significativo, i 4 bytes sono spediti, uno dopo l'altro tramite AL, sul Registro d'uscita 0378H/0278H (PRNdato) e resi disponibili sulle linee corrispondenti, i pin 2÷pin 9 del connettore della porta parallela |
|
Non appena un byte è presente sulla porta d'uscita viene creato il necessario sincronismo di memorizzazione (clock) per la memoria 74LS374 a cui è destinato. |
|
A questo pensa la sottoprocedura Clock, appositamente separata dalla precedente per evidenziarne la valenza; per comprendere meglio i concetti che descriverò tra poco può essere utile (se non l'hai già fatto ) aprire una seconda pagina con lo schema elettrico del progetto. |
|
In breve è necessario controllare
3 linee del
decoder binario
74LS139
con l'aiuto di altrettanti bit
del
Registro di controllo 037AH/027AH:
|
|
Poichè ciascuna delle 4 uscite del decoder (attive basse) è collegata (tramite in inverter) alla linea di clock (pin11) di una memorie esterna, è facile capire che il valore di controllo da predisporre sul Registro 037AH/027AH dovrà attivarle una alla volta, in sequenza. |
|
La scelta del valore da scrivere sul Registro è influenzata anche dal fatto che le linee d'uscita di quest'ultimo (associate ai bit1,bit0) sono invertite internamente; tenendo conto di tutto la procedura Clock è stata studiata per forzare i bit2,bit1,bit0 del Registro al giusto valore, nei 4 casi in cui è chiamata. |
|
La prima volta il valore è 000: il bit2 a 0 abilita il decoder e i bit1,bit0 a 00 (trasformato in 11, dagli inverter interni) selezionano l'uscita 3 del decoder, producendo un fronte attivo (di salita) sulla linea di clock della prima memoria (n°1), che copierà così sulla sua uscita il byte presente sulle linee dato della parallela. | |
Le volte successive il valore sarà 001, 010 e 011: in ogni caso il bit2 a 0 mantiene abilitato il decoder e i bit1,bit0 selezionano le altre uscite del decoder, dalla 2 alla 0, garantendo un fronte attivo di clock anche per le rimanenti memorie, dalla n°2 alla n°4 |
|
Da notare che la procedura Clock prima di generare un nuovo valore riporta momentaneamente il bit2 a 1 (OR AL,00000100B) per disabilitare tutte e 4 le linee di clock tra una fase e l'altra, lasciandole in questo stato (di attesa) anche al termine dell'ultima memorizzazione. |
|
Porta Parallela | PROGETTO n° 12 - 7/7 | |||||||
131 di 189 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|