Программатор At89C51/52/53



Вашему вниманию предлагается программатор для микросхем серии MCS-51. Поддерживаемые микросхемы: AT89C51/52/53, AT89C1051, AT89C2051, AT90S1200, AT90S2313. Вместо AT90S4414 здесь можно использовать AT89C51, но я не буду об этом писать(на чем её программировать, если нет программатора?), только дам ссылку на прошивку. Полную статью автора можно посмотреть на его сайте(ссылка в соответствующем разделе сайта).



Программатор общается с компьютером через последовательный порт RS232.
Преобразователь уровня выполнен на транзисторах VT1 иVT2. Конденсатор С7 служит аккумулятором отрицательного напряжения -12 В, получаемого через диод VD1 из приемной линии. Это напряжение используется для передачи данных от программатора. Такая схема не требует отрицательного источника напряжения -12В. Транзистор VT1 служит для передачи данных от программатора в компьютер. Такая схема имеет один недостаток: уровень логического "0" будет не +12В, а +5В. Но по стандарту RS232 уровень может составлять +3...+12 В. Так что стандарту соответствует. Но некоторые старые платы портов могут не работать с таким уровнем. В таком случае придется или сменить плату или использовать специализированную микросхему преобразователя уровня RS232 - ТТЛ. Микросхемы КРЕН8Б и КРЕН5А служат стабилизаторами напряжения.
Напряжение +12В используется только для программирования высоковольтных версий контроллеров. Транзисторы VT4 и VT3 составляют ключ, который управляет подачей напряжения программирования на контроллер. Так как падение напряжения на транзисторе VT3 и диоде VD4 составит примерно 1.5 вольта, то для компенсации этого падения уровень стабилизации +12В повышен диодом VD3 примерно на 0.6В. В этом случае напряжение программирования составит примерно 11.5 В, что соответствует нижнему уровню напряжения программирования.
Сборка программатора потребует от вас некоторых навыков в сборке радиоэлектронных устройств. Печатную плату вам придется развести самостоятельно. Я собрал программатор на монтажной плате, соединения выполнены кусками провода.
Для питания программатора я использую адаптер питания китайского производства. Их сейчас продается большая номенклатура. Нужно убедится только, что он выдает достаточный уровень напряжения. Иначе вам придется разобрать адаптер и домотать вторичную обмотку, как пришлось сделать мне.
Для проверки вы можете сначала собрать только преобразователь уровня и установить запрограммированный контроллер AT90S4414. Подав +5 вольт, вы можете уже проверить работоспособность программатора без установки программируемого контроллера. Для этого подключите его к компьютеру, запустите программу, выберите нужный порт и попробуйте выполнить операцию чтения сигнатурных байтов. Если линия связи с компьютером исправна, то в результате должны прочитаться байты FFh. Если же вы получите сообщение, что компьютер не получает отклика от компьютера, то видимо, вы что-то сделали неправильно. Так же вы можете попробовать выполнить операцию чтения. Для этого снимите флажок "Автоматическая установка параметров". Результатом чтения должны быть байты FFh. Также вы можете попробовать закорачивать линии порта P0.0-P0.7 (контакты 39 - 32 соответственно на панели для программируемого контроллера) на корпус. Выполняя операцию чтения, вы будете видеть, что будут читаться байты не FFh, а например, FEh, EFh, F7h, 7Fh ... в зависимости от заземленного вывода. Если это все работает, вы можете установить контроллер AT89C51 в панель и выполнить операцию чтения сигнатурных байтов. Если они прочитаются правильно, то ваш программатор практически работоспособен. Остается запаять оставшиеся детали и проверить программатор на программирование.
Вот печатная плата:

А это схема переходника:


Прошивку для AT90S4414 можно взять здесь.
Прошивку для AT89C51 можно взять здесь.
Печатная плата программатора здесь.
Печатная плата переходника здесь.

P.S. Это фотография получившегося у меня программатора.
Сайт создан в системе uCoz