Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
14.05.2007, 18:54
|
|
Прохожий
Регистрация: 08.12.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Счетчик импульсов на PIC16F84
Добрый всем вечер! У меня такой вопрос. Как правильно использовать TMR0 для подсчета импульсов? В целях изучения PIC16f84 хочу сделать счетчик импульсов, который бы при поступлении, допустим, 20 сигналов высокого логич.уровня, выдавал на выходе один сигнал тоже высокого лог.уровня.
Заранее всем спасибо.
|
|
|
|
14.05.2007, 19:34
|
|
Гражданин KAZUS.RU
Регистрация: 27.07.2006
Сообщений: 659
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Счетчик импульсов на PIC16F84
Сообщение от tuart
|
Добрый всем вечер! У меня такой вопрос. Как правильно использовать TMR0 для подсчета импульсов? В целях изучения PIC16f84 хочу сделать счетчик импульсов, который бы при поступлении, допустим, 20 сигналов высокого логич.уровня, выдавал на выходе один сигнал тоже высокого лог.уровня.
Заранее всем спасибо.
|
Вы сигналы откуда берете?
В таймер грузите число 255-20 и следите за переполнением как только отловите,так и выдавайте свой выходной высокий уровень.
|
|
|
|
15.05.2007, 16:54
|
|
Частый гость
Регистрация: 01.01.2007
Сообщений: 49
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Счетчик импульсов на PIC16F84
Сообщение от EVGENIY1962
|
Сообщение от tuart
|
Добрый всем вечер! У меня такой вопрос. Как правильно использовать TMR0 для подсчета импульсов? В целях изучения PIC16f84 хочу сделать счетчик импульсов, который бы при поступлении, допустим, 20 сигналов высокого логич.уровня, выдавал на выходе один сигнал тоже высокого лог.уровня.
Заранее всем спасибо.
|
Вы сигналы откуда берете?
В таймер грузите число 255-20 и следите за переполнением как только отловите,так и выдавайте свой выходной высокий уровень.
|
Можно повесить Таймер на прерывание!
Как только Таймер переполниться после 20 импульсов (если вписали 255-20 в таймер), то произойдёт прерывание, по нему можно что то делать...и не отслеживать состояние таймера... Обратите внимание на предделитель!
|
|
|
|
15.05.2007, 17:56
|
|
Гражданин KAZUS.RU
Регистрация: 27.07.2006
Сообщений: 659
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Счетчик импульсов на PIC16F84
Сообщение от tim18
|
Сообщение от EVGENIY1962
|
Сообщение от tuart
|
Добрый всем вечер! У меня такой вопрос. Как правильно использовать TMR0 для подсчета импульсов? В целях изучения PIC16f84 хочу сделать счетчик импульсов, который бы при поступлении, допустим, 20 сигналов высокого логич.уровня, выдавал на выходе один сигнал тоже высокого лог.уровня.
Заранее всем спасибо.
|
Вы сигналы откуда берете?
В таймер грузите число 255-20 и следите за переполнением как только отловите,так и выдавайте свой выходной высокий уровень.
|
Можно повесить Таймер на прерывание!
Как только Таймер переполниться после 20 импульсов (если вписали 255-20 в таймер), то произойдёт прерывание, по нему можно что то делать...и не отслеживать состояние таймера... Обратите внимание на предделитель!
|
Так сложнее для начала.По поводу предделителя это вы мне?
|
|
|
|
16.05.2007, 12:04
|
|
Временная регистрация
Регистрация: 14.04.2007
Сообщений: 65
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Короче, делай с внешним прерыванием.
Возьми какой-нибудь регистр , инкрементируй его по прерыванию и сравнивай с числом 20. Если хочешь с TMR0, записывай в него 255 - свое число, и жди от него прерывания.
|
|
|
|
16.05.2007, 19:37
|
|
Частый гость
Регистрация: 01.01.2007
Сообщений: 49
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Да. Там у PIC16F84A есть два вывода:
1) RA4/T0CKI - вход/выход, по входу можно использовать на увеличение Таймера.(А Таймер можно настроить на вызов прерывания при его переполнении)
2) RB0/INT - вход/выход, по входу можно использовать как прерывание.
Обрати внимание, что предделитель Таймера МИНИМУМ = 1:2 !!!
Два импульса по входу, если включен предделитьель перед Таймером, и 1:1 если пред WDT.
INTCON (0Bh, 8Bh)- регистр прерываний (настройка и биты из-за чего произошло прерывание)
OPTION REGISTER (81h) - тут предделитель...и т.д.
|
|
|
|
16.05.2007, 21:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Работающий пример из самплов компилятора. Дизайн в протеусе. разбирайтесь.
Прикрепленный файл: 9986357.rar
|
|
|
|
19.05.2007, 18:35
|
|
Прохожий
Регистрация: 08.12.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Всем большое спасибо, пока..
Буду учиться с прерываниями работать.
Прерывания будут браться наверное с генератора. Точно еще не разобрался
|
|
|
|
20.05.2007, 11:19
|
|
Частый гость
Регистрация: 01.01.2007
Сообщений: 49
Сказал спасибо: 2
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Сообщение от tuart
|
Всем большое спасибо, пока..
Буду учиться с прерываниями работать.
Прерывания будут браться наверное с генератора. Точно еще не разобрался
|
Удачи...
И ещё - бит прерывания от Таймера надо самому сбрасывать в подпрограмме прерываний.
|
|
|
|
20.05.2007, 20:20
|
|
Прохожий
Регистрация: 08.12.2006
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от alkl
|
Короче, делай с внешним прерыванием.
Возьми какой-нибудь регистр , инкрементируй его по прерыванию и сравнивай с числом 20. Если хочешь с TMR0, записывай в него 255 - свое число, и жди от него прерывания.
|
Прочитал про прерывания. Интересно, но чересчур уж замудренно будет для программы.
А как можно сравнивать с числом?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Счетчик импульсов
|
vo1 |
Производственное оборудование |
3 |
16.06.2009 15:55 |
Счетчик импульсов
|
worldmasters |
Измерительное оборудование |
4 |
25.12.2007 16:12 |
газ счетчик
|
Mastino |
Информация по радиокомпонентам |
2 |
31.03.2006 23:57 |
Часовой пояс GMT +4, время: 20:57.
|
|