Hallo, ich habe ein Nokia 3310 Display an einen ATMEGA8L angeschlossen. Anschluß des Displays wie bei www.microsyl.com. Der Treiber für das Display ist auch von dort. An den ATmega ist nur noch ein 4MHz-Quarz mit zwei 33pF Kondensatoren angeschlossen (XTAL1+2)und der Reset ist mit 100k zu + und 47pF zu Minus belegt. Betriebsspannung ist 3,3 V. Wenn ich die Schaltung einschalte habe ich oft das Problem, dass das Display zwar im Hintergrund dunkler wird, aber es zeigt keine Schrift an. Lasse ich es eine Zeit liegen und probiere es nochmal, dann habe ich mit viel Glück eine Anzeige, die absolut richtig ist. Meine Fragen: Hatte schon jemand ein Initialisierungsproblem und mußte deshalb die Verzögerungszeit verlangsamen? Ist der Reset-Kondensator nicht zu klein? (Komme aus der '51er-Programmierung) Hat jemand ein Tip für mich, was es noch sein kann? Werde solange noch weiter testen. Gruß Elektrikser
Hat sich erledigt. Der Reset-Kondensator war zu klein. Habe ihn durch einen 100nF ersetzt. Gruß Elektrikser
Ich habe mein 3310 Display ebenfalls wie auf www.microsyl.com angeschlossen. Als Versorgungsspannung habe ich einen Spannungsteiler der 5mA liefert. Wenn das Display mit Spannung versorgt wird, kann man genau 3,2V messen. Einziger Unterschied bei mir ist, das ich SCE permanent auf Masse gelegt gabe um einen Pin zu sparen. Somit ist zwar mein Display permanent Enabled aber das ist mir egal. Leider kann ich dem Display aber keine Zeichen entlocken. Ich habe versucht das Display mal im inversmodus zu initialisieren, aber das Display wird nicht schwarz. Kann das ein Problem mit der SCE Leitung sein. Darf man die nicht permanent auf Masse legen? Teile aus meinem Quellcode: int main (void) { clrb(PORTB,PB6); //Reset auf Low wait(); //100ms warten setb(PORTB,PB6); //Reset auf High wait(); //100ms warten LcdInit(); } void LcdInit(void) { SPCR = 0x53; //SPI Init Teiler/128 PORTA &= ~LCD_DC_PIN; SPDR = 0x21; while ( (SPSR & 0x80) != 0x80 ); SPDR = 0xC8; while ( (SPSR & 0x80) != 0x80 ); SPDR = 0x06; while ( (SPSR & 0x80) != 0x80 ); SPDR = 0x13; while ( (SPSR & 0x80) != 0x80 ); SPDR = 0x20; while ( (SPSR & 0x80) != 0x80 ); SPDR = 0x0D; while ( (SPSR & 0x80) != 0x80 ); PORTA |= LCD_DC_PIN; }
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.