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

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

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

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

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

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

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

 
Опции темы
Непрочитано 23.06.2006, 22:15  
maxNTF
Вид на жительство
 
Регистрация: 18.06.2006
Сообщений: 434
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
maxNTF на пути к лучшему
По умолчанию Помогите с таймером

Покажите пожалуйста как правильно рассчитывать таймер. Есть примеры, но я не могу его понять, кто может
покажите на моем.
У меня PIC16F628, кварц 4МГц
Ниже пример кода, мне нужно чтоб значение j -увеличивалось на 1 каждые 200 мсек, а k –каждую
минуту.
Код:
#include‹pic.h›
char j,k;

void interrupt mytimer(void)
{
...
j++;
...
k++;
}
...
...
Реклама:
maxNTF вне форума  
Непрочитано 23.06.2006, 23:41  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

я думаю вам подскажут. А если будет желание то почитайте "Си для МК" avr123.nm.ru/05.htm
avr123-nm-ru вне форума  
Непрочитано 26.06.2006, 11:33  
paha1956
Временная регистрация
 
Регистрация: 17.05.2006
Сообщений: 72
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
paha1956 на пути к лучшему
По умолчанию

200 мс это 5 кГц. Что бы из 4 МГц получить 5 кГц надо тактовую частоту поделить на 800, т.е. делитель тактовой должен быть настроен на 800. Вот и получится 200 мс.
Далее, что бы из 200 мс получить минуту оператор "k++" должен срабатывать 1 раз за 60 секунд или 1 раз за 60*5=300 тактов срабатывания обработчика прерывания (200 мс это 1/5 секунды). Поэтому обработчик должен выглядеть так:

... function_int(void)
{
static unsigned int count;

j++;

count++;
if (count ›= 300)
{
count=0;
k++;
}
}
paha1956 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с Таймером(mega169) Archer07 Микроконтроллеры, АЦП, память и т.д 3 25.07.2009 16:35
Помогите с таймером Stan88 Микроконтроллеры, АЦП, память и т.д 9 03.07.2009 13:40
Проблемы с таймером Pashokq Микроконтроллеры, АЦП, память и т.д 2 12.05.2009 17:36
Свет с таймером dvg89 Автоматика и аппаратура связи 3 25.03.2008 08:44
помогите с таймером! ZyXEL Микроконтроллеры, АЦП, память и т.д 10 06.10.2005 20:46


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


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