Forum: Projekte & Code LCD mit T6963C in ASM


von Michael U. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

da ich es gerade brauchte und ich nichts richtig passendes fand...
Das Display ist das DG 24128-01.

Bis jetzt sind drin:
 Hor. Line zeichnen (komplette Zeile)
 Vert. Linie Zeichnen (komplette Spalte)
 240 Byte aus dem Ram als Werte ausgeben
 Text an Zeile/Spalte aus Rom schreiben
 Zeichensatz definieren

Da die Planungen Richtung Oszi/Logic-Analyzer/??? gehen, wird es
vorrangig dazu nötige Funktionen geben.
Das Display kommt demnächst Memory-Mapped zusammen mit 8k Ram an den
ATMega8515, dann werde ich weitersehen.

Ich habe eigentlich alles relevante definiert, so das es auch gut an
andere Displaygrößen azupassen gehen sollte.

Vielleicht kann ja jemand die Fragmente gebrauchen.

Gruß aus Berlin
Michael

von Fabian (Gast)


Lesenswert?

Super sache... werde es mal mit einem Optrex DMF5003 probieren...

von Michael U. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

freut mich, wenn es hilft.

Die jetzige Version sollte mit FONT_SIZE 6 und 8 klarkommen, nur die
Definition anpassen.

Gruß aus Berlin
Michael

von Michael U. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

da ja doch ein paar Leute die Postings zumindest gelesen haben, noch
ein kleiner Nachschlag.

 Zeichensatz für Koordinaten erstellt
 Horizontale und Vertikale Linien jetzt ab beliebiger Position in
beliebiger Länge (max. Displayauflösung!, keine Fehlerabfragen)
 Display wahlweise Memory-Mapped oder I/O-Port

 Ich hänge mal das komplette AVRStudio-Projekt ran, ich habe
angefangen, den Kram in Einzelfiles zu zerlegen.
Noch nicht alles aufgeräumt...

Da meine Projektpläne inzwischen halbwegs klar sind, mach ich mal einen
neuen Thread auf, der Titel hier passt bald nicht mehr.
Dort hänge ich mal ein Bild des Testaufbaus ran. ;)

Also mal unter Oszi- & Logikanalyser mit LCD nachschauen.

Gruß aus Berlin
Michael

von Fabian (Gast)


Lesenswert?

hi,

hast du zufällig noch eine ältere version übrig, auf der du einfach nur
das display initialisierst und einen testtext anzeigen lässt? Vll. sogar
noch atmega8 kompatibel?

von Michael U. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mal schnell die zweite Version (hängt am 3. Posting oben) auf
den Mega8 geändert. Hängt hier dran.

Daten an Port D, Steuerleitungen an Port B, steht im File, Takt steht
zwar auf 8MHz, spielt aber nach unten keine Rolle, muß auch mit 1MHz
laufen.

Sollte eigentlich dieses Bild erscheinen:
http://www.mikrocontroller.net/attachment.php/389541/LCD.jpg

Gruß aus Berlin
Michael

von Fabian (Gast)


Lesenswert?

Superklasse!
Vielen vielen Dank!

von Reiner O. (Gast)


Lesenswert?

Hi,

Na, Michael,
finde garnicht die UART-Routinen ???

Gruss Reiner

von Hansi L. (fabian87)


Lesenswert?

Heyho,

schreibe mir gerade eine eigene displayansteuerung in assembler für 
lernzwecke und damit ich flexibler bin.
Dabei ist mir bei dir im code folgendes aufgefallen:

ldi    TEMP_A,low(CHR_OFFSET)  ; Offset-Adresse CharGen
rcall  lcd_write_data      ; Daten
ldi    TEMP_A,high(CHR_OFFSET)
rcall  lcd_write_data      ; Daten
ldi    TEMP_A,OFFSETA
rcall  lcd_write_cmd      ; Kommando


du lädst also als !erstes! das untere byte des offset registers und 
!dann! das obere byte.
Laut Datenblatt muss D1 aber Data (also beim Offset das obere byte) und 
D2 00H (also das nicht benötigte untere byte sein).
Mit deinem Code würdest du den offset also ungewollt auf 00h stellen, da 
du low- und highbyte falschherum lädst.

Wenn ich nicht richtig liege, dann kläre mich bitte auf damit ichs auch 
versteh :)

Viele Grüße Fabian

von Michael U. (Gast)


Lesenswert?

Hallo,

da mein guter alter Ilyama-Monitor gerade sein Lebenslicht ausgemacht 
hat und ich für heute nur noch mein NOT-Book (P1-200MMX...) zur 
Verfügung habe:

Du scheinst recht zu haben.
Ich verstehe im Moment nur nicht, warum meine Software macht, was sie 
soll, auch der Oszi/Logikanalyser mit diversen selbst definierten 
Symbolen macht das, da muß ich dann aber erstmal morgen in die Sourcen 
schauen, wenn ich wieder einen Monitor zur Verfügung habe...

Gruß aus Berlin
Michael

von Michael F. (nestandart)


Lesenswert?

hab ich da ein fehler entdeckt ?

"Enable H" muss doch mit LCD_CE erfolgen...

;*********************************************************************** 
****
;  Liest Auto-Status vom Display
;*********************************************************************** 
****
lcd_status_w_auto:
................................
................................
    cbi    LCD_C_PORT,LCD_CE    ; Enable L
................................
................................
    sbi    LCD_C_PORT,LCD_CD    ; Enable H
................................
................................
    ret

von Michael U. (amiga)


Lesenswert?

Hallo,

Michael Fr. schrieb:
> hab ich da ein fehler entdeckt ?
>
> "Enable H" muss doch mit LCD_CE erfolgen...
>
> ;*********************************************************************** ****
> ;  Liest Auto-Status vom Display
> ;*********************************************************************** ****
> lcd_status_w_auto:
> ................................
> ................................
>     cbi    LCD_C_PORT,LCD_CE    ; Enable L
> ................................
> ................................
>     sbi    LCD_C_PORT,LCD_CD    ; Enable H
> ................................
> ................................
>     ret

offenbar ja... ;-(((

Naja, wenn er 2 1/2 Jahre nicht aufgefallen ist, werde ich den 
korrigierten Code auch nicht reinstellen. :-)

Gruß aus Berlin
Michael

von pacer (Gast)


Lesenswert?

auch nach über 2 Jahren gibt es Leute die den Thread noch lesen.
Zumal er auch in der Linkliste aufgeführt ist.
Also wenn du mal Zeit hast kannst du ja die korrigierte Version 
hochladen.
Naja, da ich werde mich mal in die Thematik einarbeiten...

von pacer (Gast)


Angehängte Dateien:

Lesenswert?

Aus Michael seinem Code habe ich mal eine absolute Minimalversion 
gemacht.
Es wird lediglich der Textmodus verwendet sowie zeichenweise geschrieben 
bzw. gelöscht.

vielen Dank nochmal an Michael

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.