Keine Ahnung wiso es immer wieder Leute gibt, die irgendeinen Mist
erzählen, der garnix mit der Frage zu tun hat. Naja, ist halt so...
@Igor
Abgesehen dass bit_set() etwas unüblich ist, (und ich jetzt mal davon
ausgehe, dass es das macht was der Name sagt), dann sollte es eigentlich
funktionieren.
Noch ein Hinweis am Rande:
OCR1AL = 50;
Das ist nicht ganz das was du vermutlich vorhast. OK, in dem Fall schon,
aber generell kann sowas ein schöner Fehler sein, denn es wird auch das
Highbyte mitgeschrieben. Und da man selten weiß, mit welchem Wert es
gerade belegt ist, schreibt man irgendwas mit. In diesem Fall wurde das
Highbyte aber zuletzt hier beschrieben:
ICR1 = 128;
Da dieser Wert <256 ist, ist es 0. Also macht es das was du vorhast.