Stellung des digitalen Schiebers als 2xASCII-Wert

Dieser Bereich dient dem Austausch über geplante oder bereits realisierte Projekte - von Anwender zu Anwender.
Antworten
abacom
Site Admin
Beiträge: 3238
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Stellung des digitalen Schiebers als 2xASCII-Wert

Beitrag von abacom » Montag 13. Oktober 2008, 14:22

Kurfürst



Anmeldungsdatum: 27.07.2007
Beiträge: 20

Verfasst am: 04.02.2008 16:26 Titel: Stellung des digitalen Schiebers als 2xASCII-Wert

--------------------------------------------------------------------------------

Hallo zusammen,

ich möchte den 8-Bit-Wert des Schiebers in zwei Nibble aufteilen und als ASCII über Com $CS versenden.
Wenn, z.B., der Schieber in Mittelstellung steht, dann hat ja der 8-Bit-Ausgang den Wert 80h. Dieser Wert soll aufgeteilt werden in:

8 und 0.

Aus 8 muss 38h(ASCII) und aus der 0 wird 30hASCII werden.

Beim Schieberwert von 9Fh müsste 39h und 46h entstehen.

So wie ich das sehe gibt es hierzu keine Bausteine in PL. Kann man das Problem mit einer DLL lösen?

Schönen Gruß
Kurfürst

Nach oben


abacom
Site Admin


Anmeldungsdatum: 30.06.2006
Beiträge: 898

Verfasst am: 05.02.2008 11:29 Titel:

--------------------------------------------------------------------------------

Den Zahlenwert mit A/D-Wandler in acht Bits "zerlegen" (Auflösung 8 Bit, Bereich 0..255). Dann die jeweils oberen und unteren vier Bits wieder per D/A-Wandler (Auflösung 4 Bit; Bereich 0...15) in Zahlen zurückwandeln. Dazu braucht man keine DLL.

Nach oben


Mike D



Anmeldungsdatum: 03.07.2006
Beiträge: 236

Verfasst am: 05.02.2008 12:14 Titel:

--------------------------------------------------------------------------------

der A/D-Wandler ist überflüssig, da der Schieberegler ja schon digitale Werte ausgiebt. Wie man am pfiffigsten die hex-Werte in ASCII wandelt denk ich noch drüber nach.

Mike

Nach oben


Step



Anmeldungsdatum: 30.01.2007
Beiträge: 67

Verfasst am: 05.02.2008 12:51 Titel:

--------------------------------------------------------------------------------

Hallo Kurfürst,

da ich momentan (immer noch) am Testen von DLLs bin, habe ich das mal in eine DLL umgesetzt - also falls, du Interesse hast, dann melde dich.

Gruß Stephan

Nach oben


Mike D



Anmeldungsdatum: 03.07.2006
Beiträge: 236

Verfasst am: 05.02.2008 13:09 Titel:

--------------------------------------------------------------------------------

Ausgänge des Schiebereglers auf 2 D/A-Wandler (Auflösung 4 Bit; Bereich 0...15)
weiter auf 2 Korrekturtabellen (Eingänge 0..15, Ausgänge 48..57 und 65..69)
weiter auf 2 $CHR und mit $ADD an einander hängen

Mike

Nach oben


Kurfürst



Anmeldungsdatum: 27.07.2007
Beiträge: 20

Verfasst am: 05.02.2008 13:53 Titel:

--------------------------------------------------------------------------------

Danke, danke für die vielen Antworten die alle sehr inspirierend wirken!

Also, Vorraussetzung ist, dass die COM-Schnittstelle 'String senden' benutzt werden muss.

Da die beiden Nibbles in einer bestimmten Reihenfolge weiter verarbeitet werden müssen, ist für mich erst mal nur die Bereitstellung derselben wichtig.
Durch eure Vorschläge bin ich zu folgender Lösung gekommen:

Schieber mit 8-Bit-Ausgang, das Low-Nibble geht auf einen $MUX mit 16 Kanäle. Diese Kanäle werden von 16 $CNST eingespeist.
An Kanal 0 liegt der $CNST mit dem Wert '0'
An Kanal 1 liegt der $CNST mit dem Wert '1'
An Kanal 15 liegt der $CNST mit dem Wert 'F'

So liefert der Ausgang des $MUX immer das ASCII-Zeichen der vier Eingangsbit.
Das Ganze ist ein Makro geworden, das ich jeweils an das High- und Lownibble des Schiebers anschliesse.

Alles funktioniert Bestens.

Die Lösung mit einer DLL würde mich schon interessieren, wenn dadurch die CPU-Auslastung verringert würde.

Von der Zeichng her hat das Projekt mittlerweile 'Kuchenblechgröße'.(70er-Jahre- TTL-Equivalent )

Vorerst Besten Dank!

Kurfürst

Nach oben


bauxit



Anmeldungsdatum: 10.07.2007
Beiträge: 10
Wohnort: Bern
Verfasst am: 16.02.2008 01:43 Titel: Stellung des digitalen Schiebers als 2xASCII-Wert

--------------------------------------------------------------------------------

Hallo Kurfürst

ich hatte ein ähnliches Problem als ich eine Bildschirmtastatur bastelte, da hat Gisie mir auf die Sprünge geholfen.
Die Lösung mit den Festwerten funktioniert, ein ROM ist kompakter:
- zwei ROM empfangen ihren Teil vom HEX-Wert des Schiebereglers
- im ROM stehen an den Adressen 0-15 die ASCII-Werte des gewünschten Zeichens
- D/A wandelt in eine Zahl (Bereich 0-255 einstellen)
- Character wandelt in das Zeichen

Jürgen
ABACOM support

Antworten

Zurück zu „PROFILAB Kundenprojekte und Aufgabenstellungen“