Форум за електроника Форуми Форум за електроника
Български форум за електроника, ремонти, схеми, документация
 
 Въпроси/ОтговориВъпроси/Отговори   ТърсенеТърсене   ПотребителиПотребители   ГрупиГрупи   Регистрирайте сеРегистрирайте се 
 ПрофилПрофил   Влезте, за да видите съобщенията сиВлезте, за да видите съобщенията си   ВходВход 

68НС11 - дизасемблиране на програма
Иди на страница 1, 2  Следваща
 
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics



Предишната тема :: Следващата тема  
Автор Съобщение
ivanovbg
Опитен потребител
Опитен потребител


Регистриран на: 14 Ное 2009
Мнения: 372

МнениеПуснато на: Съб Сеп 10, 2011 22:54    Заглавие: 68НС11 - дизасемблиране на програма Отговорете с цитат

Виждам че тук има хора които разбират от програмиране на 68НС11.

Аз не разбирам толкова,но компютъра на колата ми се управлява с 68НС11F1.Решил съм да сложа турбо,като използвам старата електроника. Трябва да сменя сензора на налягането-МАП с по голям.Понеже при стартирането компа чете и запаметява стойността му като същевременно го проверява за изправност ,не успявам да сложа по голям.Всичките са с изходно напрежение 0-5 волта в зависимост от налягането но на моя изходното напрежение при атмосферно налягане е 4,7 волта а на другия е около 2.Затова реших да го променя софтуерно.
Дизасемблирах програмата с ИДА се опитвам да направя това.Стигнах до някъде,но ми липсват знания.
Ако някой иска да помогне ще предоставя до къде съм стигнал.
_________________
Ако нещо не не става с акъл,опитай с мощност Smile
Ако и мощността (чука) не помогне-потърси по знаещи!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
mishomvp
Опитен потребител
Опитен потребител


Регистриран на: 17 Авг 2004
Мнения: 2357
Местожителство: Златоград

МнениеПуснато на: Съб Сеп 10, 2011 23:00    Заглавие: Отговорете с цитат

Smile
Поне да бе дал каква е колата ... и всичко за нея ... Данни за компютъра на колата ... Какъв е текущия MAP сензор? ...
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
ivanovbg
Опитен потребител
Опитен потребител


Регистриран на: 14 Ное 2009
Мнения: 372

МнениеПуснато на: Съб Сеп 10, 2011 23:11    Заглавие: Отговорете с цитат

Астра Ф 1994,C16SE , Delco Multec M BJMH 16183109
Текущ мап-100kpa и мисля да сложа 250kpa
Бина и идб-файла ще ти трябват ли?
_________________
Ако нещо не не става с акъл,опитай с мощност Smile
Ако и мощността (чука) не помогне-потърси по знаещи!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
mishomvp
Опитен потребител
Опитен потребител


Регистриран на: 17 Авг 2004
Мнения: 2357
Местожителство: Златоград

МнениеПуснато на: Нед Сеп 11, 2011 0:47    Заглавие: Отговорете с цитат

На мен лично не Wink Колегите, които се занимават с това ще кажат дали им трябва още Wink Иначе един приятел, които се занимава с megasquirt компютри слагаше за 250kPa MPX4250AP Smile
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
eko67
Опитен потребител
Опитен потребител


Регистриран на: 01 Юли 2010
Мнения: 153
Местожителство: гр.Пещера

МнениеПуснато на: Нед Сеп 11, 2011 20:16    Заглавие: Отговорете с цитат

Как така си стигнал до някъде?Програмата с машинен код S1 или S19 ,със Дизасемблер си я обърнал в asm .Съмнявам се че ще може да намериш тези параметри за промяна,освен оригиналния asm файл със който няма как да се сдобиеш.Добре ще е при промяна на програмата
да направиш симулация на MC68HC11, преди да флашнеш Микроконтр.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
ivanovbg
Опитен потребител
Опитен потребител


Регистриран на: 14 Ное 2009
Мнения: 372

МнениеПуснато на: Нед Сеп 11, 2011 21:51    Заглавие: Отговорете с цитат

Знам че ще е трудно,по лесно е с мегата,но съм инат.
Това постигнах досега за мапа

