Воскресенье
15.06.2025, 21:19
Секреты
электроники
Приветствую Вас Гость | RSS
Главная Каталог статей Регистрация Вход
Меню сайта

Форма входа

Категории раздела
51 [8]
PIC [0]
AVR [0]
STM32 [1]

Поиск

Главная » Статьи » Микропроцессоры » 51

BASCOM College часть 2 программатор 89СХ051

Программатор процессора 89СХ051

Как вы уже наверное знаете самой программы BASCOM недостаточно, нужны еще аппаратные средства, позволяющие ему контактировать с микроконтроллером. Один из этих инструментов – аппаратный эмулятор уже описан, теперь рассмотрим второй – программатор, без которого изготовление устройств с микроконтроллерами не возможно. Программатор MCS Flash Programmer был разработан компанией MCS Electronics, которая любезно дала мне согласие не только на публикацию схемы программатора, но также на изготовление плат, тестирование схемы и затем распространение его в виде наборов для сборки. Программатор компании MCS Electronics является устройством, ярким своей простотой. Он был построен с использованием трех дешевых и легко доступных интегральных схем и нескольких дискретных элементов. Его изготовление – очень простое, даже для новичков электронике, и схема  не требует какого-либо регулирования и отладки. Однако, простота и дешевизна устройства была достигнута в ущерб функциональности двумя, не слишком, впрочем, страшными ограничениями:

1 Предлагаемый программатор может работать только с программой BASCOM LT или BASCOM8051.

2 С помощью устройства описанные ниже, могут быть запрограммированы только 89CX051 процессоры серии, 89C1051, 89C2051 и 89C4051.

Однако, если кого-то из Вас не устраивает концепция строительства программатора с несколько ограниченными возможностями, корпорация AVT предлагает универсальный программатор поддерживающий всё семейство ’51, разработанный Славомиром Суровинским. Это кит AVT-320, идеальный инструмент для более опытных конструкторов.

Как он работает? Схема предлагаемого устройства показана на рисунке 1. Потому что эта схема очень простая и описание не займет много времени, чтобы определиться, в чем же собственно заключается программирование процессоров в данном случае 89CX051. Вы возможно знаете, что микроконтроллер сам, по себе не может буквально ничего. Что бы «оживить» его и заставить выполнять иногда очень сложные действия, необходима написанная человеком программа, которая должна быть помещена, в память микроконтроллера.

Каждый микропроцессор должен иметь как минимум два типа памяти: память программы, и памяти данных. В качестве памяти данных обычно используется ОЗУ и / или EEPROM, внутренняя или внешняя, а память программы, как правило постоянная, в настоящее время перепрограммируемая (по крайней мере, в микроконтроллерах используемых в любительских конструкциях). Раньше в качестве перепрограммируемой памяти для программы использовалась внутренняя память EPROM, а в настоящее время все больше используется EEPROM, стирание которой не требует специальных устройств, а может осуществляться в любой программаторе, поддерживающем этот тип микросхем.

Преимущества контроллеров с памятью программы типа EEPROM особенно должны оценить любители. Такой процессор, может повторно программироваться пользователем практически  бесконечно, можно бесконечно улучшать написанную программу или записать в него другую. Для этого нам нужен только программатор, хотя бы такой простой, как в этой статье.

Какие действия, выполняет программатор? Рассмотрим алгоритм программирования процессоров серии 89СX051. После установки процессора в панельку для программирование программатор должен выполнить следующие действия:

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

2 Подать логическую 1 на входы RST и P3.2.

3 Установка соответствующей комбинации логических состояний на входах P3.3, P3.4, P3.5 и P3.7, режима работы В таблице ниже указаны все режимы работы процессора во время программирование и состояния на входах порта Р3.

4 Программирование и проверка записанных данных. На входах порта Р1 подается логическая комбинация, соответствующая первому байту памяти программы (адрес 000H).

5 Подача к входу RST напряжение равное +12 В.

6 Подача на вход Р3.2 короткого импульса вызывает запись байта в память

Что бы проверить записанные данные (байты), теперь нужно снизить напряжение на входе  RST до уровня логической единицы, установить соответствующую комбинацию логических уровней чтению данных, на входе порта Р3 и начать чтение данных на выходе порта Р1. (Обратите внимание, что проверка данных может так же быть осуществлена за раз, после сохранения всего содержимого памяти, и сравнить с оригиналом, находящимся на диске компьютера).

8 После проверки записи байта увеличиваем значение внутреннего счетчика памяти программ на 1 подачей одного импульса на вход XTAL1.

9 Повторяем операции, описанные в пунктах 5-8 для сохранения всего содержимого памяти, то есть для всей памяти 2048 раз!

10 По желанию устанавливаем бит защиты программы низким уровнем на входах XTAL/

11 Устанавливаем низкий логический уровень на входе RST/

12 Снимаем все напряжения с входов микроконтроллера.

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

При описании алгоритма программирования процессоров 89С2051 я ответил на вопрос «как это работает?». Все данные передаются с компьютера через четыре линии разъема Centronics и передается на входы микроконтроллера через преобразователь интерфейса I2C – параллельный с помощью обычных микросхема PCF8574.

Объяснений может потребовать еще один вопрос что делают в схеме транзисторы Т1 .. Т3. Эта часть схемы есть не что иное, как программируемый стабилизатор, подающий напряжение, необходимое для управление входом RST программирования процессора. Напряжение переключается состоянием лини 5/12 которое берем с выхода 12 IC2. Высокий логический уровень на выходе подает на RST процессора, напряжение 5 В, а низкий позволяет программировать процессор подавая на RST напряжение 12 В. А подача высокого уровня на выходе 11 IC2 отключает напряжение от RST и сбрасывает процессор.

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

Монтаж и наладка

На рисунке 3 печатная плата, выполненная двухсторонней с металлизацией отверстий. Еще перед началом монтажа мы должны некоторое время, подумать что бы принять важное решение. Вспомнить каковы наши намерения на будущее и хотим ли мы разрабатывать несколько систем, использующих процессоры 89СХ051? В принципе, любой программатор должен быть оснащен панелькой типа ZIF (с нулевым усилием), которая позволяет просто устанавливать и вынимать микросхемы.

Однако стоимость такой панельки превышает стоимости всех остальных элементов, необходимых для изготовления этого программатора! Поэтому, если вы собираетесь программировать контроллеры лишь изредка, не стоит покупать дорогую панельку ZIF ,а вместо нее используйте обычную. При монтаже ZIF обратите внимание в какую сторону опускается ручка фиксации, что бы она не задевала другие установленные элементы на плате.

Стоит еще рассмотреть вопрос питания программатора, учитывая что в устройстве используются стабилизаторы напряжения, мы должны питать его от источника напряжением 13.. 16 Вольт. 

Категория: 51 | Добавил: Nikola201212 (22.09.2013)
Просмотров: 1156 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Наш опрос
Что хотите видеть на сайте?
Всего ответов: 46

облако ссылок

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Все права на переводы принадлежат автору сайта © 2025
    Конструктор сайтовuCoz