www.mikrocontroller.net

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


Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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;
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.