Applicazioni Software |
PROGETTO n° 13 - 7/7 [138 di 189] |
|
|
||
Porta Parallela - OUTPUT di Dati a 64 bit - Interfaccia con 8 memorie D-Type '374 | ||
Analisi delle procedure importanti [2 di 2] |
|
Certamente la parte più importante della procedura Out64bit è 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 8 memorie esterne è affidata ad un loop, per questo caricato a 8 (MOV CX,8); gli 8 bytes coinvolti nella gestione sono assunti dalla variabile Dato_64, predisposta in precedenza e puntata dall'istruzione LEA DI,Dato_64. |
|
A partire da quello meno significativo, gli 8 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
4 linee del
decoder binario
74LS138
con l'aiuto di altrettanti bit
del
Registro di controllo 037AH/027AH:
|
|
Poichè ciascuna delle 8 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 bit3,bit1,bit0) sono invertite internamente; tenendo conto di tutto la procedura Clock è stata studiata per forzare i bit3,bit2,bit1,bit0 del Registro al giusto valore, negli 8 casi in cui è chiamata. |
|
La prima volta il valore è 0000: il bit2 a 0 abilita il decoder e i bit3,bit1,bit0 a 000 (trasformato in 111, dagli inverter interni) selezionano l'uscita 7 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à 0001, 0010, 0011, 1000, 1001, 1010 e 1011: in ogni caso il bit2 a 0 mantiene abilitato il decoder e i bit3,bit1,bit0 selezionano le altre uscite del decoder, dalla 6 alla 0, garantendo un fronte attivo di clock anche per le rimanenti memorie, dalla n°2 alla n°8 |
|
Da notare che la procedura Clock
|
|
Porta Parallela | PROGETTO n° 13 - 7/7 | |||||||
138 di 189 |
|
|
|
Home |
|
|||||||
|
Motore Ricerca |
|