Forum: FPGA, VHDL & Co. st7920 mit grafik display


von Krimo E. (eniba)


Angehängte Dateien:

Lesenswert?

Guten Abend,

ich bin dabei den ST7920 mit Grafichen Display Controller   in VHDL zu 
progrmmieren.
Es gab den Textdisplay modus  und den Graichen display modus.
den Text display modus habe ich im betrieb genommen und funktionniert 
einwand frei.
Aber wenn ich den Grafichen Mode ansteurn will also,die Pixel einzel 
ansprechen, geht leider nicht und wird nur komische Chinesichen Zeichen 
dargestellt.
bei der Initialisierung sende ich folge befehle zur Display:
0x30;
delay
0x30;
delay
0x01;
delay
0x0c;
delay
0x06;
delay
0x34;
delay
0x36;
delay
0x80;
delay
x80;
delay
und dann die pixeldaten also 16bit wie zb0xff;0xff;....

kann Jemand den datenblatt anschaut und mir sagt was ich beider 
initialisierung falsch gemacht habe?

Danke
Krimo

von Krimo E. (eniba)


Lesenswert?

Hallo,

hat keiner von euch einen typ ?.

Danke.
Gruß
krimo

von Krimo E. (eniba)


Lesenswert?

Hallo,
Habt ihr keine Ahnung oder wollte ihr nicht antworten?
Gruß
Krimo

von Klaus (Gast)


Lesenswert?

Krimo Eniba schrieb:
> Habt ihr keine Ahnung oder wollte ihr nicht antworten?
Wir haben keine Ahnung.

Zeig doch mal richtigen Code.
Kein Mensch liest sich Dein
1
0x01;
2
delay
durch und schaut im Datenblatt, ob es richtig ist.

Verwende doch eine lesbare Initialisierung, mindestens Kommentare wären 
hilfreich.

Klaus

von Krimo E. (eniba)


Lesenswert?

Hallo,

>Klaus schrieb:Zeig doch mal richtigen Code.
>Kein Mensch liest sich Dein

>0x01;
>delay

>durch und schaut im Datenblatt, ob es richtig ist
Erst mal Danke für deine Antwort.
Also,die Initialisierung von LCDisplay im Text modus ist Standard.
Wer den LCD schon progrmmieren hat und schon damit Erfahrung  hatte,kann 
einfach den code der ich gepostet habe vertsehen.
Es geht nur um die Initialisierung von Display im Graphik mode mehr 
nicht,und wie ich schon geschrieben habe,im Text modus funktionniert 
alles einwandfrei das heisst kann man schreiben was er will auf der 
Display.
mir geht aber um den Grafichen modus damit ich die Pixel einzel steurn 
kann.
und   Ohne datenblatt zu gucken kann keine
 mir eine richtige Antwort geben.
und deswegen habe ich den Datenblatt als Anhang.

Danke
Gruß
Krimo

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Krimo Eniba schrieb:
> den Text display modus habe ich im betrieb genommen und funktionniert
> einwand frei.
Hast du nochmal alle Datenleitungen auf vertauschte oder unterbrochene 
Leitungen untersucht? Hast du im Textmodus den gesamten Zeichensatz von 
0x00 bis 0xff ausgegeben? Kommen alle diese Zeichen in der richtigen 
Reihenfolge?

von Krimo E. (eniba)


Angehängte Dateien:

Lesenswert?

Hallo Lothar,

vertauchte datenleitungen kommt nicht in Frage da ich beide 
programmiert(seriell und parallel) und zeigt das gleiche wie im text 
modus als auch im grafik modus.
im Text modus habe ich nicht den gesamten zeichensatz gechickt aber was 
ich schreiben will,wird richtig angezeigt.
meine Vermutung ist das die initialisierung nicht richtig im grafik 
modus.

danke
Gruß
krimo

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Krimo Eniba schrieb:
> Aber wenn ich den Grafichen Mode ansteurn will also,die Pixel einzel
> ansprechen, geht leider nicht und wird nur komische Chinesichen Zeichen
> dargestellt.
Meinst du damit das, was im linken Bild (Grafik.jpg) zu sehen ist? Das 
sind m.E. keineswegs chinesische Zeichen (denn die sehen laut Datenblatt 
des Controller ganz anders aus), sondern durchaus irgendwelche 
Bitmuster...

Krimo Eniba schrieb:
> und dann die pixeldaten also 16bit wie zb0xff;0xff;....
Wie und wohin werden die geschrieben? Kannst du nicht einfach den 
VHDL-Code anhängen, dann kann man sich selber ein Bild machen.

von Krimo E. (eniba)


Lesenswert?

Hallo lothar,

im datenblatt steht dass,die adressen Vertikal und horisontal also x,y 
die ab adresse 0x80 anfangen(tabelle 7)X:16*16 und Y :64.
also normalerweise wenn ich alle adressen mit 0xFF ausfülle bekomme ich 
den Display alles weiß und wenn 0x00 also bekomme ich nix und wenn ich 
im mitte vom Display was schreiben will wie eine Zeile zumbeispiel mit 
16 punkten sende ich in die Adresse im Mitte 0xFF dann habe ich 16 
punkten quasi 16 pixel.
Aber was ich bekomme ist immer ein komische Bild

Gruß
Krimo

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.