На работе принесли платы в ремонт в них много PIC (массово сгорели) начальство сказало что надо сделать а так получилось что ПО под него нет с описанием есть тока ПО в самой пикушки. Все бы было ничего если бы его просто прочитать и записать в новую но они просят поправить выдержку. Вообщем что бы понять что там где хотелось бы изучить основы программирования PIC. Почитал книжку но не понял чета использую программу MPLAB IDE 5.70.40
Короче подскажите просто - напишите программку или скачайте и небольшой комментарий (тока рабочий код а не липовый) ну например какой та один (пару) входной(ых) сигнал(ов) и какой та другой выходной. как мне кажется чтобы было отчего оттолкнуться. и некоторое вычисление элементарное А+Б=С.
n971030 писал(а):Все бы было ничего если бы его просто прочитать и записать в новую но они просят поправить выдержку.
а в остальном то да
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Почему же нельзя? Зя! Не боги горшки зас**али.
Внешний видимый результат работы любой программы в процессоре - управление какой-либо ногой/ногами (битом/битами порта вывода). Вот отсюда и начинается раскручивание. Срисовали схему, нашли нужную ногу, посмотрели даташит на предмет принадлежности к порту ввода-вывода.
СчитАли прошивку (если не залочено), дизассемблировали, нашли обращение к этому порту и тд. - двигаемся "против течения". В конце-концов станет понятно чем определяется временной интервал: - какой-либо константой или количеством шагов программы внутри какого-то цикла. Дальнейшее зависит от результата нашего исследования. Если дело в константе, по листингу находим адрес константы в Hex-файле, правим её и программим в проц. Если дело в циклах - без перекомпиляции, к сожалению, не обойтись.
Я вообще к чему: Никогда не говори "это невозможно". Говори - "эх, мне бы тооолько сумеееть".
Делать атомные бомбы совсем не обязательно. Обязательно - уметь их делать.
Декомпозит схемы по печатной плате, затем по известным параметрам "что на входе" и "что на выходе" с имеющейся перед носом схемой делаем прогу...
Прибор скорее всего простенькая автоматика - проблем быть не должно.
Да и MPLAB обновите до 8.92...
ПыСы - токмо обычно сами ПИКи редко горят - чаще обвязка "даёт дуба"
Ну так сказано-же про имеющуюся-таки схему. Если к ноге проца присоединены, например, коллектор/база транза, можно догадаться (причем с боооольшой вероятностью), что этот бит порта соответственно вход/выход. А если есть прошивка - симулятор цветной меткой покажет.
Схема - икона радиолюбителя.
И тут Остапа понесло...
ПС. В ассемблере ПИКов операторы TRISx (TRISA, TRISB, TRISC, ...) определяют направление ног портов A, B, C.
otest писал(а):
как определить порт настроен на вход или на выход ?
у данного блока имеются заранее известные подключения к внешним объектам, внутри самого блока назначение вывода явно определяется окружающей схемотехникой
otest писал(а):
Да и MPLAB обновите до 8.92...
А это зачем ?
Последняя из "простых" версий МПЛАБа с максимально возможным для тех же "простых" версий количеством поддерживаемых МК /в том числе и энхансед среднемладшие поддерживаются/ ( для замены на том же ПК, где и прежнии версии стояли).
Далее следуют Х-версии, но у них уже ПК "посолиднее" надобен...
А вот читать программку на дизасм при достаточно простой схеме и алгоритме задачи устройства вряд-ли логично (да еще не совсем корректно работающую) - значительно проще заново самому написать.
А я с пиккитом и не работаю... только AN589, icprog 1.06c, winpic800 3.64h и "на закусь" оставил совсем вкусненькое winpicpgm (конфликтует с winpic800).
Всё определяется экономической целесообразностью...
Или "фирма" за почти тыщу гривен или самодел за от силы полтиник... И ессно "фирма" не дорого, коли окупается объёмом работ. А любителю... можно и на "примитиве", тем более, что под 24-ю серию токмо пиккит3 идет или тот же самодел с winpikpgm.