Hi, Ich habe ein paar fragen bezüglich des LCD Tutorials. Also ich habe ein LCD Display von Reichelt ( EA DIP204-4 mit dem KS0073 Controller) an einem ATmega16 angeschlossen. Ich habe die Software aus dem LCD Tutorial benutzt und sie funktioniert auch wunderbar. jetzt will ich mal ein wort in die zweite oder dritte oder vierte zeile schreiben und niergenwo sonst hin. wie funktioniert das? irgendwie kann ich ja eine curserposition angeben von der ab das, die zeichen geschreiben werden sollen. aber wie? ich vermute ich muß doch dazu das einen wert in das DDRAM schreiben oder? Dann noch meine zweite Frage: um das display anzusteuern, brauch ich ja nicht immer das enable bit. Dann reicht es doch einfach, wenn ich aus der lcd_command routine die lcd_enable routine weglasse oder? und an welcher stelle des tutorials kann ich den vier zeilen modus einstellen? vielen dank schonmal
Im Datenblatt findet man ein paar nette Hinweise in Form einer Tabelle. PDF-Reader und grundlegende Englisch-Kenntnisse sollten vorhanden sein ;) Auf Seite 2 stehen in der Tabelle sämtliche Befehle, und auf Seite 3 stehen rechts neben dem Initialisierungsbeispiel die Adresse für die jeweilige Zeile. Enable wirst du deswegen brauchen, weil das die Takt-Leitung ist. Mit einer fallenden Flanke auf dieser Leitung werden die anliegenden Daten in den Display-Speicher übernommen.
http://www.mikrocontroller.net/forum/read-1-190985.html#190985 vielleicht hilft dir das was. Weiss nicht, welchen Compiler du benutzt, aber wenn du die lib-Datei mal durchschaust, kannst du damit vielleicht was anfangen.
Hi ich benutze das AVR Studio. die Adressierung habe ich schon gesehen. 1.Zeile $00..$13 2.Zeile $20..§33 3.Zeile $40..$53 4.Zeile $60..$73 leider funktioniert nur die erste und dritte zeile. es wäre aber auch toll wenn die 2. und 4. Zeile funktionieren würde. mit ldi temp1,0b00001001 ; 4zeilen modus recall lcd_command ldi temp1, 'T' ;Zeichen anzeigen rcall lcd_data ldi temp1, 'e' ;Zeichen anzeigen rcall lcd_data ldi temp1, 's' ;Zeichen anzeigen rcall lcd_data ldi temp1, 't' ;Zeichen anzeigen rcall lcd_data sollte ich ja eigentlich den vier zeilen modus aufrufen können. Fünktioniert aber nicht. Nachdem ich diesen Befehl ausgeführt habe, ist das display leer.
Hi, die Init weicht auch vom HD44780 ab. writecmd(0x34); writecmd(0x09); writecmd(0x30); writecmd(0x0F); writecmd(0x01); writecmd(0x06); beachte bitte das die einzelnen Routinen eine gewisse Ablaufzeit benoetigen o. du musst das busyflag abfragen.
Also das ist aus dem tutorial: lcd_init: ldi temp3,50 powerupwait: rcall delay5ms dec temp3 brne powerupwait ldi temp1, 0b00000010 ;muss 3mal hintereinander gesendet out PORTD, temp1 ;werden zur Initialisierung rcall lcd_enable ;1 rcall delay5ms rcall lcd_enable ;2 rcall delay5ms rcall lcd_enable ;und 3! rcall delay5ms ldi temp1,0b00000010 ;4bit-Modus einstellen out PORTD, temp1 rcall lcd_enable rcall delay5ms ldi temp1, 0b00101000 ;noch was einstellen... rcall lcd_command ldi temp1, 0b00001100 ;...nochwas... rcall lcd_command ldi temp1, 0b00000100 ;endlich fertig rcall lcd_command ret was wird hier zu´m beispiele eigentlich eingestell,wo steht: ;noch was einstellen... ;...nochwas... ;endlich fertig ? und ldi temp1, 0b00000010 ;muss 3mal hintereinander gesendet werden was wird da eingestell? um mein Display für den 4 line modus einzustellen müsste ich laut datenblatt ldi temp1,0b00001001 rcall lcd_command senden. aber egal anwelcher stelle und mit welcher pause ich das mache bleibt mein display dunkel und reagiert nicht mehr. wenn ich das programm aus dem tutorial so lasse wie es ist funktioniert es ja wunderbar aber halt nur mit der ersten und dritten zeile.
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.