2. Приступая к работе



Автор: WildCat

Что же нужно, чтобы начать?
Вот что потребуется, чтобы написать первую программу - светодиодную моргалку:
- Компьютер с параллельным портом под управлением Win9x или круче
- Установленный на него BASCOM AVR
- Даташит на МК AT90S2313
- Программатор (та штуковина, которая зальет программу в мозг микроконтроллера)
- Тестовая установка с пресловутым МК

Все это будет подробно описано ниже. Настоятельно рекомендую использовать AT90S2313!

Компьютер
На компе должна стоять ОС Windows 95 (или понавороченнее). Если вы хотите использовать простой самодельный программатор, то непременно потребуется параллельный порт. К тому же, если ваша ОС из породы NT, то для нормальной работы потребуется маленькая утилитка. Но о ней позже.

Установка BASCOM
Выкачайте бесплатную версию BASCOM. Эта версия не позволяет компилировать код, выходной размер которого более 2КБ (на самом деле для нас это не проблема, этого за глаза хватит). Распакуйте архив во временную папку, запустите setup.exe и следуйте указаниям установки. Банально просто, не правда ли?
К сожалению, в сети сейчас сложно найти русификатор, поэтому я выложил одну из немногих уцелевших русских версий Bascom AVR. Скачать можно по этой ссылке. Для установки русификатора просто скопируйте файл в папку с вашим Bascom и запустите. Работает только с версией 1.11.8.1.

Сборка (или покупка) программатора
Программатор - это устройство, загружающее скомпилированный код в программную память МК. Что может быть проще, чем купить программатор? Если вы купили STK500, то помимо программатора вы получите кучу вкусностей, например светодиоды. Купили? Значит, валите отсюда, вам тут точно делать нечего. Гораздо проще и приятнее (да и намного дешевле) собрать собственный программатор. Схем в Сети очень много. Рекомендую использовать совместимый с STK200/300 программатор. Так же для аппарата потребуется управляющая программа. Здесь и в дальнейшем будет использоваться TWinAVR. Она проста в обращении и даже не требует установки.
Самый удобный способ программирования - внутрисхемный. Как это? Да очень просто. Вы ставите на плату с готовым устройством разъём и подцепляете к нему специализированные лапки МК. Использовать эти лапки для чего-то еще не рекомендуется. Например, если программа МК начнет выполняться при подключенном программаторе, что-нибудь да погорит. Конечно, это не проблема при использовании большого МК с достаточным числом портов. Но при использовании слабеньких МК в условиях жесткой экономии ног нужно некоторое решение. Одно из них - применение программатора с шинным формирователем. Его выводы могут находиться в трех состояних: логические 1, 0 и еще Z-состояние с высоким сопротивлением выхода. Вот тогда при программировании ничего не погорит.
В целом процесс прошивки выглядит следующим образом:
1. Подадим землю на вывод Reset. Это переведет МК в режим программирования.
2. Установим на ножке MOSI (ножка приема данных) необходимый логический уровень, согласно программе.
3. Подадим на тактовую ножку импульс логической 1. МК считает значение с ножки MOSI и положит в память.
4. Повторим шаги 2 и 3, пока в память не запишется слово.
5. Считаем это слово через ножку MISO (выход данных с МК).
6. Сравним полученное слово с отправленным.
7. Повторяем все, пока вся программа не будет загружена и проверена.
Программатор должен быть запитан от внешнего источника +5 вольт, так как мы используем шинный формирователь только для переключения уровней. Остерегайтесь того, что некоторые современные ПК и ноутбуки не выдают не полные +5 вольт, а только +3. Печально...

ПО для программатора
Раздобудьте TWinAVR, например, трением. Эта программа заставляет ПК взаимодействовать с МК через программатор. Программа не требует установки, просто распакуйте в любое удобное место и запускайте. Теперь надо научить программу использовать напряжение с пинов порта для управления шинным формирователем. Откройте окно настроек, уберите галочку Vcc. Теперь напряжение на порте появляется только при запущенной программе. Если теперь использовать это напряжения для программирования, то в тот момент, когда программа неактивна, напряжение на порту исчезает, и выводы формирователя оказываются как раз в Z-состоянии. Кстати, проверьте заодно настройки LPT порта. Его адрес по умолчанию &378 (проверьте в BIOS). Если нет, то срочно меняйте настройки.

Программа UserPort
Если вы используете OC Windows семейства NT, TWinAVR не сможет получить прямого доступа к LPT порту. Эта проблема решается использованием специальной утилиты, дающей прямой доступ к порту. Одна из них - UserPort. Её нужно установить и настроить перед использованием TWinAVR. Сначала скачайте архив с программой. Распакуйте его и скопируйте файл userport.sys в C:\Windows\System32\drivers. Запустите userport.exe. В левом списке выберите 3BC-3BF и 3E8-3FF и нажмите "Remove". Повторите эти же действия для всех записей в правом окне. В конце в левом окне должно остаться 200-37F. Нажмите "Start". Теперь к указанным адресам всегда будет прямой доступ. Если вам нужен LPT порт для других целей, например принтера, то запустите userport.exe и нажмите "Stop". Работа драйвера будет остановлена.



DECADALAB ALFA