|
 |
Applicazioni Software |
PROGETTO n° 03 - 2/11
[38 di 65] |
 |
Come negli altri progetti proposti in
questa Sezione, il display LCD è
montato su un
Modulo LCD ed è governato dal controller
HD44780, del quale sono disponibili tutti
i dettagli, sia sul suo
funzionamento hardware
che sulle sue
necessità software... |
 |
Questo progetto è la versione
potenziata e ottimizzata del precedente e si basa su un'idea originale di
Paolo Rallo;
si tratta di una soluzione
assembly alternativa, in sintonia con le tecniche e la
linea editoriale tipica di ogni altro applicativo di questo
Sito. |
 | Come il precedente,
realizza in pratica un Editor per LCD,
interfacciandosi con la tastiera del
PC per il controllo totale della
scrittura su un
Modulo LCD , garantendo
contemporaneamente l'eco a video
delle operazioni imposte sul display. |
 | La pressione del tasto
F1 consente di intervenire sui 2 visualizzatori
(LCD e a video), adattandoli al collaudo di 2
diverse tipologie, entrambe a
2
linee, ma con 16 caratteri
oppure con
40 caratteri
per riga. |
 |
Risulta evidente che, variando
da 16 a 40 il numero di
caratteri per riga, per poter
collocare i caratteri in sequenza
alternativamente su entrambe le righe
bisogna controllare l'indirizzo esadecimale. |
 |
Ed è proprio questa la parte più
impegnativa del progetto, resa trasparente dall'innocua pressione
di
F1, ma in realtà piuttosto
impegnativa; ogni azione di editing,
dalla scrittura vera e propria allo
spostamento a vuoto del cursore, dovrà
fare i conti con la dimensione desiderata per i
display, garantendo comunque la
circolarità della scrittura dei caratteri e
della posizione del cursore. |
 |
Per il
visualizzatore LCD si dovrà intervenire in modo dinamico sul byte d'indirizzo
della DDRam, coinvolgendo le 16+16 locazioni da
00H a
0FH (per la prima riga) e da
40H a
4FH (per la seconda riga) o
le 40+40 locazioni da 00H a
27H (per la prima riga)
e da
40H a
67H (per la seconda riga). |
 |
La necessità di riprodurre,
contemporaneamente, il medesimo
effetto anche sul visualizzatore a video
porterà il suo contributo di complessità. |
 |
In conclusione, il controllo dell'Editor per LCD
garantisce comunque:
 |
la
circolarità della scrittura dei caratteri assunti da tastiera,
intervenendo in modo dinamico sul byte d'indirizzo
della DDRam |
 |
l'intervento sulla posizione di stampa,
spostando il cursore senza scrivere, con
Invio (manda a
capo) e con tutti i tasti di
movimento (le 4 frecce,
PgUp,
PgDn, Home e
End) |
 |
la correzione dei testi già
scritti con BackSpace (cancella
indietro), intervenendo con spazi
sia nelle locazioni DDRam che
nell'eco a video. |
 |
la cancellazione
(con F2) di entrambi i display (riempiendo di
spazi sia tutte le locazioni DDRam
che il campo di acquisizione dell'eco a video) |
|
 | Per il controllo del
Modulo LCD il progetto prevede
la programmazione della porta parallela standard
SPP
(Standard Parallel Port)
LPT1. |
 |
NB: Con
i moderni Sistemi Operativi (Windows NT,
Windows 2000,
Windows XP )
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 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:
|
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|