Guten Tag Zusammen,
bin noch relativ neu hier und hab bisher mehr oder weniger nur gelesen. Bitte steinigt mich nicht gleich, falls es dazu schon einen Beitrag gibt, bin mit der SuFu noch nicht so Firm.
Zum Projekt:
Für einen Röhrenverstärker soll über zwei Dreh-Encoder zum einen ein Digitaler Hifi-Poti angesteuert werden (PGA2310 über SPI) und parallel der Wert über insgesamt fünf Nixies (Vorzeichen +/-, zwei Ziffern 0-9, Nachkommastelle nur 0 oder 5 , ein dB-Zeichen, aber das ist statisch) ausgegeben werden.
Der zweite Dreh-Encoder ist nur für die Kanal-Auswahl und Stand-by gedacht.
Auf meinem Experimentierboard hab ich einen ATMega8 (kann aber auch ein anderer werden) und programmieren tu ich mit der Freeware, bin also auf 4k beschränkt.
Der PGA2310 bekommt den Wert seriell mit jeweils 8Bit pro Kanal, also 0-255 und arbeitet von +31.5 bis -95.5dB. Die Mathematik für die Anzeige wollte ich im Controller machen, also mit der Formel 315 - [5 * (255 - N)] eine dreistellige Zahl aus meinem Binärwert machen und diese als Binärwert über die IOs ausgeben. Der Einfachheit halber wollte ich einfach mit ganzzahligen Werten arbeiten und das Komma nur statisch bei der Röhre einblenden, daher 315 bis -955.
Problem aktuell, mit Makebcd kann ich nur ein Byte verarbeiten und die Hunderterstelle bekomme ich nicht umgesetzt. Da das ganze ja auch negativ werden kann, brauche ich wohl einen Integer und den kann Makebcd ja auch nicht, so wie ich das verstanden habe.
Gibt es da einen fertigen Bascom Befehl/-weg, oder muss ich da selbst was stricken?
Ich bin hier schon über den Binär zu BCD Wettbewerb gestolpert, aber da versteh ich ehrlich gesagt nur Bahnhof. Mein letzter Kontakt mit Assembler war 2004...
Kann mir vielleicht einer einen kleinen gedanklichen Schubs in die richtige Richtung geben?
Gruß,
Flo
bin noch relativ neu hier und hab bisher mehr oder weniger nur gelesen. Bitte steinigt mich nicht gleich, falls es dazu schon einen Beitrag gibt, bin mit der SuFu noch nicht so Firm.
Zum Projekt:
Für einen Röhrenverstärker soll über zwei Dreh-Encoder zum einen ein Digitaler Hifi-Poti angesteuert werden (PGA2310 über SPI) und parallel der Wert über insgesamt fünf Nixies (Vorzeichen +/-, zwei Ziffern 0-9, Nachkommastelle nur 0 oder 5 , ein dB-Zeichen, aber das ist statisch) ausgegeben werden.
Der zweite Dreh-Encoder ist nur für die Kanal-Auswahl und Stand-by gedacht.
Auf meinem Experimentierboard hab ich einen ATMega8 (kann aber auch ein anderer werden) und programmieren tu ich mit der Freeware, bin also auf 4k beschränkt.
Der PGA2310 bekommt den Wert seriell mit jeweils 8Bit pro Kanal, also 0-255 und arbeitet von +31.5 bis -95.5dB. Die Mathematik für die Anzeige wollte ich im Controller machen, also mit der Formel 315 - [5 * (255 - N)] eine dreistellige Zahl aus meinem Binärwert machen und diese als Binärwert über die IOs ausgeben. Der Einfachheit halber wollte ich einfach mit ganzzahligen Werten arbeiten und das Komma nur statisch bei der Röhre einblenden, daher 315 bis -955.
Problem aktuell, mit Makebcd kann ich nur ein Byte verarbeiten und die Hunderterstelle bekomme ich nicht umgesetzt. Da das ganze ja auch negativ werden kann, brauche ich wohl einen Integer und den kann Makebcd ja auch nicht, so wie ich das verstanden habe.
Gibt es da einen fertigen Bascom Befehl/-weg, oder muss ich da selbst was stricken?
Ich bin hier schon über den Binär zu BCD Wettbewerb gestolpert, aber da versteh ich ehrlich gesagt nur Bahnhof. Mein letzter Kontakt mit Assembler war 2004...
Kann mir vielleicht einer einen kleinen gedanklichen Schubs in die richtige Richtung geben?
Gruß,
Flo