seg004:DBB2 * =============== S U B R O U T I N E =======================================
seg004:DBB2
seg004:DBB2
seg004:DBB2 get_MAP * CODE XREF: seg004:loc_D9F7P
seg004:DBB2 13 51 01 05 brclr byte_51,1,store_MAP * Branch if bit (n) in memory clear
seg004:DBB6
seg004:DBB6 loc_DBB6 * CODE XREF: get_MAP+Dj
seg004:DBB6 BD D6 0E jsr read_ADR * Jump to subroutine
seg004:DBB9 20 31 bra store_UBAT * Branch always
seg004:DBBB * ---------------------------------------------------------------------------
seg004:DBBB
seg004:DBBB store_MAP * CODE XREF: get_MAPj
seg004:DBBB D6 66 ldab RPM_12_5 * Load accumulator from memory
seg004:DBBD C1 05 cmpb #5 * Compare accumulator with memory
seg004:DBBF 25 F5 bcs loc_DBB6 * Branch if carry bit set
seg004:DBC1 CE 10 00 ldx #$1000 * Load index register from memory
seg004:DBC4 BD D6 0E jsr read_ADR * Jump to subroutine
seg004:DBC7 D7 47 stab MAP_AD_47 * Store accumulator in memory
seg004:DBC9 36 psha * Push accumulator A into stack
seg004:DBCA 13 C3 04 1D brclr byte_C3,%100,loc_DBEB * Branch if bit (n) in memory clear
seg004:DBCE D1 69 cmpb map_x_69 * Compare accumulator with memory
seg004:DBD0 25 08 bcs loc_DBDA * Branch if carry bit set
seg004:DBD2 F6 02 E0 ldab twat_kor_byte_2E0 * Load accumulator from memory
seg004:DBD5 B6 02 E2 ldaa byte_2E2 * Load accumulator from memory
seg004:DBD8 20 06 bra loc_DBE0 * Branch always
seg004:DBDA * ---------------------------------------------------------------------------
seg004:DBDA
seg004:DBDA loc_DBDA * CODE XREF: get_MAP+1Ej
seg004:DBDA F6 02 E1 ldab twat_kor_byte_2E1 * Load accumulator from memory
seg004:DBDD B6 02 E3 ldaa byte_2E3 * Load accumulator from memory
seg004:DBE0
seg004:DBE0 loc_DBE0 * CODE XREF: get_MAP+26j
seg004:DBE0 3D mul * Unsigned multiply
seg004:DBE1 16 tab * Transfer A to B
seg004:DBE2 96 47 ldaa MAP_AD_47 * Load accumulator from memory
seg004:DBE4 DE 69 ldx map_x_69 * Load index register from memory
seg004:DBE6 BD E4 76 jsr lag_filter * Jump to subroutine
seg004:DBE9 DD 69 std map_x_69 * Store accumulators in memory
seg004:DBEB
seg004:DBEB loc_DBEB * CODE XREF: get_MAP+18j
seg004:DBEB 32 pula * Pull accumulator A from stack
seg004:DBEC
seg004:DBEC store_UBAT * CODE XREF: get_MAP+7j
seg004:DBEC 13 89 08 02 brclr byte_89,%1000,locret_DBF2 * Branch if bit (n) in memory clear
seg004:DBF0 97 46 staa UBAT_AD_46 * Store accumulator in memory
seg004:DBF2
seg004:DBF2 locret_DBF2 * CODE XREF: get_MAP:store_UBATj
seg004:DBF2 39 rts * Return from subroutine
seg004:DBF2 * End of function get_MAP
seg004:DBF2

А тази калкулация не я схащам напълно
seg004:99C1 96 47 ldaa MAP_AD_47 * Load accumulator from memory
seg004:99C3 97 67 staa MAP_x * Store accumulator in memory
seg004:99C5 97 69 staa map_x_69 * Store accumulator in memory
seg004:99C7 80 1A suba #$1A * Subtract
seg004:99C9 24 03 bcc loc_99CE * Branch if carry bit clear
seg004:99CB 4F clra * Clear
seg004:99CC 20 0B bra loc_99D9 * Branch always
seg004:99CE * ---------------------------------------------------------------------------
seg004:99CE
seg004:99CE loc_99CE * CODE XREF: START+1C9j
seg004:99CE C6 97 ldab #$97 * '×' * Load accumulator from memory
seg004:99D0 3D mul * Unsigned multiply
seg004:99D1 C3 00 40 addd #$40 * '@' * Add 16-bit to D
seg004:99D4 05 lsld * Logical (or Ariphmetic) shift left double
seg004:99D5 24 02 bcc loc_99D9 * Branch if carry bit clear


