реклама на сайте
подробности

 
 
> Таймеры., Настройка таймера в CVAVR
ps1x
сообщение May 7 2006, 20:09
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Как расчитать значения таймеров? Есть программка, но она не подходит для Tiny26 ибо нету у него 16 битного таймера. Не могли бы вы написать пример для расчета частоты 1 Гц?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
CSB
сообщение May 7 2006, 20:40
Сообщение #2


Частый гость
**

Группа: Новичок
Сообщений: 100
Регистрация: 9-03-06
Пользователь №: 15 088



Если Вы имели ввиду период срабатываний таймеров, то поступаем следующим образом:

Код
#define F_XTAL 7372800L
// Расчет инициализации таймера. Порядок следования имеет значение, для того чтобы препроцессор производил округление (компилятор CV AVR 1.24.4 Standart)
// 0x100 - предельное значение счетчика
// 600L / 1000000L - период срабатываний в секундах
// 64L - коэффициент деления тактового сигнала
#define INIT_TIMER0 TCNT0 = 0x100 - 600L * F_XTAL / 64L / 1000000L

......
......
......

void main()
{
................
    // Период работы 600 мкс
    // Fclk = 7.3728 MHz    
    TCCR0 = 0x03;    // Fclk/64 - задаем делитель
    INIT_TIMER0;      // инициализируем счетный регистр

    TIMSK = 0x01;
    #asm("sei");
...................


В обработчике прерывания при переполнении таймера следует выполнить INIT_TIMER0; для новой инициализации счетного регистра.

Цитата
Не могли бы вы написать пример для расчета частоты 1 Гц

Нужна тактовая частота МК. Пример с 7.3728 МГц показан выше. Просто в формулу подтавляете частоту, коэффициент деления и собственно период срабатывания в секундах.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01335 секунд с 7
ELECTRONIX ©2004-2016