Nokia 3310 PIC 18F452
Montag, 21. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  CCS Compiler  |  LCD (CCS)  |  Nokia 3310 PIC 18F452 « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Nokia 3310 PIC 18F452  (Gelesen 2595 mal)
 
Bobby
Gast
« am: Mai 18, 2008, 17:23:43 »

Hallo,

ich habe das Nokia Display 3310 an meinem Pic 18F425 nach der Anleitung im CCS Forum http://www.ccsinfo.com/forum/viewtopic.php?t=25571 bzw. nach http://www.techdesign.be/projects/012/012.htm angeschlossen. Mein Pic läuft mit 20Mhz. Ich bekomm aber kein vernünftiges Zeichen auf das Display. Manchmal ist das Display voller konfuser Zeichen, wo Teile meiner Zeichenkette mit drin sind. Manchmal ist das Display komplett schwarz.
Aber den gewollten Text an eine bestimmt Pos. bekomm ich nicht hin.
Kann es sein das die 20 Mhz zu schnell sind?
Zum kompilieren verwende ich den PCH 4.023.

Vielen Dank
Bobby
Gespeichert
Bobby
Gast
« Antworten #1 am: Mai 18, 2008, 22:09:49 »

Hallo,

ich habe meinen Fehler gefunden habe nun aber ein anderes Problem.
Die ASCII Zeichen der ersten Tabelle funktionieren nicht. Wenn c.B. das + ausgegeben werden soll kommt nur ein Pixelwirrwar.
Lt. Tabelle besteht das Zeichen aus den 5 Hex Zahlen 0x08,0x08,0x3e,0x08,0x08, angezeigt wird aber 0x08,0x00,0x6a,0x00,0x2e.
Ich kann mir nicht erklären, wo diese Zeichen herkommen.
Ausgelesen und auf dem Display dargestellt werden die Zeichen mit folgende Code:

void nokia_printchar(int8 cvar)               // Write 1 character to LCD
{
  charsel=cvar;
  table_to_nokialcd();
}
//////////////////////////////////////////////////////////////////////////////////
void table_to_nokialcd(void)   // extract ascii from tables & write to LCD
{
  if (charsel<0x20)return;
  if (charsel>0x7f)return;

  for (char_row=0;char_row<5;char_row++) {      // 5 bytes

    if (charsel<0x50){charpos=(((charsel&0xff)-0x20)*5);chardata=TABLE5[(charpos+char_row)];} // use TABLE5
   
    else if (charsel>0x4f){charpos=(((charsel&0xff)-0x50)*5);chardata=TABLE6[(charpos+char_row)];} // use TABLE6
     nokia_write_data(chardata);      // send data to nokia
   
  }
  nokia_write_data(0x00);      //    1 byte (always blank)

}

Zeichen aus der 2. Tabelle funktionieren tadellos.

Vielleicht kann mir bitte jemand helfen.
Danke
Bobby
Gespeichert
Bobby
Gast
« Antworten #2 am: Mai 19, 2008, 22:21:54 »

Kann mir da bitte niemand helfen???

Bobby
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.032 Sekunden mit 16 Zugriffen.
 
Top! Top!