На днях тоже сваял программатор на коленке для микропроцессоров AT89c2051. Удалось сделать максимально просто на ардуине. 12 вольт берется с повышайки + оптрон 817 как коммутатор. Управление написано на языке autoit3. Мне так удобней. В принципе все получилось, работает чтение, стирание, запись.
Добавлено after 2 minutes 28 seconds:
[uquote="Andry_67",url="/forum/viewtopic.php?p=4077486#p4077486"]На днях тоже сваял программатор на коленке [/uquote]
Как работает ? Под управлением чего ?
Не спрашивай по ком звонит колокол, он звонит по тебе !
Нарисовал схему надеюсь всё понятно. В Ардуину записан скеч "ногодрыг" - по команде с компа можно прочитать любую ножку, записать 0 или 1. Причешу код, выложу тоже.
Вопрос к BOB51. Почему светодиод оптрона подключен через транзистор? Там ток небольшой, 10ма более чем достаточно. У меня примерно 4ма оптрон открывается полностью. Я думал там падение напряжения в 0.6 вольт будет, а там меньше 0.1v. И для большой микросхемы я бы регистры добавил типа SN74HC595 или SN74HC164
Зависит от типа МК.
У "стандартной" MCS51 (да и у большинства стандартных ТТЛ) выходной ток весьма "скуден" - посему и ставится эмиттерный повторитель.
Это на более современных МК выходные каскады с более мощными выходными токами.
Для АТ89С2051/4051 необходимо также и на 0 управляемую закоротку вывода RST/VPP делать.
Относительно схем для проектов под адуриньей - у меня иной подход - без фотовидов.
К примеру та же "прошивайка биос" на нанке https://img.radiokot.ru/files/20529/2hx7ly4snr.GIF
я бы воспользовался тем, что у нанки ток выхода вполне достаточен для питания программируемого МК и соединил бы GND с D19 со сдвижкой остальных и так далее, т.е. без перекрестных связей - для простоты монтажа. ну а в скетче, естественно, выводить туда 0. +5В на сброс тоже можно аналогично подавать, отвязав диодом от +12 в момент прошивки.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
GND я подключил к GND. Ибо порядок должен быть. Кстати, в начале я про землю вообще забыл. Без неё всё прекрасно работало. Увидел ошибку только когда схему начал рисовать. На сброс я с D14 провод подключил, потом убрал и без него все работает. Готовность МК так-же не проверяю. Просто сделал ожидание 10 миллисекунд и всё.
А сверить после прошивки содержимое в ПЗУ АТ89С2051 с тем, что должно быть, на заведомо проверенном программаторе (или запустить программу в АТ89С2051 на исполнение в макете) не пробовали?
Подскажите, пожалуйста.
Существует домофон. В нём предположительно глючит микроконтроллер "ATtmel AT89C51 20PT 9852". Как мне кажется, в нём имеется прошивка, плюс память с кодами для разных квартир.
Вопрос: существуют ли в продаже аналоги? Можно ли купить новый аналогичный микроконтроллер, скачать прошивку плюс коды из старого и загрузить их в новый? Чтобы потом его воткнуть на плату и всё заработало?
Можно использовать AT89S51 без изменений в прошивке.
Насчет "скачать прошивку" из имеющегося в наличии на устройстве кристалла - это Вам точно сделать не получится - кристалл наверняка "залочен" после прошивки.
Спасибо за быстрый ответ!
А, всё-таки, если он вдруг не залочен. Как это делается? Нужно какой-то программатор, COM-порт в компьютере плюс специальная программа?
Достать программатор для АТ89С на сегодня достаточно сложно - "антиквариат"...
Да и большинство "старых" работали с LPTи виндовс98...
Сделать самоделку в принципе можно - взять к примеру тот же https://radiokot.ru/forum/viewtopic.php ... 5#p4081965
и добавить функцию чтения дампа из МК в буферное ОЗУ...
Тут уж смотрим что проще и выгоднее - найти программатор "в ближнем окружении" или делать самоделку для ЕДИНИЧНОЙ ЗАДАЧИ.
[uquote="ypppu",url="/forum/viewtopic.php?p=4083350#p4083350"]Filman. Вот такой же потёртый...[/uquote]
Кошмар, как их только не называли (к сктати, проц. там залочен, проверено неоднократно)
А в чём неисправность проявляется ?
Там на микроконтроллере есть ноги, которые подают сигнал на три цифры табло. Первая и третья цифра "слиплись": когда подаётся первая цифра, её дубликат появляется на третьей цифре, и наоборот.
И ещё ноги, которые опрашивают состояние оптопар на панели ввода: где луч свободно проходит, а где перекрыт пальцем. Я наводил на ИК светодиоды фотокамеру - они не светятся и не моргают. Припаял параллельно им светодиоды видимого света для индикации - и они тоже не светят. Тогда я отсоединил панель ввода от домофона, подал на неё 12 вольт постоянки из блока питания. Если потыкать пальцем по контактам ввода-вывода, светодиоды начинают вспыхивать как попало; если убрать палец, то остаётся светиться какой-то один светодиод. Отсюда я делаю вывод, что панель ввода рабочая, но микроконтроллер "разучился" с ней общаться.
И то, и другое подсказывает, что микроконтроллер где-то пробило. Отчего - не могу сказать, от жары или от статики или он старый стал или кто-нибудь его шокером пытал...
[uquote="ypppu",url="/forum/viewtopic.php?p=4083614#p4083614"]Там на микроконтроллере есть ноги, которые подают сигнал на три цифры табло. Первая и третья цифра "слиплись"...[/uquote]
Такое иногда наблюдается при динамической индикации.
Для начала посмотреть осликом сигналы с выводов контролера,
и их же, на выводах драйвера (сегменты индикатора).
Уровни, форма... Выводы разрядов, и их состояние.
Драйвер сегментов указан стрелкой, схему уже не помню.
Драйвер сегментов - стоит сборка транзисторов Дарлингтона ULM2003 (современный аналог - ULN2003). Я предположил, что с ума сходит контроллер. Кривые цифры - один из признаков. Думаете, если выпаять ULM2003, контроллер перестанет глючить?