Hallo! Ich versuche seit 2 Tagen das oben genannte LCD zum laufen zu bekommen. Leider scheitere ich an der Initialisierung. Assembler ist leider nicht mein Fall, wodurch ich natürlich sehr eingeschränkt bin. Derzeit nutze ich Bascom, da ich ansich aus dem Webbereich komme, fällt mir das Programmieren darin um einiges leichter, aber das ist ja unwichtig erst mal. Das Problem ist das Bascom standardmäßig nicht mit diesem Chip klar kommt. Was ja ansich kein Problem ist, man könnte es ja zu Fuß machen. Aber dabei scheitere ich leider :( Anbei mal das Datasheet von diesem LCD. Anschlüße einwandfrei, bekomme auch "Müll" auf das Display, nur eben nicht kontrolliert. Gibt es hier wen der vllt schon eine fertige Initialisierung in Bascom zur Verfügung hat, oder kann man mir Tipps geben? Ich verstehe irgendwie nicht wie genau ich welche Befehle zum LCD senden muss. auf seite 11 steht ja offensichtlich der ablauf, aber wirklich schlau werde ich nicht daraus. Schon mal Danke im Vorraus und großes Lob an die Community, ist ein super Forum. Hat mir bisher sehr geholfen und ich lese hier schon länger mit. Grüße Sven
Hi >Das Problem ist das Bascom standardmäßig nicht mit diesem Chip klar >kommt. Wieso?. Zumindest der Befehlssatz ist HD44780/KS0066 kompatibel. MfG Spess
Da ich zur Auswahl leider nur den KS077 habe. Den 066 kennt er per se mal nicht. Suchen im Netz verweist mich meist auf Seiten wo Leute die Initialisierung dann nicht mit Bascom hinbekommen haben. Was mich im Datenblatt verwirrt sind bei dem 4-bit Interface die 2 Zeiligen angaben der Befehlsfolge. Da bin ich mir dann nicht sicher was ich genau tun soll. Ich habe vor das LCD im 4 Bit Modus zu nutzen. Das hatte ich vergessen zu erwähnen. Mit folgendem Code, bekomme ich nur auf den ersten 8 Zeichen schwarze Balken, sonst nichts. Manchmal mit viel Glück kommt dann irgendwann mal ein Ö hinzu. Aber Wirklich funktionieren tut es nicht.
1 | $Regfile = "m8def.dat" |
2 | $Crystal = 8000000 |
3 | |
4 | Config Lcdpin = Pin , Db4 = PortD.0 , Db5 = PortD.1 , Db6 = PortD.2 , Db7 = Portd.3 , E = PortD.5 , Rs = PortD.4 |
5 | Config Lcd = 16 * 1 , Chipset = KS077 |
6 | Config Lcdbus = 4 |
7 | Initlcd |
8 | |
9 | Waitms 500 |
10 | |
11 | cls |
12 | Locate 1 , 1 |
13 | LCD "TEST" |
14 | |
15 | |
16 | Main: |
17 | cls |
18 | Lcd "12345678910" |
19 | Wait 2 |
20 | cls |
21 | lcd "Display Test" |
22 | Wait 5 |
23 | Goto Main |
Da meine Kenntnisse noch recht mager sind, bin ich scheinbar mit der Aufgabenstellung ein wenig Überfordert. Was ich bisher verstanden habe ist folgendes. Ich warte bis das LCD quasi Startklar ist (>40ms nachdem +4,5V angekommen sind). Nur ab dann verstehe ich die Folge der Instruktionen leider nicht mehr. Bevor ichd a etwas kaputt mache wollte ich mich etwas informieren. Derzeit bin ich auf der Suche nach einer Libary für Bascom um den KS066 einzubinden. Mal sehen was es zu finden gibt. Vielleicht kann mir wer die Abfolge der Initialisierung etwas näher bringen.
Hi Bei einem flüchtigen Vergleich der Datenblätter habe ich keine gravierenden Unterschiede gefunden. Evtl. solltest du BASCOM mal einen langsameren Controller (durch Verkleinerung der Taktfrequenzangabe) vorgaukeln. > Was mich im Datenblatt verwirrt sind bei dem 4-bit Interface die 2 >Zeiligen angaben der Befehlsfolge. Da bin ich mir dann nicht sicher was >ich genau tun soll. Die Befehle des LCD-Controllers sind 8 Bit breit. Im 4-Bit-Mode werden statt 1x8 Bit 2x4 Bit an das Display übergeben. MfG Spess
Hallo Sven, der Controller auf dem CV4161H ist ein Sitronix ST7066U, der selbst vom Hersteller nur als "Pin functional compatible" mit HD44780 und den anderen Kandidaten bezeichnet. Vielleicht das Datenblatt mal genau checken. Datenblatt hier: http://www.sitronix.com.tw/sitronix/SASpecDoc.nsf/FileDownload/ST7066U614654/$FILE/ST7066Uv22.pdf Zudem habe ich gehört, dass es Unterschiede im 4-Bit Modus des KS0066 zu den anderen gibt. Gruß
Hi Michael, vielen Dank für die zusätzlichen Infos. Heute kamen meine anderen LCDs an, diese sind mit einemanderen Chip, vielleicht funktionieren diese dann direkt mit Bascom. Dann kann ich die Geschichte mit Assembler usw. noch ein wenig nach hinten schieben. Weil ich habe gestern leider nach 3 Stunden aufgegben das LCD noch zum laufen zu bekommen. Grüße
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.