roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 05:49

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Реверсивный счетчик Attiny-2313
СообщениеДобавлено: 22 мар 2014, 15:09 
Не в сети
Аватара пользователя

Зарегистрирован: 15 июл 2013, 15:15
Сообщения: 46
Откуда: г.Москва
прог. языки: ASM
Подскажите, как Сравнить на макс. и мин. значение в двоичном счетчике в самом инкременте декременте счетчика?



Forward:
cbr flags, (1__EventForward);сбросить флаг,обработали событие
;перед adiw надо сделать проверку числа на максимальное значение (0xffff), и если равно макс. значению то пропустить инкремент (adiw)

adiw CountHigh:CountLow,1 ;инкремент 16-ти битного счетчика

Покажите пример на ASM. пожалуйста. Очень надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверсивный счетчик Attiny-2313
СообщениеДобавлено: 23 мар 2014, 21:23 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
А в чем проблема? Как сравнивать 16 битные пары регистров? Сперва командой CP сравнить младшие, затем командой CPC сравнить старшие, затем переход по условию BRCC, BRCS, BRNE, BREQ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверсивный счетчик Attiny-2313
СообщениеДобавлено: 25 мар 2014, 09:41 
Не в сети
Аватара пользователя

Зарегистрирован: 15 июл 2013, 15:15
Сообщения: 46
Откуда: г.Москва
прог. языки: ASM
Это все понятно.Вот моя ограничевалка.

;*******************ограничевалка*****************************************

ldi temp1,0x36 ;6

cp temp1,tASCII4

breq equal

rjmp end_int



equal:

ldi temp1,0x35 ;5

cp temp1,tASCII3

breq equal_1

rjmp end_int



equal_1:

ldi temp1,0x35 ;5

cp temp1,tASCII2

breq equal_2

rjmp end_int



equal_2:

ldi temp1,0x33 ;3

cp temp1,cnt16a

breq equal_3

rjmp end_int



equal_3:

ldi temp1,0x35 ;5

cp temp1,tASCII2

breq equal_4



end_int:

ret

;**********************************************************************


Она работает,но мне сказали что,Сравнения на макс. и мин. значение надо делать с двоичным счетчиком получается быстрее.Нужна скорость счета. Напишите пример пожалуйста,а то я что-то ни как не пойму.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO