-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Wie Ports Multiplexen?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied Avatar von HM
    Registriert seit
    01.12.2003
    Beiträge
    161

    Wie Ports Multiplexen?

    Anzeige

    Hallo Bascom-Fans,
    evtl. könnt Ihr mir helfen.
    Ich habe schon einige Stunden damit verbracht im Internet Seiten zu suchen/finden, wie man ein Port des Atmegas z.Bsp. PortB.0 bis PortB.7 nacheinander in Bascom ein und dann ausschaltet (H,L) und das immer wieder von vorn (keine 7-Segmentanzeige). Leider bin ich nicht fündig geworden, keine Ahnung warum ich nichts gefunden habe, möglicherweise habe ich falsch gesucht.
    Ja und gleich noch zwei Fragen:
    Wenn man die Ports multiplexen möchte, wie werden die Ports (Port "B" u. Port "C") unterschieden und wie wird die Geschwindigkeit geregelt?
    Es wär sehr schön, wenn mir da jemand helfen könnte.
    Vielen Dank für Eure Antworten. MfG

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hallo HM,
    du könntest z.B. einen Timer laufen lassen, der in der gewünschten Zeit überläuft (damit regelst du die Geschwindigkeit) und dann in eine Routine springt. Dort zählst du eine Variable von 0 bis 7 hoch und schaltest den zugehörigen Ausgang um. Das geht mit vier Befehlen:

    Toggle PortB.Zaehler 'schaltet den vorherigen Port-Pin aus
    Incr Zaehler 'erhöht den Zaehler
    If Zaehler = 8 Then Zaehler = 0 'setzt den Zaehler zurück
    Toggle PortB.Zaehler 'schaltet den nächsten Port-Pin ein

    Wenn du das über mehrere Ports machen willst, musst du dir über eine zweite Variable merken, wo du gerade dran bist, also auf PortB oder auf PortC.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    Hier:

    http://www.mikrocontroller.net/artic...Multiplexen.29

    ist es ganz gut beschrieben
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied Avatar von HM
    Registriert seit
    01.12.2003
    Beiträge
    161
    Hallo for_ro u. Vitis,
    erst mal ganz herzlichen Dank, das Ihr euch Zeit genommen habt um mir zu antworten.
    Mit Toggle habe ich auch schon rumexperimentiert, mir fehlen da wohl noch einige Kenntnisse in Bascom aber das sind schon brauchbare Tipps für mich.
    Wenn ich nicht weiterkomme, melde ich mich wieder, also vielen Dank.
    MfG

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    toggle ist käse, geht nur mit einem Pin ...
    Ich rotiere die Anzeigen durch, habe quais
    anzeige 1 an porta.1
    anzeige 2 an porta.2 etc. bis
    anzeige 5 an porta.5
    dann hab ich n byte definiert mit &B00000001
    das shifte ich per shift,left,1 eins weiter und bei
    if byte.5=1 then byte=&B00000001
    setze ich das wieder zurück.
    dann brauch ich das byte jeweils nur in den port zu schreiben und die jeweilige anzeige ist selektiert.
    danach nur noch das byte für die jeweilig anzuzeigende zahl ins portb schreiben und fertig ist die kiste ...

    in meinem fall hab ich mir sowas wie n framebuffer gebaut, in den die jeweiligen anzeigen geschrieben werden
    und im timer interrupt rufe ich nur noch das array ab und schreibs in den port ... ok, jetzt wo ich das lese
    scheints recht verwirrend ... hmmm

    hier n codeabschnitt von mir wie ich das im timer-isr gemacht hab

    Shift Segment_rotate , Left , 1
    If Segment_rotate.5 = 1 Then
    Segment_rotate = &B00000001
    Segment_select_pointer = 1
    endif
    Porta = Char_array_1(segment_select_pointer)
    Portc = Char_array_2(segment_select_pointer)
    Incr Segment_select_pointer

    segment rotate ist in meinem fall per alias direkt auf den port (ääähmm wars D?) gelegt
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Zitat Zitat von Vitis Beitrag anzeigen
    toggle ist käse, geht nur mit einem Pin ...
    Danke für die Bemerkung. Hättest dein Rotate auch ohne dies vorschlagen können.

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    hmmm? Versteh ich jetzt nicht ganz, aber danke für den Hinweis.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied Avatar von HM
    Registriert seit
    01.12.2003
    Beiträge
    161
    Hallo Vitis,
    vielen Dank für Deine umfangreiche Antwort.
    Also ich möchte keine 7-Segmentanzeige ansteuern, nur LEDs, die mit einem $include "file" Bit-Muster ausgeben.
    Ich nehme an, das daß aber mit dem Interrupt ähnlich ist.
    Ich bin hier schon länger im Forum angemeldet, aber trotzdem noch ein Anfänger, da ich längere Zeit paussieren mußte fehlt mir die Erfahrung.
    Gut das es dieses Forum gibt.
    MfG
    Geändert von HM (31.05.2011 um 11:43 Uhr)

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    01.06.2011
    Beiträge
    5
    Über Logikbausteine kann man ja durchaus die RxD und TxD-leitungen splitten und verschiedenen Treibern zuführen. Aber du solltest dir ein zeitfenster einbauen. eder Teil (RS232 und IRDA) bekommt jede ms ein Zeitfenster in dem die Kommunikation stattfindet.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied Avatar von HM
    Registriert seit
    01.12.2003
    Beiträge
    161
    Hallo abendrise,
    vielen Dank für Deine Antwort.
    Irgendwie paßt Deine Antwort nicht zu meiner Frage. Bist Du dir sicher, das Du hier richtig bist? MfG

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. 7 Segmentanzeige multiplexen
    Von Maverick83 im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 01.06.2011, 15:19
  2. I2C Multiplexen
    Von filth im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 01.07.2009, 07:40
  3. Konstantstromregelung zum Multiplexen
    Von KingTobi im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 24.03.2009, 19:32
  4. Multiplexen Probleme
    Von Rohbotiker im Forum Elektronik
    Antworten: 13
    Letzter Beitrag: 05.10.2008, 16:24
  5. Multiplexen
    Von Moritz f. im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 18.09.2005, 16:40

Berechtigungen

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