Hallo

PC_7 steht für (1<<7), also ein "leeres" Byte in dem eine 1 siebenmal nach links geschoben wurde. (1<<0) ist dual 0b0000 0001, (1<<1) ist 0b0000 0010 usw. bis (1<<7) oder 0b1000 0000.

|= oder &= ist eine Verkürzung der Schreibweise, ausgeschrieben wäre das "DDRC = DDRC | PC_7" bzw. "DDRC = DDRC & ~PC_7". Das Datenrichtungsregister wird eingelesen, mit dem Bitmuster (Maske) verknüpft und das Ergebniss wird in das Datenregister zurückgeschrieben. Nur die in der Maske gesetzen Bits (die welche High sind) werden dabei beeinflußt. Die Tilde ~ bewirkt, dass im nachfolgenden Wert die jeweiligen Bits invertiert werden. Wenn alle Bits des Datenrichtungsregisters den Wert der Maske annehmen sollen, dann verwendet man besser die Zuweisung "DDRC = maske".

Ich hoffe, diese kurze Erklärung ist genau genug ;)

Gruß

mic