Да на самом деле надо просто четко разделять 2 задачи - инициализацию регистра целиком и манипуляцию битами. В первом случае запись вида
Код:
(0<<WGM01)|(1<<WGM00)
вполне наглядна и ее можно рекомендовать новичкам. А вот во втором случае однозначно нужны конструкции вида
Код:
PORTB &= ~(1<<LED0BIT)
, которые компилятор превратит в set/clear bit если бит только один. То есть единственное что в приведенном примере плохо - манипуляция _целым_ портом для мигания диодом. А не сдвиг нуля вверх как таковой. И тем более не язык программирования. (типа ваш К.О.
)