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


von SaschA (Gast)


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

?

von Thomas Burkhardt (Gast)


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...

von SaschA (Gast)


Lesenswert?

Danke, dann werd ich mal weiter mein Glück versuchen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.