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

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

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

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

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

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

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

 
Опции темы

2 вопроса по PIC16F877A - HELP!

Непрочитано 12.06.2005, 02:03  
pawelk
Частый гость
 
Регистрация: 17.05.2005
Сообщений: 9
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
pawelk на пути к лучшему
По умолчанию 2 вопроса по PIC16F877A - HELP!

Народ срочно нужно решить 2 проблемы, помогите кто чем может:
1. Есть у меня Timer1 в PIC16F877A- идут у меня на него по RC0 импульсы - дайте кусочек исходника как отсчитать 971 импульс...чтобы прерывание выставить

2. По RB4 приходят импульсы сл.вида:

1 импульс - пауза определенная - если больше импульса нету то 1 импульс, если после паузы пришел, то 2 импульса - снова пауза, снова пришел еще/не пришел, если пришел то 3 импульса - все 3 максимум

КАК это программно реализовать, т.е. определять сколько импульсов пришло???

Спасибо ВСЕМ заранее за помощь.
Реклама:
pawelk вне форума  
Непрочитано 13.06.2005, 13:36  
xelos
Прописка
 
Регистрация: 27.08.2004
Сообщений: 98
Сказал спасибо: 0
Сказали Спасибо 19 раз(а) в 18 сообщении(ях)
xelos на пути к лучшему
По умолчанию

не помню точно как таймер 1 работает, но по первому вопросу алгоритм следующий:
ставишь прерывание на переполнение таймера (255 циклов). В прерывании ставишь переменную, считающую количество прерываний. Как только кол-во прерываний равно 3, загружаешь в счетчик таймера 971-255*3 (посмотри, возможно, надо делать поправку на 4 цикла команды загрузки числа в счетчик) и со следующего прерывания у тебя 971 цикл.

по второму вопросу, вроде, проблем не должно быть - на RB0 есть прерывание. запоминаешь цикл, на котором пришел первый импульс, по приходу следующего, если циклов мало - значит 2 импульса вместе, если больше паузы - значит одиночный импуль после паузы...
xelos вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ответьте на 3 вопроса))) Anatol_rus Аудиотехника 1 14.03.2009 21:40
2 вопроса про UART jake87 Микроконтроллеры, АЦП, память и т.д 2 14.01.2009 00:37
RA4 в PIC16F877A maxNTF Микроконтроллеры, АЦП, память и т.д 8 06.02.2008 23:28
Подключение PIC16F877A maxNTF Микроконтроллеры, АЦП, память и т.д 10 04.10.2007 20:00
PIC16F877A pawelk Микроконтроллеры, АЦП, память и т.д 17 28.05.2005 23:54


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


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