Страница 1 из 1

Как сделать задержку 30-40 мс на AT90S2313?????

Добавлено: Ср ноя 15, 2006 17:20:24
MicroKot
Помогите плиз! Нужно написать проверку на дребезг кнопок! На форуме почитал, что после первого срабатывания кнопки, надо сделать задержку 30-40 мс, а потом заново опросить!

Только начал работать на AT90S2313! Помогите, как это сделать? Желательно кусок кода, а то очень плохо ориентируюсь в таймерах и проч.

Спасибо!

Добавлено: Ср ноя 15, 2006 17:39:23
Старый ржавый электронщик
читал на форуме, хорошо
а на сайте в Обучалке есть примеры задержек, и не надо просить куски кода - они там уже готовые есть...

Добавлено: Ср ноя 15, 2006 18:59:58
teoretic
Самый простой (ну имхо, имхо :wink: ) выход - заюзать макрос delay() из ВинАвра.
А потом, по необходимости, перетащить код в асм проект.

Добавлено: Ср ноя 15, 2006 21:20:06
MicroKot
Спасибо за ответы!

Только я вот чего подумал, а ведь фактически задержки надо рассчитывать исходя из частоты кварцевого резонатора????

Например, при одной частоте кварца 30 мс будет досточно, а при другой например - нет??

Я прав или это не связано с кварцом???

Добавлено: Ср ноя 15, 2006 21:31:30
teoretic
MicroKot писал(а):... а ведь фактически задержки надо рассчитывать исходя из частоты кварцевого резонатора????
...
Я прав или это не связано с кварцом???
Абсолютная правда. Кварц влияет на частоту работы МК, а значит ВСЕ тайминги (ну для честности ВочДог - исключение, так как он от своего источника клока питается) зависят от кварца (или другого источника).

1 такт работы в секундах=частота кварца^-1

Добавлено: Пн ноя 20, 2006 16:08:50
Aheir
Просто если будешь использовать delay(), то при изменении настроек частоты кварца в проекте макрос сам тебе пересчитает и все задержки останутся...