IGO61

Фуоз-676 (Продолжение)

3 221 сообщение в этой теме

syma1961    29

Предлагаю(заметьте не советую) Вам для отладки в Протеусе уже почти готовый вариант для 676который несколько дней назад сделал XTRRT вариант сразу же предназначен уже для ДХ и магнитов(это вариант переделанный из Октябрьских прог).при проверке не забудьте вывод 3 подключить к корпусу,т.к. вывод настроен на тест и если его оставить в воздухе будете иметь обычный генератор.

Прошивки.rar

Изменено пользователем syma1961

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
syma1961    29

мужики,спасибо это конечно хорошо,но это не мне ,а XTRRT надо,,,,,моя всего лишь исходная прога и просмотр беглый АСМа и выкладывать я ему говорил чтобы он сам стал,никто тогда ещё не предпологал что закрутится эта тема,а раз уж она завертелась,да ещё в таких жарких дискуссиях,тоя её и скинул("дабы отгородить себя от ваших нападок" :bomb: ),

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
xtrrt    2

при проверке не забудьте вывод 3 подключить к корпусу,т.к. вывод настроен на тест и если его оставить в воздухе будете иметь обычный генератор.

Здравствуйте все! В этой версии нет доезжалки! Добавил (октябырьской версии syma1961) термо, канал клапана, светодиод ХХ. все согласно схеме автора для 676 а датчик заводской ДАД. Многоискровки нет. Переносил версии с 675 на 676 так как автор перестал их модернизировать раньше чем для 675. В железе проверить пока нет времени!!!!! Если нужно модель протеуса выложу.

Изменено пользователем xtrrt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
syma1961    29

Да действительно сейчас глянул асм перед командой проверки вывода_стоит ; (КОМАНДЫ ТЕСТА ВСЕ СОХРАНЕНЫ,так что включить не проблема).довольно хитрый приём удаления ненужных команд_такое часто применяют при симулировании чтобы попасть в п.п. прерываний,а я обычно в таких случаях просто ставлю вместо этого NOP(при этом адреса в ХЕКСЕ не меняются.)

Изменено пользователем syma1961

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
alvikagal    37

Если не против, то я хотел бы немного разобраться с асм-текстами.

В программе график адреса таблиц 0x0018 и 0x0100

В последних программах 0x001A и 0x0100, добавлены две строки по адресу 0x0007:

CLRF PORTA

CLRF PORTC

Для чего эти строки?

Если их убрать то адреса таблиц будут совпадать с программой График, но для правильной работы программы нужно убрать эти строки:

MOVLW 0x55

MOVWF LRAM_0x36

CLRF LRAM_0x37

CALL LADR_0x0200

Тогда не будет дополнительно прибавлятся 85.

Правильно? Или ещё в программе есть строки, которые нужно изменять?

В архиве подправлена программа xtrrt под программу График.

asm_grafik.rar

Изменено пользователем alvikagal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
syma1961    29

всё так и нетак:строки очистки нельзя убирать переносить,а не убирать надо другие к вспомогательные команды,чтобы при этом не ворошить сразу всю прогу есть свободные 4 строки после 1ой таблицы(суйчас их только 2,4 будет после сдвига) и не забудьте что надо сразу же кромеудаления команд доп вычетания менять сразу и таблицы -брать их например с676го от 08.12.10....КАК пример посмотрите мою доработку 675го для как раз графика-прога рабочая и испытана людьми на авто

ФУ0З-ДХд(676).rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IGO61    151

Здравствуйте все!

Да, строки очистки убирать нельзя - это команды инициализации портов - оговорены докой на МК. Их можно только переносить.

Насчёт фиксации места таблицы в области памяти - применение директивы ассемблера "org 0xAAAA" перед началом (меткой) таблицы. Вместо "АААА" вписываем нужный адрес, в нашем случае "0х0018". Теперь при ассемблировании таблица всегда будет располагаться с началом в этом адресе. Если код предыдущего текста будет заканчиваться раньше - ассеблер вставит в свободное место "пустой код", Если текст "влезет" на оговоренный адрес, ассемблер выдаст предупреждение об ошибке при формировании хекса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
alvikagal    37

Куда переместить эти строки? Вернее как, чтобы адреса заново не менять во всей прошивке.

В начале программы есть свободные три строки, можно две удалить и сдвинуть адреса?

