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

 
 
> Как частоту посчитать?, Что бы вывести на ЖКИ.
Коляй
сообщение Jul 23 2006, 15:01
Сообщение #1


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

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Ребята, как правильнее посчитать частоту для вывода на ЖКИ в нормальном виде?
Частота получается по прерыванию таймера 1.
частота таймера 1 - Clock/8.
прерывание по совпадению.
в СОМРА число 0х2050, которое будет меняться.
Хотелось бы что бы на ЖКИ была частота в Гц.
Частота будет от 70 до 250 Гц., десятичный вывод есть.
Трёх знаков на ЖКИ хватит. Кварц на 8м.
Спасибо. (с математикой туговато всегда было)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
defunct
сообщение Jul 23 2006, 15:15
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Коляй @ Jul 23 2006, 18:01) *
Хотелось бы что бы на ЖКИ была частота в Гц.


Ну так и выведите на LCD строку "1 Hz".


Либо уточните вопрос.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 23 2006, 15:26
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Два способа оценки частоты:

1-й на основе захвата длительности периода, может дать очень высокую точность. Timer завести в режиме Input Capture от аналогового компаратора. Частота будет расчитываться по формуле Fosc/(ICR - ICR_saved).

2-й на основе подсчета импульсов за секунду (потребуется таймер, который обеспечит вызов прерывания один раз в секунду и счетчик который за эту секунду подсчитает количество импульсов). По прерыванию таймера выводить значение счетчика на экран и обнулять счетчик.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Jul 23 2006, 15:40
Сообщение #4


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

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Спасибо. Извиняюсь.
Вопрос в том, как привязать число, которое в регистре сравнения таймера СОМРА к показаниям частоты? Считать саму частоту не надо, надо её показать. Вот с этим числом 0х2050 получается около 70-80 Гц (не 1 Гц!). Но число будет меняться (задаваться). И от него на ЖКИ число тоже должно меняться.
Если бы было прямая зависимость, больше число - больше частота, я бы и сам посчитал как-нить. Но тут обратная, чем больше число, тем меньше частота, по-этому затрудняюсь.
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 23 2006, 16:08
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Коляй @ Jul 23 2006, 18:40) *
Спасибо. Извиняюсь.
Вопрос в том, как привязать число, которое в регистре сравнения таймера СОМРА к показаниям частоты? Считать саму частоту не надо, надо её показать. Вот с этим числом 0х2050 получается около 70-80 Гц (не 1 Гц!). Но число будет меняться (задаваться). И от него на ЖКИ число тоже должно меняться.

Я Вас не понимаю...
Уточните что нужно сделать:
мерять частоту тактового генератора? Или частоту внешнего сигнала. Если второе, то какой природы сигнал - амплитуда и форма.

Ваш способ решения похоже совсем неверный, поэтому давайте Вы больше не будете упоминать о COMPA и о его значении. А просто сформулируете целевую задачу. Уверен здесь с радостью Вам помогут.


Цитата
70-80 Гц (не 1 Гц!).

Очевидно что-то нужно разделить на 70-80...
Go to the top of the page
 
+Quote Post
xemul
сообщение Jul 23 2006, 16:20
Сообщение #6



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Коляй @ Jul 23 2006, 19:40) *
Спасибо. Извиняюсь.
Вопрос в том, как привязать число, которое в регистре сравнения таймера СОМРА к показаниям частоты? Считать саму частоту не надо, надо её показать. Вот с этим числом 0х2050 получается около 70-80 Гц (не 1 Гц!). Но число будет меняться (задаваться). И от него на ЖКИ число тоже должно меняться.
Если бы было прямая зависимость, больше число - больше частота, я бы и сам посчитал как-нить. Но тут обратная, чем больше число, тем меньше частота, по-этому затрудняюсь.

По-видимому, Вы хотите сказать, что таймер1 считает импульсы с Fclk/8; при достижении таймером значения, заданного в COMPA, таймер обнуляется, программа делает еще что-то, и Вам необходимо индицировать частоту, с которой это что-то выполняется?
Тогда Вам нужно индицировать результат несложной операции Fclk/8/COMPA. Для этого достаточно дружить с арифметикой, как частным разделом математикиsmile.gif.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Jul 23 2006, 16:32
Сообщение #7


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

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Спасибо. Ништяк всё получилось. С математикой напряг и с арифметикой тож.
Go to the top of the page
 
+Quote Post
Alex_Pol
сообщение Aug 1 2006, 07:54
Сообщение #8


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

Группа: Свой
Сообщений: 192
Регистрация: 23-03-05
Из: Украина. Днепропетровск
Пользователь №: 3 626



Микроконтроллеры (МК) > AVR
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:22
Рейтинг@Mail.ru


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