www.mikrocontroller.net

Forum: Projekte & Code LCD mit T6963C in ASM


Autor: Michael U. (Gast)
Datum:
Angehängte Dateien:

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

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super sache... werde es mal mit einem Optrex DMF5003 probieren...

Autor: Michael U. (Gast)
Datum:
Angehängte Dateien:

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

Autor: Michael U. (Gast)
Datum:
Angehängte Dateien:

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

Autor: Fabian (Gast)
Datum:

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

Autor: Michael U. (Gast)
Datum:
Angehängte Dateien:

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

Autor: Fabian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Superklasse!
Vielen vielen Dank!

Autor: Reiner O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

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

Gruss Reiner

Autor: Hansi Lein (fabian87)
Datum:

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

Autor: Michael U. (Gast)
Datum:

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

Autor: Michael Fr. (nestandart)
Datum:

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

Autor: Michael U. (amiga)
Datum:

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

Autor: pacer (Gast)
Datum:

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

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

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

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.