Eigentlich kann man jeden pin verwenden, querbet. Bei den LCDs solltest du darauf achten, dass sie einen Controller hd44... drauf haben.
MFG moritz
Eigentlich kann man jeden pin verwenden, querbet. Bei den LCDs solltest du darauf achten, dass sie einen Controller hd44... drauf haben.
MFG moritz
@RCO
Hab mir jetzt das LCD von Pollin gekauft. Der hat zwei kompatible HD44780 Controller drauf.
Dank nochmals
Uli
Also bitte probier mal aus, den Text immer wieder zu senden, also do loop, denn eigentlich musses funktionieren!
Hi RCO!
Klappt auch nicht.
Mir ist allerdings beim Bascom Beispiel was aufgefallen.
Da flimmern mir die Pixel so übers Display, aber nur auf auf einer Seite (auf der linken Seite die ersten 8 Stellen in Zeile 1 und 2). Der Rest des Displays bleibt dunkel.
Bei meinem Testprogramm passiert gar nix.
Muss man vielleicht noch irgendwas einstelln, ausser dem was ich oben beschrieben habe?
Oder liegts daran, dass Port D auf dem RN-Control nicht auf den Pins d2-d7 belegt werden darf? Is aber Quatsch, oder?
Bei Port B geht's nicht, da ich sonst über den ISP nicht mehr drauf kann!
Ich hab wirklich keine Ahnung mehr. Wenn das LCD defekt wäre würd's aber nicht mehr flimmern, glaub ich.
Wenn das LCD von Conrad am RP5 läuft, dann müsste es aber auch an anderen uC laufen.
0 Plan
Grüße
Uli
... ohne R/W und somit ohne dem Busy-Flag und mit einer Taktfrequenz des Controllers von 16MHz ein LCD ordnungsgemäß initialisieren?
Ist zwar machbar (aber nicht effektiv), jedoch sollte man sicherstellen, daß dem LCD auch genügend Zeit dafür gegeben wird.
Was bringt es, am Programmende zu warten? Bin sonst nur mit Assembler (C noch Anfänger) unterwegs, jedoch habe ich sowas noch nicht zu Gesicht bekommenCode:... Wait 1 Wait 1 Wait 1 Wait 1 End![]()
Also zu RN-Control kann ich dir nix sagen...
Das warten am Ende bringt nix.
Hier mal mein Code
Die Belegung ist etwas verquert, da der AT90S2313 da nciht genügend platz hatte. Hast du den nen POTI für den Contrast, bzw. mal verändert?Code:Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portb.0 , Db6 = Portb.1 , Db7 = Portb.2 , E = Portb.3 , Rs = Portb.4 Config Lcd = 16 * 2 Initlcd Display On Cursor Off Cls do Home Lcd "Hallo World" loop End
Ja klar...
MFG Moritz
O.K. die Wait's am Ende bringen nix, seh ich ein.
Wenn das ein Problem mit der Initialisierung und der Taktfrequenz ist, dann müsste doch dieses Problem bei jedem LCD-Controller auftreten?
Versteh ich das richtig? Wenn ich das LCD an einem uC mit 16MHz betreiben will, dann darf RW nicht auf Masse, sonder muß auch an einen Port, den ich dann auf L oder H lege? Dachte das ist nur ein Lese oder schreib Flag!
@RCO
So wie Du das gemacht hast mit dem loop, hab ichs gestern auch ausprobiert. bleibt alles gleich und ändern am Poti bringt auch nix.
Oder meinst Du die Belegung der Ports?
Werd ich gleich mal Testen!
Danke für eure Mühe!
Uli
Also das mit RW seh ich auch so, liegt einfach auf MAsse, da nicht geREADet wird sondern nur geWRITEed![]()
... wenn das Busy-Flag nicht vom LCD gelesen wird kann es schon sein, daß der µC schon weitere Daten sendet, obwohl das LCD dazu noch nicht bereit war.
Um das Busy-Flag aber vom LCD (db7) abzufragen wird der Lesemodus gebraucht. Dem µC sollte man dann solange warten lassen, bis das LCD ein 'bereit für weitere Daten' herausgibt. Alles andere ist nicht vernünftig angesteuert ...
Hi,
beim nutzen eines LCD an den Ports von RN-Control unbedingt drauf achten das die Ports auch wirklich frei sind. EInige Ports von D werden für RS232 und Motor benötigt.
Also am besten einfach mal in die DOku schaun. Da ist hinten eine Tabelle welche Ports frei sind. Sehr übersichtlich kann man es aber auch aus dem Schaltplan ersehen, ist auch in der Doku.
Lesezeichen