SED1520 Display Probleme

Hi, ich habe hier ein LCD-Grafik-Display mit 2 SED1520 Controllern von Electronic Assembly. Typ: EA DIP122-5 Das ganze wird mit einem ATMEGA32 angesteuert. Ich bin so weit, dass beide Displayhälften Müll anzeigen. Ich bekomme einfach keine gültigen Daten reingeschrieben. Wenn ich ganz viele sendDatas hintereinander aufrufe, dann erscheinen tatsächlich ein paar der gesendeten Daten auf dem Display, aber nie die ersten, die ich sende, sondern die, die ich später gesendet habe.

Als RESET generiere ich eine steigende Flanke, damit die Controller im

68er Mode laufen. dann führe ich die Reset-Routine aus:

sendCfg(b11100010,cntr); //Software Reset sendCfg(b10101110,cntr); //Display aus sendCfg(b10101001,cntr); //1/32 Duty cycle sendCfg(b11000000,cntr); //ramline 0 sendCfg(b10111000,cntr); //Page = 0 sendCfg(b10100100,cntr); //static off sendCfg(b10100001,cntr); //ADC normal sendCfg(b10101111,cntr); //Display Ein

Diese scheint zu funktionieren, weil ich Displayhälften an und ausschalten kann.

Hier die Codeschnipsel zur Datenübertragung selbst: sendCfg sendet Konfigurationdaten sendData sendet Pixeldaten

-------------------------------------------------------------------------- void sendCfg(UCHAR cfg, UCHAR cntr) { if (cntr==1) { waitForNotBusy(); //einfache Warteschleife cbi(PORTC,A0); cbi(PORTC,RW); PORTB=cfg; //Configdaten auf Ausgang DDRB=0xFF; //Ausgang aktivieren swait(); //kurz warten sbi(PORTC,E1); //Enable Controller1 ein swait(); //kurz warten cbi(PORTC,E1); //Enable Controller1 aus DDRB=0x00; //Ausgang deaktivieren } else ... }

void sendData(UCHAR Data, UCHAR cntr) { if (cntr==1) { waitForNotBusy(); //einfache Warteschleife sbi(PORTC,A0); cbi(PORTC,RW); PORTB=Data; //Daten auf Ausgang DDRB=0xFF; //als Ausgänge beschalten swait(); //kurz warten sbi(PORTC,E1); //Enable einschalten swait(); //kurz warten cbi(PORTC,E1); //Enable ausschalten cbi(PORTC,A0); DDRB=0x00; //als Eingang beschalten } else ... }

--------------------------------------------------------------------------

Ob Ihr mir helfen könnt ?

Michael

Reply to
Michael Rübig
Loading thread data ...

Wie so oft, kurz nach dem Posten ist der Fehler behoben, auch wenn man vorher Stunden gesucht hat ...

Ich hatte ADC auf rückwärts gestellt.

Michael

Reply to
Michael Rübig

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.