Ассемблер (ASM) для AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
aleks_bmw528
Встал на лапы
Сообщения: 122
Зарегистрирован: Вт ноя 17, 2009 11:05:02

Сообщение aleks_bmw528 »

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

Сообщение GP1 »

:evil: потихоньку начинаю закипать!

ну скачай книгу, я же написал стр.104! там всего 50 строк про эту задержку написано.

это аналогично команде sbiw, но этот метод можно расширять пока есть свободные регистры.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
aleks_bmw528
Встал на лапы
Сообщения: 122
Зарегистрирован: Вт ноя 17, 2009 11:05:02

Сообщение aleks_bmw528 »

туплю качнул книгу почитал все понял как работает извиняюсь !!!!теперь загвозка по поводу высчитывания процентного соотношения между power и powerstart
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

aleks_bmw528
твоя проблема в том, что ты пытаешься сразу писать программу, но
у меня очень мало опыта

поэтому рекомендую делать все последовательно:
1. алгоритм - определяешь что-когда должно выполнять устройство, реакции системы из различных состояний.
2. после первичного наброска алгоритма - определяешся с переменными/константами

устройство должно работать на бумаге до начала написания программы.

и наконец:
3. написание программы

а дальше опять переход на п.1, и так до тех пор пока девайс не будет работать так как это надо тебе, а не как ему захочется :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
aleks_bmw528
Встал на лапы
Сообщения: 122
Зарегистрирован: Вт ноя 17, 2009 11:05:02

Сообщение aleks_bmw528 »

буду потихоньку исправлятся
программу тогда обшими усилиями написали особенно благодаря тебе
она работает но нет еще кнопок и запуска поэтому и пытаюсь вставить доработки в уже рабочий код ,вообше ты прав держать алгоритм в голове наверно не самая лучшая идея !!!!!

обьясни пожалуйста свой алгоритм
tразгона - 3сек это дожно пройти 3 сек для powerstart чтобы раскрутился или что

задержка = 3сек/(99%-30%) - ~40мс на 1%
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

это пример!
1. читаем из eeprom значение power макс.может быть 99%
2. вкл. двигатель на 30% мощи
3. постепенно, через каждые 40 мс, учеличиваем мощность на 1% до 99%
при этом движок разгонится до 99% за 3сек.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
aleks_bmw528
Встал на лапы
Сообщения: 122
Зарегистрирован: Вт ноя 17, 2009 11:05:02

Сообщение aleks_bmw528 »

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

Сообщение GP1 »

естественно!

слушай, наверное зря ты по всему форуму темы разбросал :)))
давай наверное подними изначальную тему там и будем мучиться!
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
aleks_bmw528
Встал на лапы
Сообщения: 122
Зарегистрирован: Вт ноя 17, 2009 11:05:02

Сообщение aleks_bmw528 »

мотор уверенно min работает за 4 мс до конца полуволны

думаю над % соотношением !!!!
Аватара пользователя
aleks_bmw528
Встал на лапы
Сообщения: 122
Зарегистрирован: Вт ноя 17, 2009 11:05:02

Сообщение aleks_bmw528 »

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

Сообщение GP1 »

пиши не здесь, а в своей первой теме.
http://radiokot.ru/forum/viewtopic.php?t=21892
Чем дальше, тем больше становлюсь занудой...
Изображение
k000858
Открыл глаза
Сообщения: 44
Зарегистрирован: Сб июн 14, 2008 11:51:50

Сообщение k000858 »

подскажите плиз
нужен пример подпрограммы конвертора числового значения из 16ичной системы в 2ичную
Аватара пользователя
Dexa
Встал на лапы
Сообщения: 119
Зарегистрирован: Ср ноя 07, 2007 15:17:20
Контактная информация:

Сообщение Dexa »

Подскажите пожалуйста как реализовать 2 действия на 1 кнопку. Например если ее держать 2 секунды, то выполняется 1 действие, если сразу отпустить второе. Можно конечно ждать отпускание кнопки сканируя порт, а потом проверять значение счетчика, но не айс, желательно с прерываниями все сделать.
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

Запрограммировать какой-нибудь таймер -- пускай генерит прерывания с определённой частотой. И организовать счётчик: каждый раз, когда пришло прерывание от таймера, а кнопка всё ещё нажата, увеличивать его.
lag1
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн июн 09, 2008 23:40:31

Сообщение lag1 »

Еще вопрос о задержках. В книге Ю.Ревича "Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера" на стр.104 есть пример расчета задержки:
Delay:
subi Razr0,1
sbci Razr1,0
sbci Razr2,0
brcc Delay
Для задержки 1с при частоте 4Мгц число, которое надо записать в регистры Razr2-Razr0, определяем так: 4 000 000/5=800 000.
Хотелось бы узнать, изменяется ли число в знаменателе (5) при изменении количества регистров Razr(n). Если можно, на примере расчета задержки 1мин при частоте 4Мгц.
Спасибо!
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

число 5 - это число тактов процессора необходимых для выполнения данной последовательности, что имеем?

sbci - 1 такт
brcc - 2 такта при возврате на delay и 1 такт при выходе

отсюда имеем 1+1+1+2=5 время повтора цикла 5 тактов.
поэтому если вы добавляете в цикл sbci, то на каждое добавление +1
Чем дальше, тем больше становлюсь занудой...
Изображение
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

прошивка

Сообщение осторожно! леоныч!!! »

люди! дико извиняюсь что не в тему! но пожалуйста у кого есть время и возможность компилируйте в bin этот исходник!!!! сам ну никак не могу! буду зверски благодарен!!!!!!!! :? :? :?
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: прошивка

Сообщение akl »

осторожно! леоныч!!! писал(а):люди! дико извиняюсь что не в тему! но пожалуйста у кого есть время и возможность компилируйте в bin этот исходник!!!! сам ну никак не могу! буду зверски благодарен!!!!!!!! :? :? :?

Здравствуйте. Вот, что получилось
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

_noise писал(а):... таблицу с адреса 0x300 переместил в начало, сразу после векторов прерываний - заработало.
А с второй таблицей не прокатило.

А желательно к таблице таки обратиться не с самого начала и не по смещению заранее навсегда известному фиксированному, но беруемому из ячейки ОЗУ.

(2313)

Здравствуйте. Нормально работает. Вот скрин студии. Таблица принудительно расположена внизу области памяти программ. Проверял занесением в R16 от 00 до 0F.
осторожно! леоныч!!!
Сверлит текстолит когтями
Сообщения: 1156
Зарегистрирован: Вт дек 09, 2008 20:31:56

прошивка

Сообщение осторожно! леоныч!!! »

ОГРОМНОЕ СПАСИБО AKI!!!! МОЖЕТ И Я СМОГУ ВАМ ЧЕМ НИБУДЬ ПОМОЧЬ?????
Ответить

Вернуться в «AVR»