[an error occurred while processing this directive]
|
В начале программы устанавливаем стек. Потом настраиваем Т0. Например тактовая у нас 1МГц. Тогда подключаем Т0 к тактовой (регистр TCNT0 будет инкрементироваться через каждые 1000нс), и выбираем режим сброс при совпадении( Т0 будет считать от нуля до числа находящемся в регистре сравнения OCR0, а потом сбрасываться и т.д)
Для этого (см. даташит) записываем в регистр управления Т0 (TCCR0) число 0x09. Далее записываем в регистр сравнения OCR0 число 100 (тогда таймлер у нас будет обнуляться через каждые 1000нс x 100 = 0.1 мс.
Далее если хотим то разрешим прерывания по совпадению (запишем 1 в бит OCIE0 регистра TIMSK) Теперь через каждые 0,1мс у нас будет вызываться прерывание по сравнению таймлера 0.
Если нужна задержка то и таймлер не нужен. Можно организовать это при помощи цикла.
А если с таймлером, то просто ожидать пока установиться флаг прерывания (см.выше)
E-mail: info@telesys.ru