то что delay_ms() wdr обнуляет не знал, точнее не задумывался

, но
Цитата(otrog @ May 31 2006, 14:15)

Код
PORTB=0x01;
.......
unsigned int i;
for(i=0;i<0xFFFF;i++){}
То же
видимых результатов не даст - слишком короткий импульс на гашение СД-а , разве что на осцилографе можно будет увидеть. Да и лучше так не делать.
ИМХО лучше все таки через прерывания, или так, если надобно ток светодиодом поморгать:
Код
....
while(1)
{
delay_ms(500)
PORTB ^= 0x01;
}