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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 29.07.2010, 09:32  
GRTH32
Частый гость
 
Регистрация: 17.11.2009
Адрес: Владивосток
Сообщений: 18
Сказал спасибо: 2
Сказали Спасибо 1 раз в 1 сообщении
GRTH32 на пути к лучшему
По умолчанию Re: Помогите пожалуйста разобраться с частотным дискриминатором

В общем ковырял-ковырял, да и выковырял.
Спасибо всем, кто оказал помощь!
Рабочий код выглядит вот так:
PHP код:

#include ‹tiny13.h›

unsigned int i=0;

//Прерывание от данных пришедших с вала двигателя
interrupt [EXT_INT0void ext_int0_isr(void)
{

 if (
‹ 35//если i не успевает приплюсоваться до трех значит частота на валу Больше чем ограничение.
    
PORTB.3=0;
 else 
PORTB.3=1;
 
i=0//наплюсовали - надо  снулить нашу i дабы снова она начала плюсоваться

}

// Прерывание по таймеру 37,5 килогерц проц 9.60 мегагерц  - те фактически, такймер переполняется 37500/255 = 147.06 Гц?
interrupt [TIM0_OVFvoid timer0_ovf_isr(void)
{
TCNT0=0x01;
i++;
if (
›= 65535i=0;
}


void main(void)
{
// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

PORTB=0b001000// Ставим бит в PORTB.3, так как диод на VCC.
DDRB=0b001000//PORTB.3 у нас будет выходом на светодиод

// Организуем таймер на: 37,5 килогерц
TCCR0A=0x00;
TCCR0B=0x02;   //делим 9600000 на 8 = 37,5 килогерц
TCNT0=0x01;    // Зачем?
OCR0A=0x00;
OCR0B=0x00;

// Зададим выпадание в прерывание если идет падающий сигнал от датчика на валу
GIMSK=0x40// Прерывание по INT0
MCUCR=0x03// Прерывание на INT0 нарастающему фронту
GIFR=0x40;


//Прочее
TIMSK0=0x02;
ACSR=0x80;
ADCSRB=0x00;

#asm("sei")

while (1)
      {
//Траляля три рубля =))) Нифига тут нам не надо         
      
};

Осталось организовать спячку и скользящее среднее.
Хотя и так срабатывает весьма стабильно.
Реклама:
__________________
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.©
GRTH32 вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с ADS 7816 sserg_ey Микроконтроллеры, АЦП, память и т.д 6 27.07.2010 16:54
[Решено] Помогите разобраться с генератором igor1000 Электроника средств транспорта 10 05.07.2010 12:53
Помогите разобраться в схеме микросхемы koiah Электроника - это просто 85 14.05.2010 17:53
Помогите разобраться с прошивкой Edinolichnik Микроконтроллеры, АЦП, память и т.д 5 26.04.2010 22:24
Помогите, пожалуйста, разобраться в простейшей схеме.. Светлана Электроника - это просто 18 17.11.2009 01:10


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot