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
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
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
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.
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 :-)
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
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