öhm naja du solltest dir vielleicht die bitoperationen nocheinmal genau ansehen
Code:
PORTC |= (1<<0);
// ausführlich
PORTC = PORTC | (00000001 << 0);
PORTC = xxxxxxxx | 00000001; //sinngemäß
PORTC = xxxxxxx1;
// wenn du jetzt aber 
PORTC |= (0<<0); //schreibst, passiert NICHTS denn

PORTC = PORTC | (00000000 << 0);
PORTC = xxxxxxxx | 00000000; 
// 0 ODER 1 ergibt 1 und 1 ODER 1 ergibt 1 ... ausschliesslich 0 ODER 0 ergibt auch 0

// was du brauchst ist das logische UND
// 1 UND 1 ergibt 1 ... 1 UND 0 ergibt 0 und 0 UND 0 ergibt 0

//nun musst du nur darauf achten, dass ALLE anderen bits 1 sind bis auf das/die bit(s) welche(s) du löschen möchtest 

PORTC = xxxxxxxx & 01111111; //sinngemäß
PORTC = xxxxxxxx & ~(10000000); //mit negierung
// das ~ zeichen kehrt alle bits einmal um

//in kurzform wäre dass dann 
PORTC &= ~(1<<1);

// die schreibweise mit PCn (PC4 im code oben)  ist ein makro der atmel lib, PC4 heisst nichts anderes als PIN 4 an PORT C, aufgelöst steht in dem makro also nur eine 4

(1<<PC4) == (1<<4)