QUOTE (AnKing @ Aug 30 2011, 04:09)

использовал функцию _delay_us() и все заработало.
Только такой вопрос, при вызове этой функции обработка приложения разве не прекращается?
delay_us и delay_ms ничто инное как холостые циклы, рассчитываемые препроцессором. Микроконтроллер в сон не уходит. Поскольку компилятор "знает", что эти холостые циклы нужны, он их не удаляет. Поэтому Ваша программа заработала.
QUOTE (AnKing @ Aug 30 2011, 04:09)

И второй вопрос... как сгенерировать синусоидальный сигнал? при помощи двух последовательных таймеров?
Ключевое слово ШИМ (PWM). В инете можно найти примеры программной генерации различных сигналов. Даже речь воспроизводят.
Выбор.