- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 3 von 3

Thema: Pseudozahlen in vernünftige Werte verwandeln

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.02.2004
    Beiträge
    12

    Pseudozahlen in vernünftige Werte verwandeln

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hi,

    Ich hab da mal eine prinzipfrage:
    Ich lese mit meinem Pic16f84 zwei Codierschalter aus beide geben binär
    0-9 aus :

    |- | -|
    |0 |0|
    |+|+|

    Mit den beiden Codiererern gehe ich auf einen 8bit Port.
    ich möchte jetzt diesen binären (Müll) in die hexwerte für dezimal 0-99
    umwandeln. Müll deshalb weil mir ja jeweils A-F fehlen und deshalb
    die Zahlen dezimal 10-15 26-31 42-47 ... nicht vorhanden sind.

    HILFE wie kann ich diesen Müll in vernünftige Werte verwandeln
    (ein Prinzip würde mir reichen) Ich schreibe in Assembler.

    Freu mich schon auf eure Antworten

    Christian

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.02.2004
    Ort
    Starnberg
    Alter
    47
    Beiträge
    170
    Du musst also Hex 0-99 in Dezimal 0-99 Umwandeln.

    Schau mal hier

    Grüsse, Martin

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    23.02.2004
    Beiträge
    12
    Hi Leute,

    Also ich hab das Problem relativ schnell gelöst dank einem Tip von nem Kumpel. Die Umwandlung läuft so:
    die 2mal 4bit des Codierers holen und in einem Speicher ablegen (CODE)
    CODE ins Arbeitsregister und als EINER speichern
    die höheren 4bit von EINER löschen (durch Verknüpfung & 0F )
    und wieder speichern
    CODE ins Arbeitsregister und als ZEHN speichern
    ZEHN swappen also untere 4bit mit oberen 4bit tauschen
    ZEHN mit 0F & Verknüpfen (um die unteren 4 bit zu löschen)
    ZEHN um 3 Stellen nach links rotieren und in ZEHN1 speichern
    ZEHN um 1 Stelle nach links rotieren und in ZEHN2 speichern
    ZEHN1 und ZEHN2 addieren und in ZEHNER speichern
    (die letzten drei Zeilen stellen eine multiplikation mit 10 dar)
    ZEHNER und EINER addieren fertig.

    danke auch an den Helfer vom Board
    gruß Christian
    PS: Ich versuch den Code anzuhängen
    Angehängte Dateien Angehängte Dateien

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen