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

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

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

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

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

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


 
Опции темы

Timer2 in Atmega8 and Atmega16

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

а для м16 так
Код:
 
 TCCR2 = 0x00; //stop
 ASSR  = 0x00; //set async mode none
 TCNT2 = 0x00; //setup
 OCR2  = 0x32;
 TCCR2 = 0x02; //start
 TIMSK = 0x80;
Если же хочешь, чтобы TCNT2 сбрасывался в 0 автоматически, то TCCR2 - 0x0A.
Реклама:

Последний раз редактировалось Someone; 23.02.2016 в 15:09.
Someone вне форума  
Сказали "Спасибо" Someone
miwutka (23.02.2016)
Непрочитано 23.02.2016, 16:37  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Timer2 in Atmega8 and Atmega16

Сообщение от Someone Посмотреть сообщение
Конечно нет, если ты хочешь дёргать вывод с частотой 20кГц.
Код:
OCR2  = 0x32;
1. Не 0x32, а 0x31.
2. Не 20 кГц, а 10 кГц.


P.S. Просто для ногодрыжнечества есть выход OC2.
Godzilla82 вне форума  
Сказали "Спасибо" Godzilla82
miwutka (23.02.2016)
Непрочитано 23.02.2016, 17:49  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Someone, Да, мне нужно, чтобы TCNT2 сбрасывался в 0 автоматически. Выходит настройки для обоих атмег в регистре TCCR2 = 0x0A ))) Ща гляну даташит на 16-ую. Неужели визард вот так меня на*бал ))))
miwutka вне форума  
Непрочитано 23.02.2016, 18:01  
miwutka
Почётный гражданин KAZUS.RUN
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Timer2 in Atmega8 and Atmega16

Блин ошибся. В начале страницы исправил код. В обоих атмегах стоит 0х0А..... Не в ту прошивку посмотрел... Выходит код правильный..... На осциллографе импульсы идут одинаково. А конечный исполнительный механизм на 8-ой работает идеально, а на 16-ой через задницу... Изначально писал на 8-ой. Теперь нужно больше ног и памяти - взял 16-ую и приплыл )) Даже железо один в один сделал))
Кстати атмега 16 бушная. С какого-то прибора снята. То ли после грозы, толи после пожара, непомню. Может ли быть еще и в этом дело...?
В коде у меня по прерыванию INT0 считаються импульсы от сети(50 Гц) и в таймере1 считаю частоту сети примитивно. Как запускаю таймер2 так сразу частота сети плывет - то 48 то 23 то 37 и так пока не выключю таймер2. У таймера2 приоритет прерываний выше, но в атмеге 8 такого нет, а в 16-ой вот такие галюны.....
Атмега8
PHP код:
// Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 125,000 kHz
    // Mode: CTC top=OCR1A
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: On
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x0B;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    //OCR1AH=0x00;
    OCR1A=49;
    //OCR1BH=0x00;
    OCR1B=0x00; 
Атмега 16
PHP код:
// Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 1000,000 kHz
    // Mode: CTC top=OCR1A
    // OC1A output: Disconnected
    // OC1B output: Disconnected
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer Period: 0,5 ms 2000 of 1 sek
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: On
    // Compare B Match Interrupt: Off
    TCCR1A=(0‹‹COM1A1) | (0‹‹COM1A0) | (0‹‹COM1B1) | (0‹‹COM1B0) | (0‹‹WGM11) | (0‹‹WGM10);
    TCCR1B=(0‹‹ICNC1) | (0‹‹ICES1) | (0‹‹WGM13) | (1‹‹WGM12) | (0‹‹CS12) | (1‹‹CS11) | (0‹‹CS10);
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1A=499;
    OCR1B=499; 

Последний раз редактировалось miwutka; 23.02.2016 в 18:21.
miwutka вне форума  
Непрочитано 23.02.2016, 18:17  
Godzilla82
Почётный гражданин KAZUS.RUN
 
Регистрация: 29.10.2006
Сообщений: 1,449
Сказал спасибо: 99
Сказали Спасибо 318 раз(а) в 234 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Timer2 in Atmega8 and Atmega16

Сообщение от miwutka Посмотреть сообщение
На осциллографе импульсы идут одинаково. А конечный исполнительный механизм на 8-ой работает идеально, а на 16-ой через задницу...
Даже железо один в один сделал))
Видимо, дело было не в бобине...

Если на осциллографе "импульсы идут одинаково", какие могут быть претензии к меге16?

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

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

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

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

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

Сообщение от miwutka Посмотреть сообщение
приоритет прерываний выше
У АВР нет приоритетов. Раньше сработает прерывание, которое раньше возникнет. И только в весьма маловероятном случае (сам подумай, с точностью до наносекунд должны совпасть события, вызывающие прерывания), будет играть роль адрес вектора прерываний.
Someone вне форума  
 
Опции темы

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

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, время: 09:53.


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