8051 C spezial register (ANFÄNGER)

Gast #52056
Lesenswert?
• ▲
▼
Hallo zusammen ,
ich will seit neustem 8051 programmierung betreiben.
Ich habe mir eine Demo-Version des WIDE - C -Compielers von AvoCet
heruntergeladen.
jetzt habe ich ein kleines Problem wenn ich an P0.1 den wert  high
haben will kann ich dieses nur mittels P0 = 2; machen.
Wie kann ich diesn Port direkt ansprechen.
Vielen Dank für die Antwort/en
Gast #52058
Lesenswert?
• ▲
▼
naja, P0.1 klingt für mich wie Port 0-Bit 1, und da Bit 1 00000010
entspricht und das dezimal 2 ist musst du P0 = 2 schreiben. Damit du
andere Bits im Register nicht veränderst würde ich beim Setzen
einzelner Bits immer eine Oder-Verknüpfung anwenden, damit bleiben die
anderen Bits unverändert.

#define BIT0   0x01
#define BIT1   0x02
#define BIT2   0x04
#define BIT3   0x08
#define BIT4   0x10
#define BIT5   0x20
#define BIT6   0x40
#define BIT7   0x80

Also Bit 1 am Port 0 setzten P0 |= BIT1;
Bit 1 am Port löschen P0 &= ~BIT1; damit wird nur Bit1 gelöscht andere
Bits im Register bleiben gleich.
Gast #52059
Lesenswert?
• ▲
▼
Super vielen Dank,
Jedoch kommt direkt das nächste Problem,
ich möchte den wert 12 in ein Serieles-Schiebe register rein clocken
kann mir da einer Helfen ?

Oder kennt einer ein Tutorial wo man das nachlesen kann ?

MFG und THX

Marek Swierzy

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren