Hallo, nachdem mir bei einem anderen Display mit einem anderen Controller schon sehr gut geholfen wurde und ich den Fehler (den konnte hier keiner wissen) dann doch eher zufaellig selbst gefunden habe haenge ich jetzt am naechsten Display, einem popeligen EA DIP081-CNLED Diesmal habe ich die Ehre, das Ding nach meinen Beduerfnissen anzuschliessen und so habe ich mich fuer den PortC eines ATM162 entschieden. Im Prinzip sollte der Prozessor keine Rolle spielen, ich schaffe nichtmal einen blinkenden Cursor auf das Ding. Angeschlossen habe ich es wie folgt: PC0-PC3 -> DB5-DB7 PC4 -> R/W PC5 -> RS PC6 -> E Hier mal meine Initialisierungsroutine: lcd_init: ldi temp,0x06 powerupwait: rcall delay5ms dec temp cpi temp, 0x00 brne powerupwait ldi temp, 0b00000011 out portc, temp cbi portc, 4 cbi portc, 5 rcall lcd_enable rcall delay5ms rcall lcd_enable rcall delay5ms rcall lcd_enable rcall delay5ms ldi temp, 0b00000010 out portc, temp rcall lcd_enable rcall delay5ms ldi data1, 0b00100000 rcall lcd_command ldi data1, 0x0F rcall lcd_command ldi data1, 0x01 rcall lcd_command ldi data1, 0x06 rcall lcd_command rcall lcd_clear rcall lcd_home ret Den Enable-Impuls erzeuge ich so: lcd_enable: sbi portc, 6 ;Enable high rcall delay50us cbi portc, 6 ; Enable wieder low ret ; Und wieder zurück Ein Kommando wird wie folgt ans Display gesandt: lcd_command: ;wie lcd_data, nur mit RS = 0 push Data1 swap Data1 andi Data1, 0b00001111 out Portc, Data1 cbi Portc, 5 cbi portc, 4 rcall lcd_enable ;Enable-Routine aufrufen pop Data1 andi Data1, 0b00001111 out portc, Data1 cbi Portc, 5 ;RS auf 0 setzen cbi portc, 4 rcall lcd_enable ;Enable-Routine aufrufen rcall delay50us ;Verzoegerung von 50us ret ; zurück zum Hauptprogramm Das UP fuer die Datenausgabe ist bis auf RS mit der Command-Routine identisch. Nach meinem Verstaendnis sollte nach der Initialisierung wenigstens der Cursor blinken, aber das Display bleibt tot. Vielleicht sehe ich den Wald vor lauter Baeumen nicht und jemanden faellt der grosse Denkfehler ins Auge... wenn ja und er kann mir helfen danke ich im Voraus, wenn nein danke ich fuer die Aufmerksamkeit. Viele Gruesse und einen guten Start ins neue Jahr, Thomas
holger schrieb:
> Bei Problemen mit PORTC immer erstmal JTAG Fuse ausschalten;)
Hi,
danke, daran habe ich tatsaechlich keinen Gedanken verschwendet, die
Fuse war (und bleibt) aber aus und das Display trotzdem tot.
Ist es eigentlich normal, dass man bei jedem Displaytyp erstmal an der
Init haengt?
>und das Display trotzdem tot. Was heisst tot? Siehst du was wenn du am Kontrast drehst? >Ist es eigentlich normal, dass man bei jedem Displaytyp erstmal an der >Init haengt? Jo. Wo schaltest du die PORTC Pins auf Ausgang?
holger schrieb: >>und das Display trotzdem tot. > > Was heisst tot? Siehst du was wenn du am Kontrast drehst? Kontrast ist nicht angeschlossen... war beim letzten Problemkandidaten (EA DIP204) auch nicht noetig. Tot heisst, dass ich ausser der Beleuchtung nichts sehe, kein Cursor, keine Ausgabe. > >>Ist es eigentlich normal, dass man bei jedem Displaytyp erstmal an der >>Init haengt? > > Jo. Ich habe schon an mit selbst gezweifelt :-) hat man irgendwann alle durch? > > Wo schaltest du die PORTC Pins auf Ausgang? Ziemlich am Anfang: ldi temp, 0x7F ;PortC0-C6 ist Ausgang fuer LCD out ddrc, temp Das Ganze ist ein riesen (bereits funktionierendes) Projekt, das Display dient in erster Linie mir als Debughilfe (eine LED ist etwas mager) und koennte evtl. auch fuer den Anwender von Nutzen sein. Ja, ich haette ein DIP204 verwenden koennen aber das ist mir fuer diesen Zweck doch etwas zu teuer und von den 081ern hatte ich zwei herumliegen... (bald fliegen die an die naechste Wand)
>Kontrast ist nicht angeschlossen... war beim letzten Problemkandidaten >(EA DIP204) auch nicht noetig. Also bei meinen EA DIP082 muss man die Kontrastspannung anlegen. Leg den Pin doch mal auf GND. Siehst du dann was?
holger schrieb: > > Also bei meinen EA DIP082 muss man die Kontrastspannung anlegen. > Leg den Pin doch mal auf GND. Siehst du dann was? Mach ich, allerdings evtl. erst morgen. Das Zeug ist im Keller und ich muss Babysitten. Wenn es das ist bin ich happy... auf jeden Fall tausend Dank, ich melde mich :-)
Hi, das mit dem Kontrast koennte es gewesen sein... ich habe hier ein Pollin-Evaluationsboard mit Addon-Board, auf dem ein aehnliches Display (so ein Russendisplay TC1602A) steckt. Einmal den Kontrast herumgerissen und schon blinkt der Cursor... das koennte morgen ein schoener Tag werden :-)) Vielen Dank nochmal und ein schoenes Restwochenende, bis zum naechsten Displaytyp >:-) Thomas
Thomas Wyschkony schrieb:
> Wenn es das ist bin ich happy...
Es wird schon so sein. Ich zitiere mal das Datenblatt:
"Die Displays der EA DIP081-C Serie benötigen als Kontrastspannung typ.
4,9V. Das heisst bei 3,3V Betrieb ist eine zusätzliche negative Spannung
erforderlich."
Hi Leute, nachdem es auf dem Eval-Board funtioniert hat war ichbez. dem DIP081 im Keller zuversichtlich. Also habe ich VEE mit - verbunden und, analog zum Testsystem (wegen der JTAG-Geschichte) das Ganze mit PortA verbunden. Leider ohne Erfolg, man erkennt nur die 8 Kaestchen. Ist aber auch nicht weiter tragisch, dieses Projekt bz. diese Erweiterung ist wegen anderen Gruenden zu den Akten gelegt.
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.