abacom-online.de

Das offizielle Elektronik-Software Forum
Aktuelle Zeit: Samstag 26. Mai 2018, 07:22

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: Stellung des digitalen Schiebers als 2xASCII-Wert
BeitragVerfasst: Montag 13. Oktober 2008, 14:22 
Offline
Site Admin

Registriert: Dienstag 23. September 2008, 10:54
Beiträge: 3220
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


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de