Hallo, mich interessiert nun mal, wie man eigene Zeichen definiert und anzeigen kann. Belesen habe ich mich schon etwas, aber ganz zum Erfolg bin ich noch nicht gekommen. Ich will hier als Test nur mal ein wirres Zeichen definieren, ohne tieferen Sinn. Ich glaube, das einschreiben des Zeichens im LCD müsste so gehen. Aber wie kann ich das dann ausgeben??? Sonderzeichen kann ich ja mit ALT "xxxx" ausgeben. Aber welche Adresse hat dann das eigene Zeichen? Mit ALT 0000 funktioniert es schonmal nicht. Danke für nen Tip! Sven
Hallo, Für die Darstellung eigener Zeichen des Anwenders sind die ASCII-Codes $00 bis $07 reserviert. Unter diesem "Zeichen" erscheint dann das selbst definierte Zeichen. Man kann Bitmuster für 8 verschiedene Zeichen bei 5 x 8 Matrix bzw. 4 verscheidene Zeichen bei 5 x 10 Matrix definieren. Die Zeichen selbst sind zeilenweise aufgebaut. Beispiel für 5 x 8 Matrix: Das erste Zeichen definiert man beispielsweise auf Adresse $00. Als CGRAM-Adresse gibt man folgendes Bitmuster an: Bits 0..2 bestimmen, welche der acht Zeilen der Matrix gemeint ist, Bits 3..5 geben an, unter welcher der DDRAM-Adressen $00..$07 später beim Aufruf das Zeichen erscheinen soll. Bit 0 = LSB Als CGRAM-Data bestimmen die Bits 0..4 zeilenweise das spätere Aussehen des Zeichens. Die Bits 5..7 sind nicht relevant. Wo ein Punkt erscheinen soll, muß eine 1 stehen. Gruß
Hi Chris, aber wie kann ich die Zeichen ausgeben? Im Beispielprogramm was ich oben angehängt hab lade ich entweder mit movlw 'a' ein Zeichen in den Akku oder gebe für vom normalen ASCII-Standart abweichende Zeichen ein, indem ich ALT gedrückt halte und den Zeichencode eingebe, zBsp ALT 0245 für ein ü (danke Fritz & crazy horse).Aber mit ALT 0000 funktionert das nicht, ich bekomme das eigenerstellte Zeichen nicht in das .asm hinein. Sicher nur ne Kleinigkeit, aber über die stolper ich... Sven
Hallo, anstatt zu schreiben "movlw 'H' ;zum Prüfen nur "Hallo " ausgeben call datenout" müßte es folgendermaßen funktionieren: movlw $00 ; Null als hex-Zahl ins Register schreiben call datenout Also nicht ein Zeichen zuweisen, sondern einfach eine Hex-Zahl zwischen 0 und 7 dem entsprechenden Register/Unterprogramm zuweisen. Gruß
Mein Gott... wenn ich es lese g natürlich. Hab es, um es bei mir einheitlich zu machen, als 0x00 eingegeben. Klappt, vielen Dank! Sven PS: Das Forum hier ist echt Spitze ;-)
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.