Ciao,
la mia spiegazione vale per un lcd con controller KS0070B
formatting link
questo controller è compatibile con HD44780, quindi non penso che ci saranno problemi.
Allora come hai detto si possono definire 8 caratteri personali con codici (valore da scrivere nella DDRAM)
0000X000
0000X001
0000X010 ...
0000X111
Per capire come scrivere un carattere personale guarda la pagina 16 del datasheet. Come vedi A5 A4 A3 selezionano il carattere e A2 A1 A0 la riga del singolo carattere. Quindi per definire un carattere devi effettuare 8 operazioni di scrittura:
- imposti l'indirizzo della CGRAM (set CGRAM address) ricordando che i 3 bit più significativi rappresentano il numero del carattere (0,1,2...7) ed i 3 meno significativi l'indirizzo della riga nel riquadro 5x8;
- scrivi (Write data to RAM) il valore della della riga del riquadro.
Mauro