Org 0x0000

; Reset-Vector

GOTO LADR_0x0006

ADDLW 0xFF ; b'11111111' d'255'

ADDLW 0xFF ; b'11111111' d'255'

ADDLW 0xFF ; b'11111111' d'255'

; Interrupt-Vector

GOTO LADR_0x0005

LADR_0x0005

RETURN

Изменено пользователем alvikagal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IGO61    151

Именно так. Только с оговорками.

ADDLW 0xFF ; b'11111111' d'255'

ADDLW 0xFF ; b'11111111' d'255'

ADDLW 0xFF ; b'11111111' d'255'

GOTO LADR_0x0006

Команду перехода переносим в конец участка. А в первые три строки можно дописать свои команды. Для полноты исполнения в программе есть переход на стартовый для проги адрес ( GOTO LADR_0x0006 ). Так вот, нужно изменить адрес перехода так, чтоб прога шла к первым строчкам.

Примерно так:

START

CLRF PORTA ; !!Bank!! PORTA - TRISA

CLRF PORTC ; $ PORTC - TRISC

GOTO NUL_

; INterrupt-Vector

GOTO LADR_0x0005

LADR_0x0005

RETURN

NUL_

BANK0 ;

CLRWDT

MOVLW 0x07 ; b'00000111' d'007'

MOVWF CMCON ;компарер отключен

Где " START" и " NUL_" - метки, условные адреса. Чтоб не заморачиваться с числовыми значениями.

Вчера закончил потрошить/переделывать начальную прошку в плане устойчивого перехода от пусковых оборотов к рабочим - обнаружил неопределёнку на частоте 7Гц (220об/мин). имелись пропуски импульсов и смещение УОЗ в большой "минус". Имеющийся код заменил кодом из прошивки "675ok1", только проинвертировал сигнал. Теперь переход выполняется чисто. Завтра потестю на авто, почищу ненужные команды и выложу на пробы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IGO61    151

Среда программирования для ПИКов от "Микрочип". Включает в себя редактор текстов, широкий выбор вспомогательных средств для написания, отладки, симулирования программ. Имеет встроенный просмотрщик от "протеуса", Позволяющий прямо в проте как пошагово, так и в реалтайме отладить программу.

Сам пользуюсь версией 7.20. Пробовал версии повыше - не понравилось, откатился опять на 7.20.

Работает только с англицкими названиями файлов. Русиш не принимает наотрез. Только в коментариях к строкам программ можно вносить русский текст. Если в путях к файлам для работы "Лаба" имеютя русские названия - прога их игнорирует и выдаёт сообщение о неправильном пути к файлу.

Изменено пользователем IGO61

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
syma1961    29

я же вам уже писал:вы будете двигать 1ю таблицу на 2 строки вверх,после неё останется 4 строки,возьмите вы из инициализации 2 строки

MOVLW 0x07

MOVWF 0x19

и засуньте их туда,после этой строки поставьте команду GOTO на начало осн.проги,,а адрес команды GOTO в инициализации поменяйте на адрес перенесённых команд(давно бы глянули как это сделано в 676 от 08.12.10,только там эти 2 команды стоят в начале проги-сразу после таблиц)

