русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ассемблер AVR для начинающих (первый шаг)


Дата добавления: 2014-11-28; просмотров: 2684; Нарушение авторских прав


1. Лодягин. Неформальное практическое введение в Пролог

 

Ассемблер AVR для начинающих (первый шаг)

Прежде, чем приступить непосредственно к изучению программирования, необходимо выполнить ряд подготовительных операций: собрать макетную плату и установить необходимое ПО. Итак, начнем по-порядку. В качестве базового контроллера для экспериментов я выбрал наиболее доступный и дешевый на данный момент 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 схему, скачайте и настройте ПО, сделайте программатор, если у вас еще нет столь полезной вещи, и приступим к дальнейшей работе. Но это будет уже совсем другая история...


<== предыдущая лекция | следующая лекция ==>
 | Ассемблер AVR для начинающих (второй шаг)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.203 сек.