Byte in 3 Bit aufteilen für 74HC4051

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Byte in 3 Bit aufteilen für 74HC4051

      Hallo,

      ich muss ein Byte (1 bis 8 ) in drei Bit zerlegen.
      Brauch das um den Wert an einen 74HC4051 zu schicken.
      Alles andere läuft.
      Nur beim aufteilen in drei Bit komm ich nicht weiter.

      Danke & Grüße
      Alex
    • Michael wrote:

      durch 32 teilen oder mit AND 7 die rechten drei Bits nehmen würde 3 Bit ergeben.
      So verstehe ich zumindest deine Frage nach dem Zerlegen.
      Vielleicht kannst du es ja noch mal anders erklären.
      Hallo,

      vielleicht habe ich was falsch verstanden und du hast es mir bereits richtig erklärt.

      Ich brauch für den Miltiplexer einen Wert von 1 bis 8.
      Dafür nehme ich ein Byte und lasse den Wert von 0 bis 7 (entsrpicht dem jeweiligen Port am 4051) hochzählen.
      Um den richtigen Port des74HC4051 auszuwählen muss ich an drei Ports des 4051 jeweils ein High oder Low senden also den Wert von 0 bis 7 in Binär.
      Dafür bräuchte ich nun die letzten oder ersten(???) drei Bit des Binär Wertes aufgeteilt in drei Bit.

      Vielleicht den Wert per BIN in einen String umwandeln und dannn den String zerlegen???
      Und dann den String wieder in drei Bit zerlegen?

      Grüße
      Alex
    • Wenn deine drei Eingänge des 74HC4051 an einem PORT liegen brauchst du nichts umwandeln sondern nur die Variable direkt an den PORT weiter geben.

      Beispiel:

      Portd = DeineVariable

      74HC4051--------AVR-PortD
      -----S0---------------Portd.0
      -----S1---------------Portd.1
      -----S2---------------Portd.2
      Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
    • Hallo,

      versteh ich das richtig ich schicke das Byte z.B. an PortD meines Mega8 und dann entspricht PortD.0, PortD1 und Portd2 meinen Werten?

      Verlier ich damit nicht PortD komplett?
      D.h. doch das ich die übrigen Ports nicht weiter nutzen kann oder?

      Akutell hab ich ein bisschen zu wenig Ports an meinen Mega8.
      Wäre also nicht so toll 5 Ports zu verschenken.

      Ich glaub ich hab gerade eine Lösung gefunden:
      Allerdings müsste es bei 1 nicht 001?

      Source Code

      1. For Var_hc74c4051 = 0 To 7 Step 1
      2. Print "Beginn Ziffer:"
      3. Print Var_hc74c4051
      4. Print "============="
      5. For Var_x = 2 To 0 Step -1
      6. Print Var_hc74c4051.var_x
      7. Waitms 200
      8. Next For
      9. next for



      Grüße
      Alex

      The post was edited 1 time, last by Alex_T ().

    • Es wurde ja schon erwähnt, Änderungen an einzelnen Portpins erreichst Du über die Boolschen Befehle. Sieh mal im Lexikon nach, da findest Du das genau erklärt und kannst das dann leichter nachvollziehen.

      Gruß Christian

      Binäre Operationen

      PS Ich sehe gerade, dass die Grafiken dort mit meiner alten Homepage verknüpft sind. Werde ich heute oder morgen noch ändern. Entschuldigung.
      Wenn das die Lösung ist, möchte ich mein Problem wieder haben.
    • ceperiga wrote:

      PS Ich sehe gerade, dass die Grafiken dort mit meiner alten Homepage verknüpft sind. Werde ich heute oder morgen noch ändern. Entschuldigung.
      Wie war das gleich? Alle Bildchen sollten direkt in's Forum geladen werden, kein link zu einem hoster, damit sie nicht verloren gehen? a_169_53178177 a_38_b45e201d
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Da kannste ruhig meckern, das wurde in´s Lexikon gestellt, als das Forum noch in der Krabbelgruppe war, da war vieles noch nicht klar und unbekannt. Im Nachgang sieht man das nicht direkt und ich durchforste das auch nicht ständig.

      Aber daran kann man sehen, wie wichtig das ist. Ich hatte eigentlich auch nicht vor meine Homepage zu schließen. Aufgrund von Drohmails einiger Fetischisten, die es auf vermeintliche Lücken bezüglich Datenschuntz und Urheberrecht abgesehen hatten, habe ich es dann vorgezogen, das einfach zu beenden.

      Ich stelle fest, dass Du das Thema verinnerlicht hast :) :D .

      Eine Macke des Lexikons ist übrigens auch das "Verschlucken" von Wortzwischenräumen (Leerzeichen). Sieht immer so aus, als wenn man nicht schreiben könnte. Jedesmal finde ich solche Stellen auf´s Neue.

      Gruß Christian
      Wenn das die Lösung ist, möchte ich mein Problem wieder haben.
    • djmsc wrote:

      Übrigens, um einzelne Bits eines Bytes an verschiedene Port-Pins auszugeben geht auch folgendes

      BASCOM Source Code

      1. Portd.0 = Deinevariable.0
      2. Portd.1 = Deinevariable.1
      3. Portd.2 = Deinevariable.2

      Ja, ist mir auch gerade aufgefallen.

      ceperiga wrote:

      Es wurde ja schon erwähnt, Änderungen an einzelnen Portpins erreichst Du über die Boolschen Befehle. Sieh mal im Lexikon nach, da findest Du das genau erklärt und kannst das dann leichter nachvollziehen.

      Gruß Christian

      Ja, Boolsche Befehle sind nicht meine stärke.

      Vielen dank! @ All

      Lösung ist fertig und funktioniert.

      Grüße
      Alex
    • Hallo Ceperiga

      Nach deiner Korrektur fehlt jetzt im Lexikon die Rubrik "B" z.B. um den Titel " Binäre Operationen " zu lesen.



      Sorry, ich habe in
      Grundlagen BASCOM-AVR
      gesucht, da gibt es keine Rubrik "B".

      The post was edited 1 time, last by hanne ().