Moinsen...
Ich versuche grade krampfhaft mit einem ATmega16 mein Futaba M402SD06GJ
anzusteuern... Das klappt auch so weit, nur hab ich das problem, das
alles mehrmals angezeigt wird - und das auch nicht konstant sondern mal
ein Buchstabe mehr oder einer weniger... habe meinen Sourcecode und das
Datenblatt mal angehängt...
Die aktuelle Ausgabe mit dem Sourcecode lautet:
"MMRRRRRRR AAAAAAA"
Wie gesagt, es können auch mal 3M's sein oder aber 6 oder 8 R's,
Leerzeichen oder A's....
Schon jetzt besten Dank für eure Hilfe!
bye, Micha!
1. Frage: Wo hast du das her ? Ist das diese Version mit den ziemlich
langen Pins am Stecker ?
2. Wiso beschreibst du Busy ? Du must Busy auslesen. Hier mal meine
8051 Assembler Routine:
WriteByte:
jb Busy, hier ;Busy gesetzt ? wenn ja warten
clr Sel ;Sel\ aus Low
mov P1, Wert ;Daten ausgeben
clr WR ;WR\ aus Low
setb WR ;WR\ aus High
setb Sel ;Sel\ aus High
ret
zu 1. ich hab das Display von ebay... wird da verscheuert zum normalen
anschließen an den PC und dann ansteuern über jalcds, lcdhype oder
lcdproc (sind so weit ich weiß die einzigen, für die es ne dll gibt,
für das VFD...)
weiß grade nicht, wie du das meinst - von daher Bilder auf der
Auktion:
http://maxitronik.blizzerver.de/ebay/2X40VFD/front.jpghttp://maxitronik.blizzerver.de/ebay/2X40VFD/back.jpg
zu 2. Hm... gute Frage... XD
Hab jetzt mal meine Funktion an deine Routine angepasst (neuer Source
im Anhang)... Allerdings kommt jetzt nur noch der reset an und garkeine
Buchstaben mehr... %)
zu 1: Ich fragte deshalb, weil Futaba bei einer Reihe VFDs die falschen
Kontaktleisten angelötet hat (ca. 2cm lange Pins, im Gegensat zu den
normalen (<1cm lang). Und daher hat Futaba diese billig verkauft. Ich
habe auch so ein Display. Was hat es denn gekostet ?
zu 2:
Ich kenne mich mit Bascom nicht aus, aber ist die Reihenfolge der Bits
so richtig ? Ich kenne eigentlich nur das MSB links und das LSB rechts,
also genau umgekehrt. So ist es zumindest bei vielen Assemblern und auch
bei den Taschenrechnern.
Ich sende als Initialisierung die Werte 20 und 18 um den Displaymode
einzustellen. Reset ist nicht notwendig.
zu 1. nee, so eins iset net - die pins sind schon deutlich kürzer - hab
mit versand knapp 22 bezahlt...
zu 2. die bits sollten jetzt stimmen - vorher kamm ja auch schon das
richtige dabei raus, aber ich hab nochmal geguckt, nu passt es auf alle
fälle... D0 vom VFD ist jetzt auf PB0 und D7 auf PB7... die anderen
3Pins (WR, Busy, Sel) sind ja im Quelltext beschrieben...
Allerdings darf ich beststellen, das das display jetzt nicht mehr
wirklich auf irgendwas reagiert... auch wenn ich das reset
auskommentiere, zeigt er nix an... also irgendwas passt jetzt nicht
mehr... %) Ich weiß nur nicht was... XD
22 sind OK. Der normale Einkaufspreis liegt bei etwa 20-30...
Die Software sollte jetzt eigentlich OK sein.
Ich habe dasselbe Display und bei mir läuft das so einwandfrei. Steht
auch genauso im Datenblatt.
Mess mal die Spannung am Busy Pin.
Wenn das Programm hängen bleibt, dann müsste dieser ja dauerhaft auf
High liegen. Und das draf eigentlich nicht sein, wenn das Display
läuft.
Das programm bleibt ja nicht hängen - habe ja das print mit drin und da
wird immer fleißig ausgegeben... nur auf dem Display tut sich nicht...
%)
Du kannst net zufällig mal dein *.hex anhängen und mir ein prog
verraten, mit dem ich die über den STK200/STK300 Programmer da
reinschieben kann? nur um mal zu gucken, ob mein Basecom code spinnt
oder einfach nur das Display bzw. mein testboard... Nicht das es an dem
RN-Control1.4 von liegt, auf dem ich das grade ausprobiere...
Häng mal den Test Pin (16) an Masse.
Dann sollte auf dem Display was erscheinen. Dann kannst du davon
ausgehen, dass das Display OK ist.
Mein Programm kann ich die gerne schicken, aber es hilft dir nicht
weiter, da es komplett in Assembler geschrieben ist und für einen
AT89C2051 ist.
Aber an sich ist außer dieser kurzen WriteByte Routine nichts
spezielles dran.
Damit sende ich die Buchstaben einfach ans Display, das diese dann auch
anzeigt.
Test funzt - da zeigt er die ganzen zeichen an... somit muss nur noch
irgendein bug in der blöden ansteuerung sein... XD
Nur warum zum Teufel hat er vorhin noch alles zu oft angezeigt und seit
dem meins so ist wie deins zeigt er nix mehr an... ich hab doch nix
geändert, sonnst... nochmalwiederdencodeanguck
Mist, stimmt ja... das is ja immer alles mehr oder weniger µC
bezogen... %)
Hier gibt's ja garkein edit... %)
gg ich habs... :D er hat probleme mit Pinc.* gehabt... hab jetzt
alles auf Portc.* augebaut und schon geht es... FREU
Nun noch eine kleine frage... gibt es eine einfachere möglichkeit den
string auf's display zu schreiben, als ihn von einer funktion in
buchstaben zerlegen zu lassen und für jeden buchstaben mit einem select
den entsprechenden hexwert rauszusuchen?