Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум

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

Ответ
Опции темы

Скоректируйте программу частотомера

Непрочитано 26.04.2011, 23:13   #11
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

begun,
если уж руки чешутся программировать, то может взять альтеру на 32-64триггера и нарисовать там схему, запрограммировать и получить измерительный канал до 100мгц, а на контроллер возложить функцию выбора пределов, индикации, вида измерения, связи с пк...?
Реклама:
jump вне форума   Ответить с цитированием
Непрочитано 26.04.2011, 23:23   #12
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

на счет PIC ов Я знаю, что легко получается результат, но если взять другую структуру частотомера,который тоже используют разработчики -это с предваритедьным наружный делителем ,выходы которого подключаются к пинам контроллера.
Тут точность не теряется и за одно уменьшается частота на счетный вход контроллера.
При меньшей частоте наверно лучше можно обработать сигнал.
Я прав?
begun вне форума   Ответить с цитированием
Непрочитано 27.04.2011, 01:45   #13
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

Готовая программа на си http://electronix.ru/forum/index.php...ic=77251&st=30, пост #32

Немного теории http://electronix.ru/forum/index.php...ic=29796&st=15, пост #23

Последний раз редактировалось =GM=; 27.04.2011 в 01:51.
=GM= вне форума   Ответить с цитированием
Сказали "Спасибо" =GM=
begun (06.05.2011)
Непрочитано 27.04.2011, 09:39   #14
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

GM,
Ваши посты знаю хорошо и неоднократно их рассмотривал, но чтобы в них капитально разобраться нужно уяснить некоторые ньюансы,
и если кто разъяснит ,буду очень признателен и смогу двинутся вперед
по очень ценным для меня советам cо стороны участников поста.
Например:
Почему нельзя использовать вместо флага такую конструкцию:

if(TCNT0==0xFE)
a++;
Разве тут не все тоже самое ,ну только лишь теряется единица при каждом переполнении таймера ,что в общем то наверно можно учесть.
Так такая замена всетаки вожможно . Прелесть флагов только в том что они работают без вызова прерывания?
Спасибо.
begun вне форума   Ответить с цитированием
Непрочитано 27.04.2011, 19:12   #15
=GM=
Прописка
 
Регистрация: 21.09.2009
Сообщений: 218
Сказал спасибо: 1
Сказали Спасибо 29 раз(а) в 27 сообщении(ях)
=GM= на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

Сообщение от begun Посмотреть сообщение
Почему нельзя использовать вместо флага такую конструкцию: if(TCNT0==0xFE) a++;
Раскройте вопрос по-полнее, а то я не совсем вас понимаю, что за конструкция, где её нельзя использовать, кто сказал, что нельзя.

Последний раз редактировалось =GM=; 27.04.2011 в 19:15.
=GM= вне форума   Ответить с цитированием
Непрочитано 27.04.2011, 22:43   #16
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 349
Сказал спасибо: 181
Сказали Спасибо 65 раз(а) в 57 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

Сообщение от st_1 Посмотреть сообщение
Угу...
При входной частоте 100Гц и полной шкале в восемь разрядов... включи - и езжай в отпуск...
Для этой частоты берем например 10 импульсов, время измерения 0.1 сек
Какой отпуск? Вы о чем?
Да здесь просто измерение длительности импульса.
(после деления на количество импульсов, получаем повышение точности)
CodeNameHawk вне форума   Ответить с цитированием
Непрочитано 27.04.2011, 22:56   #17
begun
Гражданин KAZUS.RUN
 
Регистрация: 18.07.2006
Сообщений: 894
Сказал спасибо: 244
Сказали Спасибо 31 раз(а) в 28 сообщении(ях)
begun на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

omercury указывает, что некорректно провести расчеты в прерывании, что нужно использовать флаги и с их помощью считать количество переполнения таймера.
Как Я понимаю ,количество шагов процессора при проведении операции с флагами фиксировано и при формировании секундного интервала можно учесть.
я подумал что можно и без флагов получить тоже самое дождаться в бесконечном цикле переполнения таймера и вести счет,т.е.
while(1)
{
--
if(TCNT0==0xFE)
а++;
--
можно же таким образом посчитать количество переполнеия таймера?
(извините,если Я не то говорю)
Спасибо.
begun вне форума   Ответить с цитированием
Непрочитано 28.04.2011, 00:18   #18
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

Цитата:
подумал что можно и без флагов получить тоже самое......можно же таким образом посчитать количество переполнеия таймера?
Можно-то можно, но...нельзя... Потому, что сработать может несколько раз. Флаг прерывания устанавливается при переполнении счетчика таймера(переходе из 0хFF в 0х00), поэтому им пользоваться удобнее. После использования флаг надо сбросить (автоматом он сбрасывается при выходе из прерывания).
А прерывания нельзя использовать(для точности) потому, что вход в прерывание может попасть на команду (Асм), выполняющуюся за несколько тактов. Счёт в этом случае собьётся. А может и несколько раз такое случиться. Поэтому и делается без прерываний, но по флагам прерываний.
omercury вне форума   Ответить с цитированием
Непрочитано 28.04.2011, 00:25   #19
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

Сообщение от CodeNameHawk Посмотреть сообщение
Какой отпуск? Вы о чем?
"При входной частоте 100Гц и полной шкале в восемь разрядов... включи - и езжай в отпуск..."
st_1 вне форума   Ответить с цитированием
Непрочитано 28.04.2011, 00:28   #20
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,102
Сказал спасибо: 113
Сказали Спасибо 860 раз(а) в 610 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

Сообщение от omercury Посмотреть сообщение
Можно-то можно, но...нельзя...
Можно!
На PIC24 можно... у них детерминированный вход в прерывание...
st_1 вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти бесплатную программу виртуального сом порта begun Микроконтроллеры, АЦП, память и т.д 5 18.10.2010 21:47
Создание частотомера на PIC16F84A,пробелема CERGEI1982 Микроконтроллеры, АЦП, память и т.д 4 24.01.2007 10:18
спомощью какой программы можно писать программу на МК. golinskiy Proteus, KiCAD и другие ECAD 4 05.06.2006 10:43
как переписать программу с at90s2313 на pic 12ce519 sport7 Микроконтроллеры, АЦП, память и т.д 3 08.12.2005 10:50
Не могу скачать с сайта программу iled Proteus, KiCAD и другие ECAD 1 19.08.2005 20:24


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


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