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!
Hast du auch nicht vergessen vor dem schreiben alles einmal auf GND zu legen um die Anzeige der alten Buchstaben zu löschen?
Nein, habe ich nicht: Portb = &B00000000 Portc.6 = 0 Portc.7 = 0 und das erste, was gesendet wird is reset (&B11111000)...
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.jpg http://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?
Hi, bei Bascom gibt es den Befehl $LCDVFO. Kann evtl. helfen. Gruß RePi
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.