- LiFePO4 Speicher Test         
Ergebnis 1 bis 6 von 6

Thema: 8 Bit binär Wert

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2009
    Beiträge
    10

    8 Bit binär Wert

    Anzeige

    E-Bike
    Hallo

    Ich arbeite mit einem PIC 16F877A und wandle einen analogen Wert von einem Temperatursensor in einen binären Wert. Der 16F877A wandelt den Wert in einen 10Bit Wert. Ich will aber nur einen 8 Bit Wert. Wie kann man so etwas lösen?

    Vielen Dank für die Hilfe

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686

    Re: 8 Bit binär Wert

    Zitat Zitat von Thom24
    ... PIC 16F877A und wandle einen analogen Wert ... in einen binären Wert ... 10Bit Wert. Ich will aber nur einen 8 Bit Wert ...
    Das Prinzip kann ich Dir erklären, das ist offensichtlich genauso wie bei den Atmel-Controllern.

    Das gewandelte Datum steht als 10-Bit-Wert in 2 8-Bit-Registern. Wenn ich das Doc (DS39582B-page 128 © 2003 Microchip Technology Inc.) auf die Schnelle richtig lese, sind das die Register ADRESH und ADRESL - also das High-Byte und das Low-Byte. Im Register ADCON1 kannst Du wählen, wie Du das Wandlungsergebnis dargestellt haben willst: linksbündig oder rechtsbündig. WENN Du es linksbündig einliest, also ADFM = 0!, dann wird das MSB (das Byte mit den most significant bits) im ADRESH abgelegt. Und das wars dann - jetzt hast Du ganz einfach die "übrigen" Bits, die Du nicht mehr willst, im ADRESL - und um die kümmerst Du Dich nicht mehr. Nur noch ADRESH auslesen - und Du hast Dein 8 bittiges Datum.
    Ciao sagt der JoeamBerg

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2009
    Beiträge
    10
    Ok

    Und stimmt denn das Resultat noch mit dem Messwert überein? Oder gibt das dann einen total anderen Wert wenn einfach 2 Bits "abgeschnitten" werden?

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Zitat Zitat von Thom24
    ... stimmt denn das Resultat noch mit dem Messwert überein ...
    Klar. Das einzige was darunter leidet ist die Messgenauigkeit (stimmt nicht ganz - damit kann man natürlich auch schon etliches an Messrauschen ausblenden *ggg*). Das ist bei den binären Zahlen im Computer nicht anders als bei den dekadischen - mit denen wir seit der Schule rechnen. Stell Dir vor, Du hast auf Deinem Konto Millionen rumliegen. Na ja, vielleicht kein gutes Beispiel (ham wir ja alle nicht *schade*). Nimm Dein Konto: da interessiert Dich doch auch (nur), wieviel Euros drauf sind - um die Zent kümmern sich doch die wenigsten Leute. Und wenn neues Geld drauf kommt - ist auch nur interessant, ob jetzt an den oberen Stellen was steht. Drei hunderter und 1 tausender - der Rest trägt zur Euphorie nix mehr bei - und trotz allem stimmt das. Bei den binären Zahlen sind die Nullen und Einsen im Prinzip das, was die Ziffern von 0 bis 9 im dekadischen System darstellen.

    Ist das so verständlich?
    Ciao sagt der JoeamBerg

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2009
    Beiträge
    10
    Alles klar

    Vielen Dank für die Antwort!

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.686
    Beispiel :

    924(basis10), binär also 11 1001 1100, die Hälfte ist
    462(basis10), binär also 01 1100 1110

    Schneiden wir von den Binärzahlen immer die beiden letzten Stellen ab:

    11 1001 1100
    01 1100 1110 und gruppieren das neu (ist blos eine Angewohnheit von mir)

    1110 0111 - das ist 231
    0111 0011 - das ist 115 - ziemlich genau die Hälfte von 231 *ggg*

    Also: ein bisschen leidet die Genauigkeit, weil bei dieser ganzzahligen Rechnerei IMMER abgerundet wird - thats live
    Ciao sagt der JoeamBerg

Berechtigungen

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

12V Akku bauen