Tecnologia dei Cristalli Liquidi
Controller/Driver HD44780-HW Controller/Driver HD44780-SW
Connettore Modulo LCD Interfaccia Parallela LPT1
Applicazioni Software Progetti Hardware
Download INDICE

 Display LCD

LCD-Controller HD44780 Software

  HD44780 - Programmazione

Descrizione Istruzioni [12 di 65] 

 HD44780 - Descrizione delle Istruzioni

                     

bulletIl componente HD44780 è nato per costituire l'interfaccia con qualunque microprocessore o controllore di processo in grado di fornire i 2 segnali R/W e RS che regolano il traffico d'informazioni del suo bus dati a 8bit.
bulletAnche una porta parallela può simulare con estrema facilità questa gestione, e sarà utilizzata per l'interfacciamento dei Moduli LCD in tutti i miei progetti.
bulletNaturalmente diventa importante imparare le istruzioni che consentono il controllo alla CPU esterna; alcune sono dedicate al controllo del visualizzatore, altre alla gestione dei dati sulle 2 RAM
bulletRiprendiamo un concetto importante: se il controller è occupato a gestire i trasferimenti interni e non è in grado di accettare l'istruzione successiva, per cui è necessario leggere in polling la flag di Busy (bit7 del dato letto sul bus con R/W=1 e RS=0) prima di fornire il comando successivo; questo bit è forzato internamente a 1 se il controller è occupato ad eseguire una precedente istruzione, per cui è necessario aspettare che torni a 0.
bulletLe istruzioni (bytes di comando) necessarie per controllare il Modulo controllato dal HD44780 sono raccolte nella tabella seguente:

                     

Istruzione Input Data Bus Descrizione Tempo
max
RS R/W D7 D6 D5 D4 D3 D2 D1 D0
Nop  

 

 

 

0

 

 

 

 

0

0 0 0 0 0 0 0 0 Nessuna operazione 0
Cancella Display 0 0 0 0 0 0 0 1 Cancella il visualizzatore e fissa
Address DDRam Counter a 0
1,52 ms
Cursore a Capo 0 0 0 0 0 0 1 x fissa Address DDRam Counter a 0
senza modificare la DDRAM
display spostato alla posizione iniziale
1,52 ms
Modo d'accesso
dei caratteri
0 0 0 0 0 1 I S Address >> I=0 Decremen I=1 Incremen
display >> S=0 è bloccato  S=1 scorre    
37 us
Controllo Display 0 0 0 0 1 D C B display >> D=0 spento    D=1  acceso
cursore  >> C=0 invisibile   C=1 visibile
carattere>>B=0 fisso B=1 lampeggiante
37 us
Scorrimento cursore e display 0 0 0 1 S/C R/L x x S/C=0 il cursore si muove 
S/C=1 il display scorre
R/L=0 verso sinistra 
R/L=1 verso destra
(non modifica la DDRAM)
37 us
Impostazioni Parametri 0 0 1 DL N F x x interfaccia  >>  DL=0 a 4 bit
                        DL=1 a 8 bit
Display >> N=0 a 1 linea  N=1 a 2 linee
Matrice carattere >> F=0 5x7  F=1 5x10 
37 us
Indirizzo CGram 0 1 Character Generator RAM Imposta indirizzo CGRAM per R/W dati 37 us
Indirizzo DDram 1 Display Data RAM Address Imposta l’indirizzo DDRAM per R/W dati 37 us
Lettura Bit di Stato
Lettura  Indirizzo
1 BF Address Counter Legge Flag di Busy e’Address Counter
BF=0 comando eseguito
BF=1 comando in esecuzione
1 us

 

Scrittura Dato 1 0 Dato da Scrivere Scrive dati dalla CGRAM o DDRAM 37 us
Lettura Dato 1 Dato da Leggere Legge dati nella CGRAM o DDRAM 37 us

                     

bulletI tempi di esecuzione (valore massimo) sono indicativi e si riferiscono ad una frequenza di oscillatore di 270 kHz; se essa cambia nel valore f# i nuovi valori si calcolano moltiplicando quelli della tabella per il fattore 270/f# (per esempio, con f#=250kHz >> 37us diventa 37*270/250= 40us).
bulletSebbene la tabella sia sinteticamente molto precisa, vediamo di proporre in dettaglio tutti i possibili codici operativi:
punto elenco OpCode 00H  Nop : nessuna operazione, classica istruzione che no produce effetto
punto elenco OpCode 01H  Clear Display : scrive il codice 20H (cioè il carattere "spazio") in tutte le locazioni DDRam ed azzera il Contatore d'indirizzo AC, riportando il visualizzatore nelle condizioni originali; il cursore lampeggia nell'angolo in alto a sinistra (primo carattere della prima riga); in pratica esegue lo stesso servizio che la procedura ClearScreen (Pascal) impone al nostro monitor.
punto elenco OpCode 02H o 03H  Cursore a capo : forza a 0 il contatore d'indirizzo AC, senza cambiare il contenuto della DDRam; il cursore lampeggia nell'angolo in alto a sinistra (primo carattere della prima riga); si comporta come il cursore del nostro monitor quando si preme il tasto Home.
punto elenco Modo d'accesso dei caratteri : specifica la direzione verso la quale si sposterà il cursore (se i caratteri sono mantenuti al loro posto) o i caratteri visualizzati (se è il cursore che rimane fisso); in sostanza stabilisce se le 2 memorie DDRam o CGRam saranno lette o scritte in locazioni con indirizzo crescente o decrescente, (cioè incrementando o decrementando l'indirizzo contenuto in AC); naturalmente qualora l'istruzione sia riferita alla CGRam l'eventuale effetto di shift sul display non viene imposto.
Le seguenti animazioni aiutano a capire l'effetto di queste 4 istruzioni: si suppone di scrivere la sequenza dei caratteri "GIOBE" nella DDRam:
  OpCode 04H : si scrive in locazioni con indirizzo decrescente (cioè AC viene decrementato); il cursore si muove verso sinistra, cioè il testo creato rimane fisso: l'effetto è quello di una frase che si sviluppa alla rovescia all'indietro, estratta dal cursore, a partire dalla sua posizione iniziale.
  OpCode 05H : si scrive in locazioni con indirizzo decrescente (cioè AC viene decrementato); il cursore è mantenuto fisso, cioè il testo creato si muove verso destra: l'effetto è quello di una frase che si sviluppa alla rovescia in avanti, estratta dalla posizione iniziale del cursore.
  OpCode 06H : si scrive in locazioni con indirizzo crescente (cioè AC viene incrementato); il cursore si muove verso destra (cioè il display è fisso): l'effetto è quello di una frase che si sviluppa diritta in avanti, estratta dal cursore, a partire dalla sua posizione iniziale.
  OpCode 07H: si scrive in locazioni con indirizzo crescente (cioè AC viene incrementato); il cursore è mantenuto fisso, cioè il testo creato si muove verso sinistra: l'effetto è quello di una frase che si sviluppa diritta indietro, estratta dalla posizione iniziale del cursore..

    

Pagina Precedente Display LCD Pagina Successiva Descrizione Istruzioni   Torna alla Home della Sezione Lezioni - Vai al DownLoad dei files DOC Torna al Menu di "Dentro al Computer"
12 di 65
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

    

Display LCD » Tecnologia dei Cristalli Liquidi | Controller/Driver HD44780-HW | Controller/Driver HD44780-SW
Connettore Modulo LCD | Interfaccia Parallela LPT1 | Applicazioni Software | Progetti Hardware Download | INDICE
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati