Come interfacciare un display LCD 16×2 con un microprocessore Basic Stamp o simile

Interfacciare un display LCD 16x2 con un microprocessore Basic Stamp o simile

Display LCD 16×2 interfacciato al Basic Stamp

Un display LCD 16×2 permette di visualizzare sul proprio schermo 32 caratteri standard o personalizzabili in due righe. Funziona a 5V come il Pic e può essere utilizzato con interfaccia a 4bit ovvero utilizzando 4+2 piedini per scrivere su di esso oppure a 8bit con 8+2 piedini.
L’interfaccia che utilizzerò in questo articolo sarà quella a 8 bit. La piedinatura dell’LCD 16×2 da me illustrato è la seguente:

 

 

P.S.: Molti LCD hanno anche i piedini 16 e 17 (che possono anche essere prima di questi 14 quindi come 1 e 2 poi gli altri a seguire e servono per la retroilluminazione (Attenzione a volte non è presente pur essendoci i piedini e se presente ci vanno collegate le giuste resistenze).
Questo è il circuito.

Basic Stamp

Alcuni chiarimenti:
Il piedino 3 ovvero “CONTR” può essere collegato direttamente al VCC per avere il contrasto massimo.
RS è collegato direttamente a GND perché useremo il display solo per scrivere. Può essere collegato a un piedino del Basic Stamp se si vuole anche leggere.
Il seguente è il programma per il Basic Stamp che permette di scrivere qualche carattere.

' {$STAMP BS2}
' {$PBASIC 2.5}
RS PIN 9			'è il piedino al quale è collegato l'RS dell'LCD	
E  PIN 8			'è il piedino al quale è collegato l'E dell'LCD
CH VAR Byte			'CH è una variabile di tipo byte
'--INIT BS--
DIRL = $FF			'inizializza le porte P0-P7 per essere usate insieme
DIRH = $FF			'inizializza le porte P8-P14
'--INIT DISPLAY--
CH = %00111000        	'entra nel settaggio del sistema 
GOSUB SCRIVICOMANDO
CH = %00000001       	 ' cancella il display
GOSUB SCRIVICOMANDO
CH = %00001100        	' accende il display
GOSUB SCRIVICOMANDO
'--- Scrivi caratteri ---
CH = "C"			
'utilizza il codice ascii di C che 
spesso corrisp. con quello del'LCD
GOSUB SCRIVIDATO
CH = "I"
GOSUB SCRIVIDATO
CH = "A"
GOSUB SCRIVIDATO
CH = "O"
GOSUB SCRIVIDATO
CH = "O"
GOSUB SCRIVIDATO
CH = %10000000 + 40	'comando che manda il cursore a capo
GOSUB SCRIVICOMANDO
CH = "!"
GOSUB SCRIVIDATO
CH = "!"
GOSUB SCRIVIDATO
DO
LOOP
SCRIVIDATO:		'è uguale a SCRIVICOMANDO ma indica che è un dato con RS=1
HIGH RS		
OUTL = CH
HIGH E
LOW E
RETURN
SCRIVICOMANDO:
LOW RS			'è uguale a SCRIVIDATO ma indica 
che è un comando con RS=0
OUTL = CH
HIGH E
LOW E
RETURN
END

Potete provare i comandi del display su questo sito.
Il programma può essere facilmente adattato con altri microcontrollori. Ma per Basic Stamp non era documentato così adesso potete usare l’LCD 16×2 sul vostro BOE-BOT senza cercare su internet tantissimi progetti e adattarli.

Leave a Reply