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

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

Сообщение aleks_bmw528 »

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

Сообщение GP1 »

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

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

это аналогично команде sbiw, но этот метод можно расширять пока есть свободные регистры.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 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:
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 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сек.
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 122
Зарегистрирован: Вт ноя 17, 2009 11:05:02

Сообщение aleks_bmw528 »

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

Сообщение GP1 »

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

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

Сообщение aleks_bmw528 »

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

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

Сообщение aleks_bmw528 »

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

Сообщение GP1 »

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

Сообщение k000858 »

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

Сообщение Dexa »

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

Сообщение SII »

Запрограммировать какой-нибудь таймер -- пускай генерит прерывания с определённой частотой. И организовать счётчик: каждый раз, когда пришло прерывание от таймера, а кнопка всё ещё нажата, увеличивать его.
Первый раз сказал Мяу!
Сообщения: 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
Друг Кота
Сообщения: 4450
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

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

Сообщение akl »

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

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

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

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

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

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