| | | | Pagina creata il 01/10/2012 [4436 giorni fa] |
|
Applicazioni Software
|
PROGETTO n° 16 - 3/6
[153 di 189]
|
Questo progetto consente di gestire in tutti i modi possibili un conteggio
progressivo sulla periferica costituta da una
coppia di Digit a Catodo Comune
FND500, sui quali è
preventivamente fissato il valore "00", erogato dalla
porta d'uscita a 8 bit associata al
Registro d'uscita 0378H/0278H,
corrispondente ai pin 2÷pin
9 del connettore della porta parallela e
garantito da un'interfaccia costituita da una coppia di
decoder con memoria 9368.
Esso prevede l'incremento e il decremento del valore iniziale, sia
manualmente che automaticamente (con cadenza di i secondo) e assicura anche
lo spegnimento dei digit (senza alterare il conteggio corrente) e
l'azzeramento del contatore.
L'effetto Blanking
(spegnimento) è reso possibile dalla presenza di una particolare circuiteria interna
a ciascun
9368 (basata su
un resistore di pull-up, adatta a realizzare una logica di tipo wired-AND con
ogni uscita open collector) per la quale la loro linea collegata al pin4
può essere
utilizzata, senza produrre danni, sia come uscita (rendendo disponibile il
segnale RBO) sia come
ingresso (consentendo di forzare su di essa il segnale
BI, per spegnere (se posta a
0) il digit collegato al Decoder.
Nel progetto il valore di quest'ultimo è affidato al bit0 del Registro di Controllo
037AH/027AH,
corrispondente ai pin 1 del connettore della porta parallela;
per spegnere i digit è dunque sufficiente applicare, sul pin4 di entrambi
gli integrati, un livello 0 su BI,
ripristinando poi la visualizzazione ponendo BI
=1.
|
NB: Con i moderni Sistemi Operativi (Windows NT,
Windows 2000, Windows XP,
ecc.)
non è più concesso l'accesso diretto alle porte di Input/Output
dall'Ambiente Assembly
o dai linguaggi di programmazione (Pascal,
Delphi,
Visual Basic, ...),
come si poteva fare prima con Windows 95/98/ME.
|
Quando si tenta, come fa il nostro progetto, un Input o un Output agli
indirizzi Hardware viene generata una segnalazione d'errore di "istruzione
protetta" o, semplicemente non succede nulla...
Naturalmente un problema di questo tipo non poteva rimanere irrisolto: puoi
accedere al driver che restituisce l'accesso diretto all'Hardware del
computer in ambiente Window2000/NT/XP
cliccando su questo link: