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
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
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?
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
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
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
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
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
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...
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