И ещё :повторяю простой перенос 1ой таблицы на 2 строки(для работы с прогой ГРАФИК вам ничего не даст -вы получите хрен знает что--одновременно надо менять и таблицы так как

здесь они построены с учётом доп.вычетания(P.S. --это не совет,а рекомендация).

Изменено пользователем syma1961

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IGO61    151
...я же вам уже писал...

Это Вы к кому сейчас обращаетесь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
syma1961    29

к читающим

напишите в какой именно проге вам надо перенести 1ю таблицу под прогу график-за почаса перенесу и уберу вам доп. вычетание,а вы глянете тогда какие в проге график получатся кривые

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    115

Зачем эти танцы с бубном, восстановите метки и дальше никаких проблем, хоть куда двигай и пустых мест не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
syma1961    29

я лишь предложил своё решение-проблем в этом не вижу,с помощью ЧЕКНЕКа это делается очень быстро,за час даже таблицы из одной версии в другую переносятся....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IGO61    151

Зачем эти танцы с бубном, восстановите метки и дальше никаких проблем, хоть куда двигай и пустых мест не будет.

Стопудово

П.С. Парни, кто начинает изучение МК с готовых программ, дизассемблируя их. Совет, никак не догма, В любом текстовом редакторе есть функция "финд/реплэйс". Применяйте её почаще. Трудновоспринимаемые "LADR_0x0005" или "LRAM_0x35" можно легко заменить метками и именами переменных. Всё станет намного понятнее.

Изменено пользователем IGO61

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    115

Ты им хоть дизассемблированный выложи, пусть потренируются с разбором проги, а потом с твоим сравнят, где они косяков наделали, а может и наоборот кто-то, что-то подскажет.

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IGO61    151

У меня ещё текст не "причёсан" коментариями.

В архиве ассм-текст, ничего более - идёт работа.

F676VV_n.zip

Изменено пользователем IGO61

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
scooby-do    1

Всем здравствуйте.

Я так понимаю, с новыми версиями прошивок придется, переделывать уже имеющееся устройство?

Уже неделю как не могу аккум поставить в машину, ибо на улице -25 и ветер с залива. Сегодня -5 обещают.

да кстати, мне тут перепал девайс Электроника АИ-01, http://vaz2101spb.ru/wiki/info/avtoindikator_ehlektronika_ai-01

Он вообще в нашем случае, представляет какую-то ценность, или дисплей на часы пустить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IGO61    151

Здравствуйте все!

Я так понимаю, с новыми версиями прошивок придется, переделывать уже имеющееся устройство?

Вот и мне не хотелось бы изменять схемотехнику. В принципе, после обновления прошивки, схема термокоррекции может остаться старой. Управление клапаном ПХХ и ручной ОК - тоже. Нужно будет убрать только один транз на выходе (хотя и прогу можно адаптировать под старую схему). А чтоб хоть как-то ослабить путаницу, которая может возникнуть, бум индексировать названия прошивок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
lukinov    47

И вместе с прошивкой в архив прикладывать схему. Даже если она не будет меняться. Сейчас у меня много прошивок но без схем не могу вспомнить для какой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всем Привет!

Хочу высказать свои пожелания по новой прошивке. Извиняюсь что с опозданием , конец года работа задолбала.

Убрать много искровой пуск в таком виде он никому не нужен, а для статики вообще. Ведь при средней пусковой скорости 250 об/мин вторая искра 18грд. после ВМТ. И что она сможет поджечь?

Расширить диапазон верхней кривой в верх, так как в F676VV_ поднять верхнюю кривую до Декабрьского графика на участке от 1000 до 2500 не получается, прога не пускает.

Возможно надо расширить диапазон захвата поддержки ХХ, в старой проге поддержка работает но очень маленький диапазон захвата.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexan    4

У меня ещё текст не "причёсан" коментариями.

В архиве ассм-текст, ничего более - идёт работа.

Здравствуйте.

Уважаемый IGO61 как ваши продвижения в программе? Жду ваших комментариев к исходнику. Хочу для изучения алгоритма и практики переписать код на Си.

После института Ассемблер не использовал. Сложности возникают по таким командам как:

INCF ACb_Hi,F - инкремент ACb_Hi если F = 1 то результат в W, если F = 0 то в F, что за F, в какой W.... и все .... кипит кателок :help:

Как в одноименном мультфильме: Какой зайяц, какой орел....

Очень хочу помочь проекту ну не знаю как.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IGO61    151

Здравствуйте все!

На сей момент заканчиваю снабжение дизассемблированного текста коментариями с одновременным внутренним пониманием работы программы. Узнал для себя много нового и полезного. Уже есть мысли по модернизации, но пока полностью не разберусь с работой программы, их озвучивать не буду. Как только текст будет приведён в "читаемый" вид - озвучу его, дело одного-двух дней.

По поводу Ваших сложностей.

Сразу заострю внимание на терминологии. F - это переменная (или регистр), W - аккумулятор, временное хранилище значений для выполняемых операций.

Команда "INCF ACb_Hi,F" увеличивает на 1 переменную (ячейку ОЗУ,регистр, кому как удобно) . Если стоит после запятой буква "F", то результат инкремента (в данном случае) сохраняется в этой же переменной, над которой проводилось действие. Если после запятой стоит буква "W", то результат инкремента сохраняется в "аккумуляторе", а исходная переменная (в данном случае ACb_Hi) остаётся девственно неизменной, как до выполнения операции инкремента.

Изменено пользователем IGO61

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас