mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie nur ein Nibble ausgeben?


Autor: SaschA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einen 8Bit-Port als Ausgabeport definiert.
Nun möchte ich mit 4 Pins je ein Relais schalten, und mit den anderen 4
Bits 10 LEDs Muxen.
In der Mux-Routine möchte ich nun nur das relevante Niobble ausgeben,
die anderen Bits sollen nicht verändert werden.

Gibts da eine elegantere Lösung als:

1. Port in temp lesen
2. AND 1111 0000          ; Bit 0-3 für LED
3. LED-Register OR temp   ;Kombination wird übernommen
                          ;im LED-Register ist höheres Nibble=0
4. temp ausgeben

?

Autor: Thomas Burkhardt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wenn der µC bitweises Ändern von Portpins unterstütz kannst du die Pins
separat setzen. Ob das jetzt unbedingt eleganter ist, bleibt fraglich.
Ich würd es so, wie von dir beschrieben machen. Wenn du noch ein
Register freihast, kannst du das andere Halbbyte dort vorhalten und
musst es nicht immer vom Port einlesen...

Autor: SaschA (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, dann werd ich mal weiter mein Glück versuchen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.