В проге я вроде разобрался как что поменять не понятно только как все углы растянуть до 8000
Вот вы говорите что искра проскакиет в вмт все правильно только в 1 случае это такт продувки а 2 случае это воспломинение !
Осенью был случай(спустя 5 мес эксплуатации) ехали вдвоем, заглушились, постояли, через пол часа не завелись. Напарник сразу:"вот твоя плата фуфло, поломалась", ну сразу взяли с багажника стоковую, поставили, а мотоцикл все равно не заводитсяArwood писал(а):Но сам-то - попробовал? Убедился? Попробуй отключи теперь и покатайся пару дней на стоковом. Убедишься, с ешё большей очевидностью. (и это при том, что график ещё не доведён)
Приведенная картинка не прояснила понимания, что плохого в "многости" ступенек?pcb писал(а):Памяти много, но и ступенек почему то много.
Здесь у меня есть ряд вопросов:Vavzel писал(а):...но увы упирается в 4200 и все такое ощущение что зажигание не дает !!
...как я понял на данной системе зажигания искра формируется два раза за такт !
...а еще залил ваши углы ни чего не корректировал и не изменял
Любой, настраивается программно. Только чтобы не "бить движок", сперва нужно все настроить, а то дадите искру "не во время"...Vavzel писал(а):какой максимальный угол допускается???
Повторюсь. В процессоре памяти очень много, но почему то ступеньки ярко выражены..Flash.#13 писал(а):Приведенная картинка не прояснила понимания, что плохого в "многости" ступенек?
А куда ж лестничная работа денется?Flash.#13 писал(а):Сама задержка рассчитывается "на лету", исходя с данных этих ступенек, поэтому "лестничной" работы в реальном режиме не будет.
Код: Выделить всё
.
.
.
brsh rpm1k ;если больше или равно
cpi R21, 110 ;сравнение РОН с контстантой
brsh rpm0k8 ;если больше или равно
cpi R21, 60 ;сравнение РОН с контстантой
brsh rpm0k6 ;если больше или равно
clr R26 ;если 500 и меньше об/мин
rjmp RpmEnd ;всего 32строки
////////////////////////////////////////////////////////
rpm19k5: ;обороты
ldi R26, 0x1F ;задаем адрес ОЗУ "lowХ"
rjmp RpmEnd ;метка "дальше"
rpm16k7:
ldi R26, 0x1E
rjmp RpmEnd
rpm14k6:
ldi R26, 0x1D
rjmp RpmEnd
.
.
.
rpm1k5:
ldi R26, 0x05
rjmp RpmEnd
rpm1k2:
ldi R26, 0x04
rjmp RpmEnd
rpm1k:
ldi R26, 0x03
rjmp RpmEnd
rpm0k8:
ldi R26, 0x02
rjmp RpmEnd
rpm0k6:
ldi R26, 0x01
rjmp RpmEnd
;адрес ОЗУ "lowХ" определен
;задействованно ОЗУ 0х0100-0х011F,32строки
RpmEnd:Код: Выделить всё
;адрес ОЗУ "HighХ" определен, чтение ОЗУ
ld R25, X ;байт из ОЗУ-R27:26 загружается в РОН25
;проверим на нулевое значение, что
;соответствует оборотам более 4к
;при этом искра по датчику уоз,20°
cpi R25, 0x01 ;"1"
brlo iskra ;оборотам более 4к,искра без задержки
mov R4, R25 ;РОН25 неизменен, множитель УОЗ
;далее рассчет УОЗ
clr R5 ;очистим старший разряд
mov R6, R9 ;копируем 1/256,(0.2%) от счета 16-бит
lsr R6 ;1/2,шаг смены угла 720°/512=1.4°
;========умножение:R5R6*R4=R7R8=====
clr R7 ;очистка старшего байта результата
clr R8 ;очистка младшего байта результата
sum: ;цикл суммирования
add R8,R6 ;прибавление к младшему биту результата содержимого
adc R7,R5 ;прибавление к старшему биту результата с учетом переноса
dec R4 ;вычитание единицы из регистра
brne sum ;если результат не равен 0, то вернуться к метке sum
;теперь имеем R7R8 значение задержки
;запишем в регистр сравнения 16-бит счетчика
out OCR1AH, R7 ;записываем задержку HighByte
out OCR1AL, R8 ;записываем задержку LowByte
ori R20, 0b00010000 ;sbiR20/4, контроль
andi R20, 0b11011111;cbiR20/5, контроль
ret
С чего вы взяли что кого-от обидели? Вроде ничего плохого не писал, да и не обидчивый я. Форумы существуют чтобы помогать и делиться опытом друг с другом, наоборот, критика очень важна, высказывайте все что считаете нужным, только устраняя недочеты можно сделать лучше...Vavzel писал(а):извините если обидел
Не знаю что такое кодогенератор, и как он может писать код, если такое существует, то зачем тогда программировать вообще?pcb писал(а):...Весь код какой то неоптимальный, как будто кодогенератор писал.
Я не знаю ответа на этот вопрос, код жутковатFlash.#13 писал(а):Не знаю что такое кодогенератор, и как он может писать код, если такое существует, то зачем тогда программировать вообще?
Если это мне, то не стоило писать.Flash.#13 писал(а):Алгоритм работает следующим образом
Это правильно, ждемс.Flash.#13 писал(а):Правда за последний год узнал много нового, и теперь могу усовершенствовать код