http://www.forum.getchip.net/

Таймер с прерыванием 1 раз в сек от кварца 32768 на Atmega16
http://www.forum.getchip.net/viewtopic.php?f=16&t=470
Страница 1 из 1

Автор:  sartam [ 24 мар 2014, 10:21 ]
Заголовок сообщения:  Таймер с прерыванием 1 раз в сек от кварца 32768 на Atmega16

Всем привет. Не нашёл информации по обозначенному вопросу. А именно: как реализовать, чтоб раз в секунду по прерыванию выполнялось некое действие? Встречал схемы, где используется "часовой" кварц, вот только не понял как настроить таймер на прерывание 1 раз в секунду.

Автор:  ivdor [ 24 мар 2014, 12:13 ]
Заголовок сообщения:  Re: Таймер с прерыванием 1 раз в сек от кварца 32768 на Atme

1. Кварц подключается к TOSC1 TOSC2
2. Timer2 настраивается на TOSC, на максимальный делитель - 1024. Включаем прерывание с настройках таймера.
3. В обработке прерывания - считаем каждое 32е срабатывание. Оно и будет 1 сек. (32*1024)

Если задача сделать часы - лучше использовать часовые м/с - они без питания считают время за счет батарейки.

Автор:  sartam [ 24 мар 2014, 13:51 ]
Заголовок сообщения:  Re: Таймер с прерыванием 1 раз в сек от кварца 32768 на Atme


Автор:  ivdor [ 24 мар 2014, 18:39 ]
Заголовок сообщения:  Re: Таймер с прерыванием 1 раз в сек от кварца 32768 на Atme


Автор:  sartam [ 24 мар 2014, 18:43 ]
Заголовок сообщения:  Re: Таймер с прерыванием 1 раз в сек от кварца 32768 на Atme

ага, я так и подумал что ручками в ASSR придётся 3 бит ставить. А можно вместо проверки флагов просто сделать паузу? Я так понял что там всё строго тактировано, и у действий есть определённое количество тактов?

Автор:  sartam [ 24 мар 2014, 18:49 ]
Заголовок сообщения:  Re: Таймер с прерыванием 1 раз в сек от кварца 32768 на Atme

Выходит выглядеть ято будет примерно так:
1 -> assr.3
настраиваем TIMSK
настраиваем Timer2
проверяем флаги TCN2UB, OCR2UB, TCR2UB
1 -> I
Всё, можем пользоваться прерыванием
В общем то это всё мне нужно в моём проекте, который я сюда выкладывал. Хочется научиться работать с таймерами.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/