Перегрузка ATMega8 ... Датчик пульса!!!

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Аватара пользователя
Сообщения: 4
Зарегистрирован: Вс сен 27, 2009 14:43:39

Сообщение serglegmelnik »

Проблема в следующем , нашел схемку датчика пульса который посылает цифровой сигнал на вход до МК , ещё использую микросхему ds1307 для времени которая опрашиваетца в таймере кажную секунду ...до сих пор проблем не било дале решил написать код подщета вот что выдумал :
//sec обновляться каждую секунду таймером
unsigned char Puls()
{
p=0;
s=sek ;
sek=0;
while(s!=sek)
{
if(PIND.5==0)
{
p++;
while(PIND.5==0 && s!=sek) {}
}

}
return p;
}
CodeVision ошибок не видает а вот при роботе в протеусе МК перегружаетца ....

В чем проблема?
Последний раз редактировалось serglegmelnik Вс окт 11, 2009 14:00:31, всего редактировалось 1 раз.
Контактная информация:
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

А сторожевой таймер в протеусе активирован?
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Реклама
Родился
Аватара пользователя
Сообщения: 4
Зарегистрирован: Вс сен 27, 2009 14:43:39

Сообщение serglegmelnik »

Pooher писал(а):А сторожевой таймер в протеусе активирован?
Как ето зделать? ... в свойствах МК?
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

именно протеус некорректно работает со сторожевым таймером. Проще забить сброс где-то в основном цикле #asm("wdr");
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Аватара пользователя
Сообщения: 4
Зарегистрирован: Вс сен 27, 2009 14:43:39

Сообщение serglegmelnik »

urry писал(а):именно протеус некорректно работает со сторожевым таймером. Проще забить сброс где-то в основном цикле #asm("wdr");
Не помогло ... могу скинуть проект вам на мейл может я чет не так делаю?
Контактная информация:
Реклама
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

Проще - в личку.
Я Ваш код не понимаю... Наверное, Вы хотите померить, сколько раз за секунду изменится pinb5 . Как Вы синхронизируете процедуру с началом секунды ?
Здесь как бы проситься включение второго таймера в счетном режиме, который будет запускать - останавливать секундный таймер.
Контактная информация:
Реклама
Родился
Аватара пользователя
Сообщения: 4
Зарегистрирован: Вс сен 27, 2009 14:43:39

Сообщение serglegmelnik »

urry писал(а):Проще - в личку.
Я Ваш код не понимаю... Наверное, Вы хотите померить, сколько раз за секунду изменится pinb5 . Как Вы синхронизируете процедуру с началом секунды ?
Здесь как бы проситься включение второго таймера в счетном режиме, который будет запускать - останавливать секундный таймер.
Да...
...Ну как текущии показания sek повторяться через 60 сек (например если сечас 21 с то такая цифра в sek появиться только через 1 минуту ... напомню sek меняется в переривании второго таймера каждую 1 с непосредствино считиваясь с микросхеми реального времени )

...Задум такой чтоб визивать ету функцию когда мне угодно и чтоб она возвращала мне число ударов за минуту

Можно ли какой то другой таймер в меге 8 подключить в етом режиме и как ето зделать (включать и отключать когда надо)
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»