Forum: Mikrocontroller und Digitale Elektronik Controller macht nicht das was er soll


von Benedikt (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe schon wieder ein Problem mit einem M16 uC...
Ich habe ein 320x240 LCd mit SED1335 über CS2 an den Datenbus des M16C
angeschlossen.
Das LCD initialisiert zwar, aber es erscheinen zufällige Muster auf dem
LCD und nicht der ausgegebene Text.
Bis zu dem Punkt wo der RAM gelöscht wird, funktioniert das Programm.
Man erkennt anhand der Pegel von A0 des SED1335 (=A1 beim M16) wann ein
Befehl (=High) oder Daten (=Low) geschrieben werden.
Das letzte was noch passt ist der Befehl 0x42 um den Datentransfer zu
starten. Danach verhält sich alles nur noch merkwürdig: Die A0
Leitungen taktet, aber es findet kein Datentransfer zum LCD mehr
statt.

Kann man eigentlich irgendwie den erzeugten Assemblercode betrachen
oder geht das nur über den Debugger ? Es ist nämlich ziemlich nervig
jedesmal den Monitor zu flashen um den Assemblercode betrachten zu
können...

#pragma ADDRESS Lcd_Dat 10000H
 volatile unsigned char far Lcd_Dat;

#pragma ADDRESS Lcd_Com  10002H
 volatile unsigned char far Lcd_Com;

void lcd_init (void)
   {unsigned int i;

    Lcd_Com=0x40;       //System Set
    Lcd_Dat=0x30;
    Lcd_Dat=0x87;
    Lcd_Dat=0x07;
    Lcd_Dat=0x27;
    Lcd_Dat=0x39;
    Lcd_Dat=0xEF;
    Lcd_Dat=0x28;
    Lcd_Dat=0x00;

    Lcd_Com=0x44;       //Scroll
    Lcd_Dat=0x00;
    Lcd_Dat=0x00;
    Lcd_Dat=0xEF;
    Lcd_Dat=0xB0;
    Lcd_Dat=0x04;
    Lcd_Dat=0xEF;
    Lcd_Dat=0x00;
    Lcd_Dat=0x00;
    Lcd_Dat=0x00;
    Lcd_Dat=0x00;

    Lcd_Com=0x5D;       //Cursor Form
    Lcd_Dat=0x04;
    Lcd_Dat=0x86;

    Lcd_Com=0x4C;       //Cursor Dirction

    Lcd_Com=0x5A;       //Horizontal Scroll
    Lcd_Dat=0x00;

    Lcd_Com=0x5B;       //Overlay
    Lcd_Dat=0x01;

    Lcd_Com=0x59;       //Display On/Off
    Lcd_Dat=0x16;

    Lcd_Com=0x46;    //Set Cursor
    Lcd_Dat=0x00;
    Lcd_Dat=0x00;

    Lcd_Com=0x42;
    for (i=0; i<32768; i++) //Clear VRAM
        Lcd_Dat=0;
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.