реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> помогите с задержкой
emx2000
сообщение Oct 2 2005, 15:41
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 2-10-05
Пользователь №: 9 147



В задание просят сделать задержку через таймер. Инфу читал только не очень понятно. ( программа для AVR 8535 )
Обьясните на пальцах как:
1) установить таймер чтоб делал задержку 0.32 секунды.
2) таймером же сделать задержку в 255 mips.
Заранее спасибо!

P.S. пример на ассемблере был бы кстати!! biggrin.gif
Go to the top of the page
 
+Quote Post
MicronSys
сообщение Oct 3 2005, 06:50
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 12-05-05
Пользователь №: 4 946



Цитата(emx2000 @ Oct 2 2005, 18:41)
В задание просят сделать задержку через таймер. Инфу читал только не очень понятно. ( программа для AVR 8535 )
Обьясните на пальцах как:
1) установить таймер чтоб делал задержку 0.32 секунды.
2) таймером же сделать задержку в 255 mips.
Заранее спасибо!

P.S. пример на ассемблере был бы кстати!!  biggrin.gif
*


Что такое задержку в 255 mips
Можно етоже только в сек.

И какой кварц должен стоять

Напиши внятно а то так можно и smile3046.gif

на ASM не дам а на Си могу что угодно написать
Go to the top of the page
 
+Quote Post
fur
сообщение Oct 3 2005, 07:23
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 15-08-05
Пользователь №: 7 630



Цитата(emx2000 @ Oct 2 2005, 19:41)
В задание просят сделать задержку через таймер. Инфу читал только не очень понятно. ( программа для AVR 8535 )
Обьясните на пальцах как:
1) установить таймер чтоб делал задержку 0.32 секунды.
2) таймером же сделать задержку в 255 mips.
Заранее спасибо!

P.S. пример на ассемблере был бы кстати!!  biggrin.gif
*

На частоте кварца 4МГц.
1) Пишешь в регистр TCNT1 значение 0xFB1E, запускаешь таймер записью в регистр TCCR1B значения 0x05, ждешь переполнение таймера, вот тебе и задержка в 0.32 секунды.
2) TCNT1=0xFF01, TCCR1B=0x01.
Go to the top of the page
 
+Quote Post
AndyBig
сообщение Oct 3 2005, 08:24
Сообщение #4


Иногдящий
****

Группа: Свой
Сообщений: 691
Регистрация: 28-02-05
Пользователь №: 2 931



Цитата
2) таймером же сделать задержку в 255 mips.

MIPS - это единица измерения производительности (Mega Instructions Per Second, если не ошибаюсь), поэтому как можно им мерять временные интервалы? Может быть задержка в 255 тактов?
Go to the top of the page
 
+Quote Post
BVU
сообщение Oct 3 2005, 12:30
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Реализация задержки всегда берет свое начало от тактовой частоты микроконтроллера. Если есть прескаллер (предделитель) для таймера, можно так же использовать и его. Далее оценивается сколько от секунды 'весит' один такт. Организовывается прерывание по сравнению. Таймер считает до величины занесенной в регистр сравнения. В теле прерывания - подпрограмма для события реализации задержки. А дальше Ваши дальнейшие действия...
Если не требуется точности, так таковой. Можно организовать программный полинг по считыванию значения таймера.
А если хотите классически запускать таймер-задержку, необходимо иметь таблицу таймеров со структурами и прерывание действующее как квант реального времени в теле которого обрабатываются события счета и истечения времени действующих таймеров.


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 01:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016