Hi, ist der HD44780 zu dem KS0070B kompatibel? Und kann ich dann die gleichen lcd-routines aus dem tutorial (die für einen HD44780 sind) nutzen? Gruß Harald
Moeglicherweise. Was spricht dagegen, die Befehlssaetze zu vergleichen ? Zu finden im Datenblatt zu eben diesen chips.
Hallo Harald, die Initialisierungsroutinen unterscheiden sich nicht wesentlich bezüglich der Befehle als solchen. Die sehen ziemlich gleich aus. Nur die Abfolge und die Wartezeiten dazwischen können erheblich abweichen. Zum Beispiel braucht der KS0066U die dreimal Hex 30 nicht unbedingt. Andere Displays haben Zeitverzögerungsvarianten von 160 ms bis 39 ys zwischen den einzelnen Befehlen zur Initialisierung.
Hallo, das Problem ist, dass es nicht funktioniert und ich nicht herausfinde, wo mein Fehler liegt. An meinem AVR (ATmega8) muss ich doch nur (er läuft mit internen Takt mit 1MHz) Reset (PC6) mit meiner Spannung (5V) über einen 10k Widerstand verbinden und eben das VCC und darunter das GND verbinden, oder? Dann mal hier das Datenblatt : http://www.mikrocontroller.net/attachment/38753/KS0070B_V0.pdf Auf Seite 32 stehen die Informationen zur gewünschten 4-bit Initialisierung Das LCD ist folgendermaßen verbunden : DB4-DB7: PD0-PD3 RS: PD4 E: PD5 und RW ist dauerhaft low. Das mit den Pausen sollte ja immer analog zum Tutorial gehen, ich vergrößer sie halt anfangs und geh, falls es irgendwann mal funktioniert schrittweise runter So mal ein Bsp. Da steht bei Function Set im DB: RS R/W DB7 DB6 DB5 DB4 0 0 0 0 1 0 0 0 0 0 1 0 0 0 N F X X N: 0 1-line mode, 1: 2-line mode F: 0 5x7 Dots, 2: 5x10 Dots Heißt das ich muss folgendes eingeben in das AVR Studio eingeben? ldi r16, 0b00000010 rcall lcd_command ldi r16, 0b00000010 rcall lcd_command ldi r16, 0b000010xx ; 2line, 5x7 Dots Weil da steht ja auch nichts von E. An Bit6 liegt ja eigentlich E, ist das immer 0?
Hallo, dazu gibt es ja uch noch ein Timingdiagramm über das zeitliche Verhalten... Seite 23, wenn meine Anzeige stimmt. Wenn Daten/RS/RW passend anliegen muß E mindestens für xx µs auf H gehen und dann wieder auf L, dmit diese dann übernommen werden. Für die nötigen Zeiten gibt es dann auch wieder eine Tabelle (bei mir auf Seite 40), wo E Cycle Time, also die minimale Zeit für einen kompletten L/H/L-Zyklus und E Pulse Width (High,Low), also die minimale Impulsbreite für L oder H, angegeben sind. Für den Rest dann Taschenrechner usw. usw. Gruß aus Berlin Michael
lcd_enable: sbi PORTD. 5 nop nop nop ; macht zusammen 1500ns cbi PORTD, 5 also immer so? ldi r16, 0b00000010 rcall lcd_command rcall lcd_enable ldi r16, 0b00000010 rcall lcd_command rcall lcd_enable ldi r16, 0b000010xx ; 2line, 5x7 Dots rcall lcd_command rcall lcd_enable aber stimmt das immer so mit den zahlen? Im DB meines Displays (http://www.reichelt.de/?;ACTION=7;LA=6;OPEN=1;INDEX=0;FILENAME=A500%252FLCD162C%2523DIS.pdf;SID=28Nj3rMawQARwAADqIiC0c45e569ce8adb23cb9a1dbd43feb6ce4/LCD162C%23DIS.pdf+anzeigen) S. 5 steht ich müsse zuerst 0b00000011 in das Steuerregister schieben. Ja was denn nun? :-(
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.