Pilotaggio del display di un Nokia 3310 con microcontrollore PIC

Pilotaggio del display di un Nokia 3310 con microcontrollore PIC
Il display del telefono cellulare Nokia3310 è un LPH7779 da 84x48 pixel. In figura 4 lo schema della connessione del display ad un microcontrollore PIC16F877. Lo schema prevede l’uso di  una EEPROM per la memorizzazione dei caratteri.

Figura 4. Connessione del display al PIC

Figura 4. Connessione del display al PIC

Nel listato 3 una serie di  routine  scritte in PICC (Hitech) per la gestione del display. Le routine prevedono la dichiarazione delle opportune  variabili, in partico- lare la variabile “bytefornokia” che costituisce il dato da inviare al display.

void nokia_write_command(void)
//”bytefornokia” viene inviato come comando
{
nok_dc=0;
nok_cs=0;
nokia_write_dorc();
nok_cs=1;
}
void nokia_write_data(void)
//”bytefornokia” viene inviato come dato
{
nok_dc=1;
nok_cs=0;
nokia_write_dorc();
nok_cs=1;
}
void nokia_write_dorc(void)
//invia un dato (d) o un commando (c)
{
for (c=8;c>0;c--) {
nok_sclk=0;
if ((bytefornokia&0x80)==0){
nok_sda=0;
}
else {
nok_sda=1;
}
nok_sclk=1;
bytefornokia=bytefornokia<<1;
}
}
void nokia_gotoxy (byte xnokia, byte ynokia)
//posiziona il cursore sullo schermo
{
bytefornokia=(0x40|(ynokia&0x07));
nokia_write_command();
bytefornokia=(0x80|(xnokia&0x7f));
nokia_write_command();
}
void nokia_printmessage(const char* message)
//Scrive una sringa sul display
{
while (*message)
nokia_printchar(*message++);
}
void nokia_printchar(byte c)
//scrve un carattere sul display
{
charsel=c;
ext_eeprom_to_nokialcd();
}

Listato 3

 

One Response

  1. Maurizio Maurizio 13 febbraio 2016

Leave a Reply