Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Timer2 in Atmega8 and Atmega16

Непрочитано 23.02.2016, 19:49  
Someone
Гражданин KAZUS.RUN
 
Регистрация: 16.06.2005
Сообщений: 942
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Сообщение от miwutka Посмотреть сообщение
TCCR1B=0x0B;
Сообщение от miwutka Посмотреть сообщение
TCCR1B=(0‹‹ICNC1) | (0‹‹ICES1) | (0‹‹WGM13) | (1‹‹WGM12) | (0‹‹CS12) | (1‹‹CS11) | (0‹‹CS10);
Миш, а тебя ничего не смущает? Вот в этих двух строчках. Первая - твоя настройка таймера1 для меги8, вторая - для меги16.
Реклама:
Someone вне форума  
Непрочитано 23.02.2016, 22:11  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Впринципе не смущает... У 8-ой 2500 прерываний в секунду, а у 16-ой 2000.... Я в прерывании считаю 2500 или 2000 (смотря какая мега ) и принимаю за 1 секунду. Каждую секунду я вывожу на индикатор герцы сети.....
Ща гляну в даташит.....

А ну то просто разные пределители частоты таймера...
miwutka вне форума  
Непрочитано 23.02.2016, 23:12  
Someone
Гражданин KAZUS.RUN
 
Регистрация: 16.06.2005
Сообщений: 942
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Сообщение от miwutka Посмотреть сообщение
У 8-ой 2500 прерываний в секунду, а у 16-ой 2000....
Вообще-то секунда при 8000000/8 занимает 1000000 тиков. Во втором же случае, в секунду войдёт 8000000/64=125000 тиков.
Someone вне форума  
Непрочитано 23.02.2016, 23:42  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Someone, ну да. Я наверно неправильно выразился.... При 8000000/8 занимает 1000000 тиков. OCR=499 значит за секунду возникнет 2000 прерываний.
miwutka вне форума  
Непрочитано 24.02.2016, 00:01  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Timer2 in Atmega8 and Atmega16

Если тебе надо посчитать частоту, у таймера есть режим захвата. И совсем ни к чему обрабатывать 2500 прерываний.

Напиши подробно, что тебе надо.
Godzilla82 вне форума  
Непрочитано 24.02.2016, 01:16  
Someone
Гражданин KAZUS.RUN
 
Регистрация: 16.06.2005
Сообщений: 942
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Сообщение от miwutka Посмотреть сообщение
значит за секунду возникнет 2000 прерываний.
Но зачем тебе 2000 прерываний, как верно заметил Годзила? Даже не используя режим захвата таймера (насколько я понимаю, схемотехнически ты завёл вход частоты на внешнее прерывание, а не на вход захвата таймера), что мешает настроить таймер1 на, к примеру, 1/512 секунды, обнулить счётчик импульсов от твоего детектора 0, разрешить прерывания от детектора (у тебя вроде инт0?), в этом прерывании инкрементировать счётчик. Когда сработает прерывание от таймера1, запретить внешнее прерывание, поставить флаг завершения измерения частоты, и в главной программе, если флаг окончания измерения стоит, сбросив его, посчитать значение частоты, умножив число в счётчике на 512?
Someone вне форума  
Непрочитано 24.02.2016, 01:29  
Someone
Гражданин KAZUS.RUN
 
Регистрация: 16.06.2005
Сообщений: 942
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
Someone на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

ЗЫ: И кстати говоря, не 2000, а 1/(499*0.000001)=2004. В принципе, погрешность не большая, но она есть.
Someone вне форума  
Непрочитано 24.02.2016, 19:19  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Не, мне частота впринцыпе не нужна. То я просто мониторю что детектор 0 работает. Но случайно обратил внимание что при включении таймера 2 он начинает сбоить. Ну то пока черный ящик для меня.... Отложу пока. А вот за режим захвата спасибо. Я как раз хочу сделать тахометр и спидометр. Тахометр уже год как работает электронный но с запаздыванием чуток. Мне он не нравиться. Хочу вот как вы сказали сделать в режиме захвата. Чтобы он реагировал в реальном времени. И датчик скорости тоже подключить хочу. Но вот думаю прийдется значит два таймера задействовать. Как потеплеет займусь этим.....
miwutka вне форума  
Непрочитано 21.03.2016, 12:09  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Godzilla82, с режимом захвата разобрался спасибо. Атмегу 8 заменил на атмегу 168 и все стало отлично работать, успевает всё считать. Видно 8-ая не справлялась с расчетами. У 168-ой встроенный 2-тактный множитель написано в даташите. Возможно это помогло решить проблему...
miwutka вне форума  
Непрочитано 10.04.2016, 21:40  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

скажите атмега 8 и 168 имеют различия в вычислении чисел float??? В атмеге 8 одно и тоже выполняется раз в 20-50 медленнее.....
miwutka вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
USB АЦП на ATmega16 переделать на ATmega8 98mildg1 Микроконтроллеры, АЦП, память и т.д 12 25.09.2010 20:29
Нужна помощь CDC-232 и atmega16 robin7341 Микроконтроллеры, АЦП, память и т.д 0 08.08.2010 00:13


Часовой пояс GMT +4, время: 23:13.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.