Как получить 1 сек. задержку?

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Аватара пользователя
Сообщения: 8
Зарегистрирован: Вт сен 01, 2009 16:08:42

Сообщение Terr0r!sT »

Как расчитать число котрое нужно записать в регистр совпадения чтобы получить задержку 1сек, 1/10сек, 1/100сек???
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Зависит от частоты. Считаете, сколько времени затрачивается на один такт, и сколько тактов в секуде. Чистая математика.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Реклама
Родился
Аватара пользователя
Сообщения: 8
Зарегистрирован: Вт сен 01, 2009 16:08:42

Сообщение Terr0r!sT »

частота 1мГц, а как всё это сосчитать, можно формулу?
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

1 МГц = 1000000 имп в сек
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Terr0r!sT писал(а):как всё это сосчитать, можно формулу?
N=T/dt; dt=1/f;
где N - число (искомое); T- временной отрезок (1 сек или др); dt-длительность такта; f- тактовая частота в Гц(резонатора или источника импульсов).
Кратные величины стандартные кГц-1000 Гц, МГц-1000000 Гц;
Последний раз редактировалось Meteor Вт сен 01, 2009 17:55:59, всего редактировалось 1 раз.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4077
Зарегистрирован: Вс мар 22, 2009 17:31:41

Сообщение WandererSc »

И предделитель частоты надо учитывать.
Раз reset, два reset - полyчи на диске bad !
Тpанзистоp p-n-p. Plug-n-Play ?
У кого что сбоит, тот о том и говорит.
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 163
Зарегистрирован: Вт окт 14, 2008 11:29:03
Откуда: Алтайский край, Бийск

Сообщение Antol.St »

тактовую частоту делишь на верх таймера получаешь кол-во переполнений в секунду.
делишь секунду на кол-во этих переполнений получаешь длительность одного переполнения
длительность одного переполнения делишь на верх таймера - получаешь длительность одного такта
дальше нужное время интервала делишь на длительность одного такта получаешь кол-во тактов его и записываешь в регистр совпадения
Пример для 10ms:
1000000/65535=15.2590219
1/15.2590219=0.065535
0.065535/65535=0.000001
0.01/0.000001=10000 - это число нужно записать в регистр
Пример для 1 sec:
предделитель на 64
1000000/64/65535=0.238422217
1/0.238422217=4.19424
4.19424/65535=0.000064
1/0.000064=15625 - это число нужно записать в регистр
Контактная информация:
Родился
Аватара пользователя
Сообщения: 8
Зарегистрирован: Вт сен 01, 2009 16:08:42

Сообщение Terr0r!sT »

sps за ответы, но почему то секунда даже на глаз слишком длинная получается :evil: , может прошивку глянете???
Вложения
+проект для Proteus.rar
(18.06 КБ) 184 скачивания
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Хороший у тя глаз. :)) Секунда твоя конечно длинее, но как на глаз, то после минут двух только видно.



---------------------------------
Родился
Аватара пользователя
Сообщения: 8
Зарегистрирован: Вт сен 01, 2009 16:08:42

Сообщение Terr0r!sT »

а чё может быть не так???, прога просто выводит на индикатор 4 числа а по прерыванию уменьшает их
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Terr0r!sT писал(а):а чё может быть не так???, прога просто выводит на индикатор 4 числа а по прерыванию уменьшает их
Да ниче, все нормально. Может я вопрос не правильно понял, у тя где глючит, в протеусе или в железе. Т.к. в протеусе на глаз очень плохо видно, точнее совсем не видно.

Выхода два: 1. В AVRStudio пошагово (F10) пройдись, или создай COFF (ELF) файл, и тоже по Ф10 пройдись в протеусе.

Вотс, прокрутил твой отсчет до 30 секунд. Вполне нормально работает.
Вложения
1.jpg
(17.1 КБ) 289 скачиваний
Родился
Аватара пользователя
Сообщения: 8
Зарегистрирован: Вт сен 01, 2009 16:08:42

Сообщение Terr0r!sT »

в железе и в протеусе работает 1:1, а за минуту он отстаёт на 11сек, легко проверить если рядом поствить часы, может в прошивке где ненужная задержка???
хотя найти её будет сложновато, т.к код немного запутан
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Я код не смотрел и не буду.
Вы картинку видели? Я спецом прогнал от 9.59 до 00.30 и на все это потрачено протеусом 9.30 минут. Т.е. за девять минут все тютелька в тютельку. Может это у вас эталонные часы глючат?




------------------------------
Родился
Аватара пользователя
Сообщения: 8
Зарегистрирован: Вт сен 01, 2009 16:08:42

Сообщение Terr0r!sT »

а протеус может тормозить?, часы виндовские открываю вроде правильно идут, да какая у вас версия протеуса?
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Не понимаю, зачем протеус, если есть готовое железо? Возьмите нормальный секундомер и замеряйте время работы на железе.


-------------------------
Родился
Аватара пользователя
Сообщения: 8
Зарегистрирован: Вт сен 01, 2009 16:08:42

Сообщение Terr0r!sT »

блин по ходу виндовские часы гнали, я щас также замерил и всё реально точно идёт, ещё раз спасибо за ответы :))
Закрыто

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