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

 
 
> Таймер, Непонятно, как можно так писать?
T&D
сообщение Jan 31 2007, 14:27
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 31-01-07
Пользователь №: 24 905



Вот фрагмент кода

TimeLoop:
out TCNT0, temp ;Сохраняем содержимое регистра таймера счетчика в temp
cp temp, 80 ; Сравниваем это содержимое с 80
brne TimeLoop ; Если не равно, то возвращаемся к началу цикла


Вот мне непонятна одна вещь:
каждая команда выполняется за один такт (какие-то команды могут выполняться за 2 такта).
Один такт и в регистре таймера счетчика оказывается 1 (предполагается, что делитель частоты не используется).
Следоваетльно в цикле описанном выше можно проскочить момент, когда в регистре таймера счетчика будет 80. Может, я что-то неправильно здесь понимаю?
Конечно, по мне гораздо удобнее воспользоваться прерываниями.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smk
сообщение Jan 31 2007, 21:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Все философское хорошо, но выучить ассеблер нужно. Только прога нужна работающая раньше чем ассеблер выучен будет. Вот кто сможет предложить ассемблерную вставку, обеспечивающую на ноге 4000 Гц при тактовой 128000 Гц и длительностью 0,25 с ????


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
bodja74
сообщение Jan 31 2007, 23:49
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(smk @ Jan 31 2007, 21:03) *
Все философское хорошо, но выучить ассеблер нужно. Только прога нужна работающая раньше чем ассеблер выучен будет. Вот кто сможет предложить ассемблерную вставку, обеспечивающую на ноге 4000 Гц при тактовой 128000 Гц и длительностью 0,25 с ????


Код
        ldi  R21,$32
LABEL1: ldi  R20,$06
        nop
LABEL2: sbi  portB,1
        subi R20,$01
        brne LABEL2
        ldi  R20,$05
        nop
        nop
LABEL3: cbi  portB,1
        subi R20,$01
        brne LABEL3
        nop
        nop
        nop
        subi R21,$01
        brne LABEL1


Дергаем на ноге portB.1

С Вас пиво.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Feb 1 2007, 18:55
Сообщение #4


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(bodja74 @ Jan 31 2007, 20:49) *
Цитата(smk @ Jan 31 2007, 21:03) *

Все философское хорошо, но выучить ассемблер нужно. Только прога нужна, работающая раньше, чем ассеблер выучен будет. Вот кто сможет предложить ассемблерную вставку, обеспечивающую на ноге 4000 Гц при тактовой 128000 Гц и длительностью 0,25 с ????


Код
        ldi  R21,$32
LABEL1: ldi  R20,$06
        nop
LABEL2: sbi  portB,1
        subi R20,$01
        brne LABEL2
        ldi  R20,$05
        nop
        nop
LABEL3: cbi  portB,1
        subi R20,$01
        brne LABEL3
        nop
        nop
        nop
        subi R21,$01
        brne LABEL1


Дергаем на ноге portB.1

С Вас пиво.

Влезу чуток. Кроме того, что у вас длительность единицы составляет 34 такта вместо 16, а длительность нуля - 27 вместо 16, там еще требуется обеспечить 1000 циклов, а не 50, так что это с вас поллитра пива, каждому, кто читал эту ветку(:-).


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- T&D   Таймер   Jan 31 2007, 14:27
- - Wild007   ЦитатаНепонятно, как можно так писать? А ...   Jan 31 2007, 14:39
- - prottoss   Цитата(T&D @ Jan 31 2007, 18:27) out ...   Jan 31 2007, 14:40
|- - T&D   Цитата(prottoss @ Jan 31 2007, 14:40) Цит...   Jan 31 2007, 14:52
- - Wild007   ЦитатаЕсть вероятность, что мы при таком написании...   Jan 31 2007, 15:06
- - add   Да...уф.. Задача собственно несовсем понятна, даже...   Jan 31 2007, 15:10
|- - T&D   Цитата(add @ Jan 31 2007, 15:10) Да...уф....   Jan 31 2007, 15:23
- - add   ЦитатаЭтот пример не мной придуман, он взят из кни...   Jan 31 2007, 15:27
|- - T&D   Цитата(add @ Jan 31 2007, 15:27) ЦитатаЭт...   Jan 31 2007, 15:36
- - Wild007   Может автор ЦитатаМортона "Микроконтроллеры A...   Jan 31 2007, 15:36
- - SpiritDance   Ржал. Опуфуительная книжка должно быть. Навроде ка...   Jan 31 2007, 15:41
|- - defunct   Цитата(SpiritDance @ Jan 31 2007, 14:41) ...   Jan 31 2007, 15:55
- - add   ЦитатаВсе остальные строчки полностью переписаны и...   Jan 31 2007, 15:49
|- - IgorKossak   Цитата(add @ Jan 31 2007, 14:49) ЦитатаВс...   Jan 31 2007, 16:45
- - Wild007   ЦитатаPS остерегайтесь вводных курсов, читайте сер...   Jan 31 2007, 16:57
|- - zltigo   Цитата(Wild007 @ Jan 31 2007, 15:57) пото...   Jan 31 2007, 18:59
|- - singlskv   Цитата(smk @ Jan 31 2007, 21:03) Все фило...   Feb 1 2007, 01:39
- - SasaVitebsk   Цитата(T&D @ Jan 31 2007, 15:27) Вот ...   Feb 1 2007, 00:08
- - bodja74   Если цикл сравнения проходит быстрее клока таймера...   Feb 1 2007, 00:41
- - add   Цитатато можно переписать след. образом Уважаемый ...   Feb 1 2007, 09:51
|- - SasaVitebsk   Цитата(add @ Feb 1 2007, 10:51) Цитатато ...   Feb 1 2007, 13:54
|- - bodja74   Цитата(add @ Feb 1 2007, 09:51) Цитатаbod...   Feb 1 2007, 15:50
|- - T&D   Цитата(bodja74 @ Feb 1 2007, 15:50) Обьяс...   Feb 1 2007, 16:12
||- - defunct   Цитата(T&D @ Feb 1 2007, 15:12) А есл...   Feb 1 2007, 17:17
|- - IgorKossak   Цитата(bodja74 @ Feb 1 2007, 14:50) Обьяс...   Feb 1 2007, 16:39
|- - bodja74   Цитата(IgorKossak @ Feb 1 2007, 16:39) Кт...   Feb 1 2007, 20:23
|- - =GM=   Цитата(bodja74 @ Feb 1 2007, 17:23) 2GM ...   Feb 1 2007, 20:52
|- - bodja74   Цитата(=GM= @ Feb 1 2007, 20:52) Как вы с...   Feb 1 2007, 21:44
|- - =GM=   Цитата(bodja74 @ Feb 1 2007, 18:44) Цитат...   Feb 1 2007, 23:38
- - T&D   Спасибо за ответы. Можно ещё один вопрос задать? В...   Feb 1 2007, 12:53
|- - Сергей Борщ   Цитата(T&D @ Feb 1 2007, 11:53) Я пра...   Feb 1 2007, 13:06
|- - T&D   Цитата(Сергей Борщ @ Feb 1 2007, 13:06) А...   Feb 1 2007, 13:32
|- - Сергей Борщ   Цитата(T&D @ Feb 1 2007, 12:32) Миган...   Feb 1 2007, 16:00
- - add   Собственно фрагмент книги, из-за которого создана ...   Feb 2 2007, 10:13
- - Wild007   Цитата(add @ Feb 2 2007, 09:13) Собственн...   Feb 2 2007, 10:17


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 03:13
Рейтинг@Mail.ru


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