mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD mit T6963C via µC


Autor: Juergen2k (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich ahbe ein Grafik LCD mit einem T6963C an meinen Pic angeschlossen.
Der Bus leigt auf PortB und die 4 Steuerleitungen (CD, RD, WR, CE) auf
PortA 0 bis 3. Es ist auf 6 Pix gelötet (also FS1 auf +5V)
Habe nun ein kleines Beispielprogramm entwickelt und versucht nur
einmal ein Zeichen auszugeben. Davor habe ich es folgendermaßen
initialisiert:

Graphics Home Adress: 0000h
Graphics Are Set: 0028h (also nach 40 Byte ne neue Zeile)
Text Home Adress: 1400h
Text Area Set: 0028h (also nach 40 Zeichen ne neue Zeile)
Display Mode: 9Eh (10011110 -> Text on, Grafik on, Cursor on Blink
off)
Mode Set: 81h (10000001 -> internal Rom, EXOR Mode)
CG Ram: 03h (also CG Ram ab 1C00h)
Cursor Pointer: 0000h
Adress Pointer: 0000h

und dann habe ich versucht ein Zeichen auszugeben und bin mit dem
Adress Pointer auf 1400h (Also in den Text Bereich) und mit dem Cursor
Pointer auf 0101h und dann hab ich mal versucht ein Zeichen zu
schreiben (also Data 21h und Command C0h) aber es geht nicht.
Bildschirm verändert sich nix..

Hab ich was vergessen? Kann mir jemand helfen? Bin für jede Hilfe
dankbar...


hab mal die source hochgeladen. könnt sie euch ja mal anschauen ob ihr
was findet was nicht passt.. danke
die file heißt bcu.asm und ihr findet sie unter

http://juergen2k.lima-city-webspace.de/

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider kann ich mit nem PIC nix anfangen, aber evtl. liegts ja am
Display. Daß es eine negative Spannungsversorgung braucht, weißt Du?

Autor: Juergen2k (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja neg spannung ist da.. am display kanns nicht liegen. mitm pc gehts
nämlich

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jürgen,

wenn ich dein Programm richtig lese, setzt du den Adresspointer
in der main Schleife auf 0000h

meine c Function mit xy Positionierung des Char sieht so aus:

void write_char(unsigned char data, unsigned char x,unsigned char y,
)
{
  unsigned char pos;
  pos=y*LCD_TEXT_AREA+x;
  write_data(pos);
  write_data(0x00);
  write_command(0x24);   //address Pointer ausgabe
  write_data(data);      // UP zur datenausgabe
  write_command(0xC0);
}

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

zur Vorigen Antwort habe ich noch vergessen deine
Text Home Adresse ist 1400h deswegen musst du den
Adresspointer für die Adresse 0 im Textbereich auf 1400h setzen

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.