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

 
 
> Проблема при измерении периода синусоиды, ATmega8
straighter
сообщение Mar 4 2016, 23:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 29-06-12
Пользователь №: 72 555



Уважаемые форумчане, помогите разобраться... ATmega8 работает с кварцем 8 Мгц. На вход встроенного компаратора подаю синусоиду 4 кГц от стабильного генератора. По положительному перепаду на выходе компаратора происходит захват значения в Timer/Counter1. Возникает прерывание, вычисляется разность между последним захваченным значением и предыдущим захваченным значением. По идее, эта разность должна быть равна 2000, т.к. 8МГц/4кГц=2000.
Но на самом деле получается 1000. Почему?

Это значение (1000) я могу наблюдать в виде последовательного кода на выходе PORTC.1 с помощью осциллографа.

Фрагмент программы, прерывание по захвату Таймера1:

i
Код
nterrupt [TIM1_CAPT] void timer1_capt_isr(void)
{
b=ICR1;
if (b>a) {
e=b-a;
};
a=b;
for(i=0; i < 16; i++)
{      
if(0x0001 & (e>>(15-i)))
        PORTC.1=1;                      //если бит-единица, то и выставляем единицу
        else PORTC.1=0;       //иначе - выставляем ноль        
     }
PORTC.1=0;
}


Сообщение отредактировал IgorKossak - Mar 5 2016, 10:40
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- straighter   Проблема при измерении периода синусоиды   Mar 4 2016, 23:31
- - akl   Возможно, есть дребезг в моменты перехода полуволн...   Mar 5 2016, 02:59
- - zombi   А если в прерывании просто инвертировать PORTC.1 к...   Mar 5 2016, 12:24
|- - straighter   Цитата(zombi @ Mar 5 2016, 14:24) А если ...   Mar 5 2016, 13:12
|- - zombi   Цитата(straighter @ Mar 5 2016, 17:12) На...   Mar 5 2016, 14:52
|- - straighter   Цитата(zombi @ Mar 5 2016, 16:52) А почем...   Mar 5 2016, 18:14
|- - pilot1440   ACSR=0x04; а какое условие прерывания у компаратор...   Mar 13 2017, 12:45
- - zombi   Или clkcpu не 8MHz или на счетчик поступает не clk...   Mar 5 2016, 14:41
- - controller_m30   Приведите ещё настройки всех регистров компаратора...   Mar 5 2016, 14:52
- - zombi   Судя по осциллограммам на формирование одного бита...   Mar 5 2016, 19:37
- - straighter   Цитата(zombi @ Mar 5 2016, 21:37) Судя по...   Mar 5 2016, 20:39
- - zombi   Цитата(straighter @ Mar 5 2016, 23:39) Вр...   Mar 5 2016, 21:11
- - controller_m30   Цитата(straighter @ Mar 5 2016, 23:39) По...   Mar 5 2016, 21:53
|- - straighter   Цитата(controller_m30 @ Mar 5 2016, 23:53...   Mar 6 2016, 08:28
|- - zombi   Цитата(straighter @ Mar 6 2016, 00:39) Я ...   Mar 6 2016, 11:52
|- - straighter   Попробую так написать, поставить строб после бита.   Mar 6 2016, 15:02
|- - zombi   Цитата(straighter @ Mar 6 2016, 18:02) ст...   Mar 6 2016, 15:20
|- - straighter   Да, вроде бы понял. Попробую так и написать.   Mar 6 2016, 15:24
- - zombi   Цитата(controller_m30 @ Mar 6 2016, 00:53...   Mar 6 2016, 04:45


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

 


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


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