Няма как да опиша цялата програма
Мога да ти я пратя.Достатъчно достоверна е .
Колкото за пробата не ползвам развойна среда ,а директно колата.
А вече съм го флашвал поне 200 пъти и няма проблем.Почти всички параметри съм открил,но калкулацията между тях ми куца на места.
_________________
Ако нещо не не става с акъл,опитай с мощност Smile
Ако и мощността (чука) не помогне-потърси по знаещи!


Последната промяна е направена от ivanovbg на Нед Сеп 11, 2011 22:35; мнението е било променяно общо 1 път
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
eko67
Опитен потребител
Опитен потребител


Регистриран на: 01 Юли 2010
Мнения: 153
Местожителство: гр.Пещера

МнениеПуснато на: Пон Сеп 12, 2011 8:23    Заглавие: Отговорете с цитат

Не очаквах конвертиране с коментари на командите.Нямах предвид развойната среда.А имаш ли я схемата на МК? 200 пъти флашване Surprised
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
ivanovbg
Опитен потребител
Опитен потребител


Регистриран на: 14 Ное 2009
Мнения: 372

МнениеПуснато на: Пон Сеп 12, 2011 15:15    Заглавие: Отговорете с цитат

Коментарите са лесни,има и графично представяне на препратките и още много екстри.
Само на външните връзки имам точна схема.
Той е с външна памет-епром 27С256 вече скапах 3 при проверките,а издържат 60-тина презаписа.Мога да сменям който датчик си поискам от останалите с какъвто си поискам и после си го тарирам софтуерно.Ама мапа ме затруднява.Пресмята го по два начина -на празен ход и при натиснат педал на газта.Точно тези сметки ми убягват как става точно.

В предишния ми пост от адрес 99C1 започва една такава.Аз го тълкувам та-зарежда в акум.А Напрежението на МАП от адрес 47 от рамта ,изважда $1А ако е по-малко записва грешка(твърде ниско напрежение на мапа) и изтрива резултата зареждайки аварийните карти за аванс и гориво. ,а ако не е по малко зарежда във ак.Б $97 умножава ги и събира резултата с $0040.После го умножава по две*мисля че двойно преместване на регистъра в ляво е умножено по две и ако не се препълни си записва стойноста като МАП на празен ход.

Ама не съм сигурен.Като коригирам някоя от цифрите за да и се ошашква и записва грешка по мап и влиза в аварините карти за аванс и гориво.
Е това ми е проблема.

В атача е как изглежда реално на екрана ми
_________________
Ако нещо не не става с акъл,опитай с мощност Smile
Ако и мощността (чука) не помогне-потърси по знаещи!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
eko67
Опитен потребител
Опитен потребител


Регистриран на: 01 Юли 2010
Мнения: 153
Местожителство: гр.Пещера

МнениеПуснато на: Пон Сеп 12, 2011 17:48    Заглавие: Отговорете с цитат

Може ли да погледна схемата с външните връзки
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
ivanovbg
Опитен потребител
Опитен потребител


Регистриран на: 14 Ное 2009
Мнения: 372

МнениеПуснато на: Пон Сеп 12, 2011 19:55    Заглавие: Отговорете с цитат

в атача е .Аутодата нямаш ли?
Както и да е .В червено е мап датчика.а-маса, б-изход и ц-+5волта.

Опитах с хардуерни ключове да направя така че когато е на контакт да дава 4,7 волта-уж 95кпа и когато вече заработи да превключва реалното показание,но по време на движение когато се подаде пълна газ компа прави корекция на показанията на мапа-барокорекция и ме хваща Sad Нали можеш същевременно да се изкачваш или слизаш и атмосферното налягане да се променя.Оттам се променя и калкулацията на количеството въздух което постъпва в двигателя иколичеството гориво и аванс.

Затова искам да бъзна програмата.
_________________
Ако нещо не не става с акъл,опитай с мощност Smile
Ако и мощността (чука) не помогне-потърси по знаещи!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла
Покажи мнения от преди:   
Създайте нова тема   Напишете отговор    Форум за електроника Форуми -> Обща електроника - General Electronics Часовете са според зоната GMT + 2 Часа
Иди на страница 1, 2  Следваща
Страница 1 от 2

 
Към:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети


Powered by phpBB © 2001, 2005 phpBB Group
Translation by: Boby Dimitrov
Where to Find Free Service Manuals