PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : KS0066F an L4042 (40x2LCD-Display) mag oder Bascom nicht???



E-Fan
22.10.2006, 01:00
Hi Leutz!

Ich hab mir bei Segor ein 40x2 Dot-Matrix Display (L4042) geholt weil ich damit erste Versuche mit LCD-Displays machen wollte. Mittlerweile bin ich aber kurz vor dem Aufgeben weil ich das Display nicht mal dazu bringen kann sich abzuschalten geschweige denn das auszuspucken was ich will.
Ich habe den 4 und 8 Bit Mode ausprobiert, das Display laut Bedienungsanleitung von Bascom angeschlossen, die "normalen" Befehle ausgetestet, eigene Routinen geschrieben laut denen das Display (nach Datenblattangaben) initialisiert werden soll, die Programmbeispielschnippsel so umgemodelt das sie laufen sollten - und - es läuft zwar im Simulator alles aber auf dem Display rein gar nichts. :(
Ich sehe nur den klassischen schwarzen Balken in der oberen Zeile.
Auf dem Display sitzt zum einen ein KS0066F und zwei HD66100F.
Kann es sein das ich evetuell irgendwelche Adressen vergessen hab einzustellen? (hab die Standardwerte von Bascom genutzt)
Achso - Ich hab nur das Datenblatt des KS0066U gefunden.

P.S.: Bin echt kurz davor das Teil aus dem Fenster zu feuern weil ich den Fehler nicht finde.


EDIT: Hab den Fehler gefunden! Ich Depp hab einfach nur vergessen das Display mit "Initlcd" zu initialisieren. Gegebenfalls kann der Thread daher gelöscht werden

P.P.S.: Da merkt man halt das es Autodidakten nich immer leicht haben ;)

gandalf
22.10.2006, 13:04
Hi E-Fan
Poste doch mal deinen Code, dann können wir anderen auch was lernen.

E-Fan
22.10.2006, 15:27
Dein Wunsch sei mir Befehl! :D
Er bewirkt nur ein stetiges heraufzählen um den definierten Wert


$regfile = "attiny2313.dat"
$crystal = 8000000

Dim A As Long
Config Portd = Output
Config Portb = Output
Config Lcd = 40 * 2
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portd.2 , Rs = Portd.0
A=0

Initlcd
Cls

Do
A = A + 531
Locate 1 , 1
Lcd B
Waitms 500
Loop

End

gandalf
28.10.2006, 12:42
@E-Fan: Danke schön !

E-Fan
29.10.2006, 12:41
Seh'n se ich hab sie da wohl jeholfen! :D
Wenn man es einmal verstanden hat ist es sehr einfach obwohl ich fast schon dazu geneigt bin mal auszutesten die Routinen selber zu schreiben um zu sehen welcher Code effektiver (kleiner) ist. Quasi einfach mal so zum Testen. Schneller kann er ja nicht werden weil das Display nicht mitspielt.

AVRboy
04.11.2006, 14:54
Was soll den LCD B heisen du hast doch keine variabele b du hast doch nur eine die a heist . vieleicht ire ich mich ja auch nur

mfg