-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Multiplexer Schaltlogik vereinfachen

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718

    Multiplexer Schaltlogik vereinfachen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Tach,
    versuche grad die Ansteuerungen eines Multiplexers (für Lauflicht) zu vereinfachen (74HC4514).
    Leider funktioniert es aber nicht so wie ich es gern hätte.

    Code:
    $regfile = "m16def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 16000000
    $baud = 9600
    
    'Belegung
    Config Porta.0 = Output                                     'an A0
    Config Porta.1 = Output                                     'an A1
    Config Porta.2 = Output                                     'an A2
    Config Porta.3 = Output                                     'an A3
    
    'Defines
    A0 Alias Porta.0
    A1 Alias Porta.1
    A2 Alias Porta.2
    A3 Alias Porta.3
    
    'Multiplexer (74HC4514)
    Led0 Alias A0 = 0 And A1 = 0 And A2 = 0 And A3 = 0          'an Q0
    Led1 Alias A0 = 1 And A1 = 0 And A2 = 0 And A3 = 0          'an Q1
    Led2 Alias A0 = 0 And A1 = 1 And A2 = 0 And A3 = 0          'an Q2
    Led3 Alias A0 = 1 And A1 = 1 And A2 = 0 And A3 = 0          'an Q3
    
    Led0 = 0
    Led1 = 0
    Led2 = 0
    Led3 = 0
    
    'Hauptprogramm
    
    Do
     Led0 = 1
     Wait 1
     Led0 = 0
     Led1 = 1
     Wait 1
     Led1 = 0
    Loop
    
    'usw halt
    
    End
    Wisst ihr wie ich das lösen könnte?

    Mfg
    Stefan

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    eventuell so ...

    Code:
    Dim Led As Byte
    
    Do
      If Led < 16 Then Incr Led Else Led = 0
      Porta.0 = Led.0
      Porta.1 = Led.1
      Porta.2 = Led.2
      Porta.3 = Led.3
      Wait 1
    Loop
    dann kannst du dir die ganzen Definitionen sparen.

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    Sorry, aber das versteh ich nicht ganz.
    Ich hab ja am Multiplexer 4 Eingänge mit denen (je nach Bitmuster) ich eine von 16 Ausgängen schalten kann.

    Aber ich will nicht jedesmal

    A0 = 0
    A1 = 0
    A2 = 0
    A3 = 0

    schreiben damit LED1 an geht.

    Ich will halt haben, das wenn ich ihm sage

    LED1 = 1

    er den oberen Ablauf jedesmal automatisch macht.

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    Hab ihn jetzt mal manuell angesteuert.

    Do
    A0 = 0
    A1 = 1
    A2 = 0
    A3 = 0
    Waitms 500
    A0 = 1
    A1 = 0
    A2 = 1
    A3 = 1
    Waitms 500
    Loop

    Allerdings hängt sich das Ding öfters auf.
    Wenn ich mich über die Schaltung beuge geht es.
    Versteh ich nicht.
    Ist das ding so emfindlich oder hat das was gegen mich -.-

  5. #5
    Erfahrener Benutzer Begeisterter Techniker Avatar von albundy
    Registriert seit
    16.10.2004
    Beiträge
    282
    [
    Sorry, aber das versteh ich nicht ganz.
    was verstehst du daran nicht ?

    Porta (A0-A3) übernimmt das Bitmuster von der Variablen "LED".
    1. Durchlauf: Bitmuster = 0001 / Ausgang Q0 = High (LED0=1)
    2. Durchlauf: Bitmuster = 0010 / Ausgang Q1 = High (LED1=1)
    3. Durchlauf: Bitmuster = 0011 / Ausgang Q2 = High (LED2=1)
    ...
    16. Durchlauf: Bitmuster = 1111 / Ausgang Q15 = High (LED16=1)


    PS:
    Wen stellt eigendlich dein Avatar dar ? Sieht fast wie Lenin aus.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    Stromberg aus ProSieben.
    Oky ich teste es gleich mal.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    Jo geht, auch wenn ich es noch nicht ganz versteh,

    Was bewirkt Porta.0 = Led.0? Led zählst du hoch ist kla, d
    ann hättest du doch 1.0?
    Porta.0 = 1.0 ?!

    Sorry blick da noch nicht so durch!

    Wie geht es jetzt bei Led.4 weiter?

    Enable muss doch auf GND, außer bei Q1 da muss es auf Vcc oder?
    Was ist mit Latch enable input, hab das unbenutzt.

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    Der 74HC4514 arbeitet Binär und du rechnest Dezimal.

    Das ist der Denkfehler.
    Gruß
    Ratber

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2006
    Ort
    Aachen
    Alter
    28
    Beiträge
    718
    Ja genau das mein ich ja.
    Daher hab ich es auch nicht verstanden.
    ich hab doch 4 Eingänge die je low/high sein können.

    Aber ich hab jetzt noch immer 2 Probleme.

    1. Was mache ich mit LE?

    2. Ist das Problem noch immer nicht gelöst.
    Jedesmal wenn eine Led angeschaltet werden soll muss ich "per hand" alle 4 Ausgänge setzen.

    Mfg
    Stefan

    Achja, die Ausgänge sollten doch LEDs verkraften können oder?
    Find da irgentwie nichts zu.

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.09.2004
    Ort
    Düsseldorf
    Beiträge
    3.948
    LE schaltet das Bitmuster an den 4 Eingängen aktiv.

    Damit verhinderst du zb. zufällige Bitmuster wenn er an nem Bus hängt..

    Bei einer Anwendung ist das aber uninteressant.
    Kannst ihn dauerhaft Akiv lassen.(Sag ich jetzt ohne ins Datenblatt geschaut zu haben)



    Ist das Problem noch immer nicht gelöst.
    Jedesmal wenn eine Led angeschaltet werden soll muss ich "per hand" alle 4 Ausgänge setzen.
    Verknüf doch einfach eine Variable mit dem ganzen Port.

    Dann gibst du nur noch an welche leuchten soll.
    Also LED= 5 bringt LED 5 zum Leuchten,LED 16 schaltet LED16 an usw.
    Ganz einfach.
    Gruß
    Ratber

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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