Forum: Mikrocontroller und Digitale Elektronik Icons löschen EA DIP203-6 (Atmega64)


von J. S. (smij)


Angehängte Dateien:

Lesenswert?

Hallo ich habe folgendes Problem: Ich benutze ein Display (EA DIP203-6) 
mit einem Atmega64.Ich benutze die mikrocontroller.net ansteuerung im 4 
bit modus. Das anzeigen von Text funktioniert wunderbar aber ich kann 
die Icons nicht löschen. Hatt vieleicht jemand einen paar Tipps wie ich 
dass machen könnte? Dass Datenblatt hab ich gelesen bin aber nicht 
richtig Schlau draus geworden.

von J. S. (smij)


Angehängte Dateien:

Lesenswert?

Ups wichtige files vergessen :)

von spess53 (Gast)


Lesenswert?

Hi

> Hatt vieleicht jemand einen paar Tipps wie ich
>dass machen könnte? Dass Datenblatt hab ich gelesen bin aber nicht
>richtig Schlau draus geworden.

Wieso? Steht doch auf S.3

SetSEGRAM adr -> 0x40

16x Write Data 0x00

MfG Spess

von J. S. (smij)


Lesenswert?

Hi spess53
Ja dass hab ich auch gefunden aber dass problem ist eher wie ich dass in 
c code umwandle. Auch dass mit dem komischen RE-bit verrwirt mich ein 
bisschen. Könntest du dass vileicht als c code posten? Dass wäre sehr 
nett.
Vielen Dank für die schnelle Antwort
MFG smij

von spess53 (Gast)


Lesenswert?

Hi

>Ja dass hab ich auch gefunden aber dass problem ist eher wie ich dass in
>c code umwandle. Auch dass mit dem komischen RE-bit verrwirt mich ein
>bisschen.

Das RE-Bit hat die Bitmaske 0x04. Da steht aber in deiner 
LCD_FUNCTION_5X10 in deiner LCD-routines.h. Wo stammt die her? Das 
solltest du in LCD_FUNCTION_RE umbenennen.

Außerdem fehlen die Bitmasken für BE, LP, REV.

Die Bits für den Befehl 'Function Set' haben teilweise unterschiedliche 
Bedeutung, je nachdem welchen Wert das RE-Bit hat.

>Könntest du dass vileicht als c code posten?

Ich benutze Assembler.

Könnte aber in etwa so
1
lcd_command( LCD_SET_FUNCTION |
2
                 LCD_FUNCTION_RE |
3
                 LCD_FUNCTION_4BIT |
4
                 LCD_FUNCTION_2LINE );
5
6
lcd_command( LCD_SET_SEG_RAM);
7
8
for ( uint8_t i=0; i<16; i++ )
9
  {
10
  LCD_WRITEDATA(0x00);
11
  }
12
13
lcd_command( LCD_SET_FUNCTION |
14
                 LCD_FUNCTION_4BIT |
15
                 LCD_FUNCTION_2LINE );
aussehen.

MfG Spess

von J. S. (smij)


Lesenswert?

hi
Vielen Dank für deine Antwort
Die icons sind zwar immer noch da aber dass hatt mir schon mal geholfen 
:)

Ich hab den Code jetzt in meinem Main direkt hinter dem lcd_init(); 
eingesetzt dass sollte so funtionieren oder?

> LCD_WRITEDATA(0x00);

Diese Funktion gibt es bei mir nicht kann ich die durch lcd_command 
ersetzen? Und laut datenblatt muss man ja auch noch das RS-bit setze, 
muss ich da noch etwas dazu schreiben?

> lcd_command( LCD_SET_SEG_RAM);
Nur damit ich dass richtig verstanden habe, dass kann ich durch 
lcd_command(0x40); ersetzen?

Vielen Dank für deine gute Antwort und deine Geduld :)

MFG smij

von spess53 (Gast)


Lesenswert?

Hi

>Diese Funktion gibt es bei mir nicht kann ich die durch lcd_command
>ersetzen?

Nein. Kannst aber dein lcd_data nehmen.

>> lcd_command( LCD_SET_SEG_RAM);
>Nur damit ich dass richtig verstanden habe, dass kann ich durch
>lcd_command(0x40); ersetzen?

Ja. Aber ich würde ein passendes #define in deine LCD-routines.h machen.

MfG Spess

von J. S. (smij)


Lesenswert?

Super jetzt funktioniert es !! :))
Vielen Dank
MFG smij

von spess53 (Gast)


Lesenswert?

Hi

>Super jetzt funktioniert es !! :))

Glückwunsch. Trotzdem würde ich mal deine LCD-routines.h mit dem 
Datenblatt des Displaycontrollers (SSD1803) vergleichen. Irgendwie passt 
das nicht wirklich zusammen.

MfG Spess

von J. S. (smij)


Lesenswert?

Hi
ja du hast recht zum teil hatt es noch störungen da zeigt es nur 
irgendwelches kauderwelsch an... Ich hatte allerdings gedacht dass es 
daran liegt dass ich die restlichen datenleitungen noch nicht auf ground 
gelegt habe... Falls dir gerade langweilig ist fällt dir gerade etwas 
sehr schlimmer auf? :) Falls nicht ist auch egal du hast mir ja scho 
genug geholfen :)

MFG smij

von spess53 (Gast)


Lesenswert?

Hi

>ja du hast recht zum teil hatt es noch störungen da zeigt es nur
>irgendwelches kauderwelsch an...

Wie lang sind den die Leitungen zum Display?

>Ich hatte allerdings gedacht dass es
>daran liegt dass ich die restlichen datenleitungen noch nicht auf ground
>gelegt habe...

Das mit dem Gnd für D0..D3 ist ein, leider, weit verbreiteter Irrtum. 
Die Pins haben interne Pull-Up-Widerstände.

MfG Spess

von smij (Gast)


Lesenswert?

hi

> Wie lang sind den die Leitungen zum Display?
Die Leitungen sind nur ca.15cm lang. Ich denke dass wird weniger dass 
Problem sein. Wäre es vileicht möglich dass die Ansteuerung den "hohen" 
systemtakt nicht verträgt? Weil bei einem früheren Projekt mit einem 
einfacheren Display sind diese Störungen auch aufgetreten. allerdings 
nur mit einem Sytemstakt von 16MHz... Bei 11MHz lief alles normal...


> Das mit dem Gnd für D0..D3 ist ein, leider, weit verbreiteter Irrtum.
> Die Pins haben interne Pull-Up-Widerstände.
Danke für den Hinweis



MFG smij

von Henk (Gast)


Lesenswert?

Das Timing des SSD1803 Controllers ist unter aller Kanone, ich habe 
lange versucht diese Displays sauber zum Laufen zu bringen, ohne Erfolg.
Irgendwas hängt da immer wieder, auch bei langsamste Kommunikation kommt 
es immer wieder aus dem Tritt. Ich kann von diesem Nachfolgedisplay nur 
abraten.

Die 204 liefen ganz tadellos, der Nachfolger ist misraten.

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.