Go up
Вы используете устаревший браузер. Подробнее »
Чтобы использовать все возможности сайта, загрузите и установите один из этих браузеров: Используется тема VK-Style © http://Sergey.Pro
Posts The private archive of professor Preobrazhensky
Картинка профиля Профессор Преображенский

Прежде, чем приступить непосредственно к изучению программирования, необходимо выполнить ряд подготовительных операций: собрать макетную плату и установить необходимое ПО. Итак, начнем по-порядку.

В качестве базового контроллера для экспериментов я выбрал наиболее доступный и дешевый на данный момент ATtiny13. Он имеет всего восемь выводов и 1 кБайт Flash-памяти, но для изучения базовых операций его будет более чем достаточно.Схема для экспериментов представлена на рисунке 1.

Рисунок 1 — Схема платы для экспериментов
Центральным элементом ее является, как уже было сказано, контроллер DD1 типа ATtiny13. Питание схемы и программирование контроллера осуществляется при помощи разъема XS1. Распиновка его зависит от применяемого программатора. В качестве такого программатора рекомендую использовать USBasp, описанный мною в предыдущих статьях.

Конденсаторы С1 и С2 — для фильтрации помех по питанию. Кнопки SB1 и SB2 — любые без фиксации. Резисторы R2-R5 — токоограничительные. Могут быть выбраны из диапазона 220-390 Ом. Резистор R1 — переменный сопротивлением 1-20 кОм. Он служит для изменения напряжения, подаваемого на вход АЦП контроллера. Светодиоды LED1 и LED2 любого цвета и диаметра. Все элементы подключены таким образом, чтобы задействовать альтернативные функции контроллера, поэтому нежелательно вносить изменения в схему.

Теперь, что касается программной части. Многие рекомендуют для программирования на ассемблере использовать пакет «AVR Studio», выпускаемый самой фирмой Atmel, и распространяемый бесплатно. Рекомендации эти обоснованы: подсветка ключевых слов, справка, отладочный механизм — все эти приятные мелочи имеются в наличии. В качестве альтернативы я использую максимально облегченный вариант, который предлагает Ю. Ревич в своей книге «Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера» (СПб.: БХВ-Петербург, 2008 — 384 с.).

Не вдаваясь в подробности, что откуда взялось, выкладываю сюда архив с необходимым ПО. Скачать его можно здесь. Объем его крайне невелик, хотя в век широкополосных каналов интернета это практически не имеет значения. Архив можно распаковать в любую папку.
Итак, что же найдет любопытный пользователь, заглянув в полученную папку «asm»? Рассмотрим все по-порядку. В папке «Appnotes» располагаются файлы двух типов: с расширениями «inc» и «asm». Файлы «inc» содержат в себе информацию о контроллерах Atmel, с которыми может работать используемый здесь транслятор языка ассемблер. Имя файла совпадает с названием контроллера. Например, для нашей платы понадобится «tn13def.inc», но об этом позже. Файлы «asm» содержат примеры кодов, написанных инженерами фирмы Atmel, и выполняющих различные типовые операции. Для разнообразия их можно просмотреть, но использовать будем только самостоятельно разработанные алгоритмы (иначе, какие ж мы программисты?).

В папке «asmedit» находится редактор для набора программ на ассемблере. В принципе, для этих целей можно использовать произвольный текстовый редактор, даже обычный блокнот, но предлагаемый здесь удобнее, поскольку имеет подсветку некоторых команд, а также кнопки, позволяющие производить ассемблирование прямо из окна программы.
Файл avrasm32.exe является транслятором языка ассемблера. Именно он преобразует написанную нами программу в hex-файл, который может быть зашит непосредственно в микроконтроллер.

Файл build.bat представляет собой пакетный файл, который указывает опции ассемблирования для программы avrasm32.exe. Рассмотрим его структуру подробнее. В приведенном примере, скачанном читателем с сайта, в нем написан следующий текст:

«F:\Prog\AVR\asm\avrasm32 -fI %F:\Prog\AVR\asm\Nokia3410\main.asm
pause»

В принципе, структура его понятна интуитивно, но на всякий случай поведаю поподробней. Итак, сначала указывается путь, по которому находится файл avrasm32. У меня он расположен по пути «F:\Prog\AVR\asm\». Вы же указывайте ту папку, куда распаковали архив. Далее идут опции ассемблирования «-fI». Их менять не стоит. В конце после знака «%» указывается исходный файл с расширением asm и полный путь к нему.

Вторая строка представляет собой команду pause, которая дает возможность просмотреть результат создания hex-файла, и закрыть окно командной строки по нажатию любой клавиши. О том, как это все выглядит на практике, будет рассказано и показано чуть позже.

А пока необходимо сделать единственную настройку в программе asm_ed.
Заходим в папку asmedit, запускаем файл Asm_Ed.exe. Появляется окно следующего вида:

Как видно на скриншоте, большую часть окна занимает поле для ввода текста, здесь мы и будем набирать свою программу. Сейчас же нам нужен пункт главного меню Service. В выпадающем списке выбираем «Properties…». Открывается окно следующего вида:

Переходим к вкладке «Project» и меняем во второй сверху строке путь к файлу build.bat, не трогая остального:

Все! Можем нажимать кнопочку «ОК» и радоваться — программа готова к работе. Теперь для запуска процесса асемблирования необходимо будет нажать всего лишь кнопку «II» на панели инструментов.

Итак, соберите приведенную на рисунке 1 схему, скачайте и настройте ПО, сделайте программатор, если у вас еще нет столь полезной вещи, и приступим к дальнейшей работе. Но это будет уже совсем другая история…

Автор: Сергей Сокол, материал взят с его сайта https://sokolsp.at.ua/


No comments yet.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

Перейти к верхней панели