Страница 25 из 400

Добавлено: Вт дек 08, 2009 14:06:03
aleks_bmw528
Не понял как работает????

Добавлено: Вт дек 08, 2009 14:11:27
GP1
:evil: потихоньку начинаю закипать!

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

это аналогично команде sbiw, но этот метод можно расширять пока есть свободные регистры.

Добавлено: Вт дек 08, 2009 14:15:25
aleks_bmw528
туплю качнул книгу почитал все понял как работает извиняюсь !!!!теперь загвозка по поводу высчитывания процентного соотношения между power и powerstart

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

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

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

а дальше опять переход на п.1, и так до тех пор пока девайс не будет работать так как это надо тебе, а не как ему захочется :wink:

Добавлено: Вт дек 08, 2009 14:34:41
aleks_bmw528
буду потихоньку исправлятся
программу тогда обшими усилиями написали особенно благодаря тебе
она работает но нет еще кнопок и запуска поэтому и пытаюсь вставить доработки в уже рабочий код ,вообше ты прав держать алгоритм в голове наверно не самая лучшая идея !!!!!

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

задержка = 3сек/(99%-30%) - ~40мс на 1%

Добавлено: Вт дек 08, 2009 14:40:13
GP1
это пример!
1. читаем из eeprom значение power макс.может быть 99%
2. вкл. двигатель на 30% мощи
3. постепенно, через каждые 40 мс, учеличиваем мощность на 1% до 99%
при этом движок разгонится до 99% за 3сек.

Добавлено: Вт дек 08, 2009 14:48:42
aleks_bmw528
вопрос: если использовать power в % от 1 до 99
при записи power в tcnt1 надо power * на какое то число что ли ???

Добавлено: Вт дек 08, 2009 14:52:42
GP1
естественно!

слушай, наверное зря ты по всему форуму темы разбросал :)))
давай наверное подними изначальную тему там и будем мучиться!

Добавлено: Вт дек 08, 2009 14:55:27
aleks_bmw528
мотор уверенно min работает за 4 мс до конца полуволны

думаю над % соотношением !!!!

Добавлено: Вт дек 08, 2009 14:56:27
aleks_bmw528
подними это как ???

Добавлено: Вт дек 08, 2009 14:58:43
GP1
пиши не здесь, а в своей первой теме.
http://radiokot.ru/forum/viewtopic.php?t=21892

Добавлено: Чт дек 10, 2009 14:34:18
k000858
подскажите плиз
нужен пример подпрограммы конвертора числового значения из 16ичной системы в 2ичную

Добавлено: Ср дек 16, 2009 19:08:58
Dexa
Подскажите пожалуйста как реализовать 2 действия на 1 кнопку. Например если ее держать 2 секунды, то выполняется 1 действие, если сразу отпустить второе. Можно конечно ждать отпускание кнопки сканируя порт, а потом проверять значение счетчика, но не айс, желательно с прерываниями все сделать.

Добавлено: Ср дек 16, 2009 23:06:02
SII
Запрограммировать какой-нибудь таймер -- пускай генерит прерывания с определённой частотой. И организовать счётчик: каждый раз, когда пришло прерывание от таймера, а кнопка всё ещё нажата, увеличивать его.

Добавлено: Пт дек 18, 2009 11:30:05
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Мгц.
Спасибо!

Добавлено: Пт дек 18, 2009 11:40:07
GP1
число 5 - это число тактов процессора необходимых для выполнения данной последовательности, что имеем?

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

отсюда имеем 1+1+1+2=5 время повтора цикла 5 тактов.
поэтому если вы добавляете в цикл sbci, то на каждое добавление +1

прошивка

Добавлено: Пн дек 21, 2009 13:30:28
осторожно! леоныч!!!
люди! дико извиняюсь что не в тему! но пожалуйста у кого есть время и возможность компилируйте в bin этот исходник!!!! сам ну никак не могу! буду зверски благодарен!!!!!!!! :? :? :?

Re: прошивка

Добавлено: Вт дек 22, 2009 05:48:40
akl
осторожно! леоныч!!! писал(а):люди! дико извиняюсь что не в тему! но пожалуйста у кого есть время и возможность компилируйте в bin этот исходник!!!! сам ну никак не могу! буду зверски благодарен!!!!!!!! :? :? :?
Здравствуйте. Вот, что получилось

Добавлено: Вт дек 22, 2009 07:24:49
akl
_noise писал(а): ... таблицу с адреса 0x300 переместил в начало, сразу после векторов прерываний - заработало.
А с второй таблицей не прокатило.

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

(2313)
Здравствуйте. Нормально работает. Вот скрин студии. Таблица принудительно расположена внизу области памяти программ. Проверял занесением в R16 от 00 до 0F.

прошивка

Добавлено: Вт дек 22, 2009 07:36:57
осторожно! леоныч!!!
ОГРОМНОЕ СПАСИБО AKI!!!! МОЖЕТ И Я СМОГУ ВАМ ЧЕМ НИБУДЬ ПОМОЧЬ?????