Hallo, ich hab das LCD Tutorial von A. Schwarz mal etwas abgeändert und das ganze in eine C++ Klasse gepackt. Interessant für Leute, die wissen wollen wie man Text im Display scrollt und auch unter NT/2000/XP die Schnittstelle anspricht. Würde mich freuen wenn Ihr Reaktionen zeigt ;-) Gruß Andreas PS: Danke auch für das Tutorial
ist ne tolle sache, aber was nützt mir das wenn die datei pt_ioctl.c fehlt... oder ist das eine standard lib? gruss, bab
Schon interessant, dass das erst jmd. auffällt, nachdem schon 200 Leute den Thread gelesen haben... Naja, sorry jedenfalls, das sind die Porttreiber für Win XP/2000 (auch zu finden und beyondlogic.org) oder jetzt im Anhang. Gruß Andreas
Auch ich habe mich inspirieren lassen und ein paar kleine Änderungen vorgenommen. Die "Lib" ist in Assembler. Viel Spaß damit!
Hallo, ich hab ein Problem. Ich habe ein Display, wie im Tutorial 4 erwähnt, auf die gleiche Art angeschlossen, und nur zum Testen mal die dort aufgeführten Assembler-Routienen zum Ansteuern verwendet. Leider tut sich in meinem Display nichts. Die beiden schwarzen Balken bleiben schwarz. Nach dem ich etliche male die Anschlußleutung überprüft habe, hab ich den Code mal mit dem Disassembler/Simulator angeschaut. Dabei hab ich festgestellt, daß er nach dem ersten Aufruf der 5ms-Warteschleife mit dem RET-Befehl die Adresse 0x5b in den ProgramCounter bekmmt. Dieser Wert steht warum auch immer im Stack und veranlaßt ihn somit zu einem Sprung in eine Codefreie Zone!?!? Was hab ich falsch gemacht? Ich benutze AVR-Studio 4.05 B. 181 und das STK500 mit dem AT90S8515 die .def-Anweisung hab ich angepasst. Was hab ich sonst evtl. übersehen. Ansonsten wäre noch erwähnenswert, daß das Display mit einer eigenen Spannungsquelle mit 5V versorgt wird, aber eine gemeinsame Masse vorhanden ist.
hallo erstmal, bin der sav. ich hab mir ein lcd zugelegt, naja um erlich zu sein 2, ein 16x4 und ein 20x4 LCD. also..... ich hab im internet ne alleitung gefunden um das lcd über den druckerport mittels einer software zu steuern. tja, hab ales gemacht was in der anleitung stand, software porttreiber, platine..... aber eine reaktion. ich hab irgendwie des gefühl es könnte daran liegen dass ich win xp hab. könnt ihr mir da vielleicht weiter helfen? thx Sav Paff
also nur damit man mich irchtg versteht, die zerste und dritte zeie wird scho angezeigt
Nach meiner Erfahrung sollte die LCD-Anzeige auch initialisiert werden, so dass sie auch im 4-Zeilenmodus läuft. Ansonsten ist es auch besser, bei einem Sprung auf eine neue Zeile dies nicht automatisch dem LCD-controler zu überlassen, sondern dies direkt zu programmieren. Beim LCD-Hersteller bekommt man oft im download das Datenblatt mit den dazugehörigen Befehlen. Dies sollte man gut lesen.
hat sich erledigt, ich hab spiegelverkehrt gelötet, ich hab nich auf die zahlen vom stecker geschaut. trotzdem thx
ich hab' alles wie im tut. zum lcd aufgebaut (und benutze ein 16x1 disp). dann hab ich die sofware auf mehr zeichen erhöht (diese aber weiterhin zeichenweise ausgegeben)...kann mir jemand sagen, ob es ein für einen bestimmten fehler charakteristisches bild ist, dass immer nur die ersten 8 zeichen gezeigt, dann ca. 40 ausgelassen und schliesslich die anderen 8 angezeigt werden ?? oder hab' ich mir 'n kaputtes display andreh'n lassen ? thx im voraus. falls jmd antwortet.. andy.
das display benutzt wahrscheinlich einen standart-controller, der immer 40 zeichen in ein ram speichert, und dann an die seqmente schickt. man kann es mit shift-befehl (nach links) nachweisen. i hope i have you gehelpt :-)
ja es ist characteristisch. nur einmal suchen oder einen Aha-Effekt erbringenden Blick in das Datenblatt riskieren. http://www.mikrocontroller.net/forum/read-1-8959.html#8968 http://www.mikrocontroller.net/forum/read-1-39677.html#39708 MooseC
Hi Leuts, also die LCD-Routinen funzen. Zumindest beim STK500 und dem 8515. Wenn ich aber nun ohne Verdrahtungsänderung den Mega16 benutze, geht nichts, also schwarze Balken. Zurück auf den 8515, und es geht wieder. Hat einer ne Idee ? Greetings Karlheinz
Hallo, ich hab versucht mit meinem AVR-Control auf dem LCD etwas auszugeben. genommen habe ich den code von mark und als hardware das avr-control http://mikrocontroller.cco-ev.de/images/avr__schaltplan.gif (ist eigendlich alles so wie es sein müsste, es funktioniert aber nicht) kann mir vielleicht irgendwer sagen woran es liegen könnte (die erste Zeile des LCD ist leer und die zweite voll) Mit bestem Dank im Voraus H.Lienert
@Karlheinz Druschel Hallo Karlheinz Der Beitrag ist zwar schon etwas betagt, aber vielleicht nützt es ja trotzdem. Belegt Dein Display zufällig die einen der Pins PC2,PC3,PC4 oderPC5? Dann einfach das Fusebit H des Prozessors auf disable setzten(JTAG) mfg Sepp
@Karlheinz Druschel Hast Du die Fusebits des Mega16 auf den externen Quarz gesetzt? Sonst funzt ggf. Dein Programm nicht korrekt. Diese! Fusebits hat der Dinosaurier-8515 nicht.
hallo und zwar habe ich ein 24x2 display angeschlossen und mit dem Programm STDLCD angesteuert. Allerdings ist ab der Spalte 9 alles spiegelverkehrt... (HD44780 Kontroller) Bitte um Hilfe per Mail Danke
Push doch mal alle mprs auf den Stack. Am Schluss kannst du doch den Mega 16 reseten!
Hallo! Ich habe Mir eine Schaltung mit nem LCD aufgebaut, und den code aus dem LCD tut einigermaßen übernommen. Es funktioniert auch alles wunderbar... Doch nun solls ja weiter gehen, ich will eben nicht nur das wort "Test" ausgeben, sondern eventuell verschiedene zahlen die in den registern abgelegt sind. Dies können sowohl einstellige, als auch mehrstellige zahlen sein. Im Tut wurde ja schon erwähnt das es bei großen textausgaben nicht sinnvoll sei, wegen jedem Buchstaben ein "lcd_data" aufzurufen. Vielmehr ist das auch sehr schwer umzusetzen. Wie kann ich nun vorgehen wenn ich zb. einen Taster habe der pro tastendruck eine Zahl (sagen wir Null) inkrementiert. Der Wert soll bis sagen wir 999 hochgezählt werden und dann wieder bei null beginnen. Erste frage: Kann man die Zahlen binär hochzählen und dann jeweils durch 10 teilen und die Nachkommastelle dann in ASCII umwandeln und zum LCD senden? Oder hat jemand eine Idee wie es vernünftiger zu realisieren ist. Ich habe mir da noch nicht soviele Gedanken darüber gemacht. Zweite frage: Wie kann ich es umgehen bei jedem Zeichen die routine "lcd_data" aufzurufen? MfG Manuel
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.