Основы микропроцессорной техники | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Глава 6. Проектирование устройств на микроконтроллерах | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| «Структура курса | Глава 1 | Глава 2 | Глава 3 | Глава 4 | Глава 5 | Глава 6 | Раздел 7 | Глава 8 | Дополнения | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Раздел 6 - Страницы: « 1 | 2 | 3 | 4 | 5 | 6 | 7 | » | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6.2. Разработка программного обеспечения для PIC-микроконтроллеровРазработка программного обеспечения является центральным моментом общего процесса проектирования. Центр тяжести функциональных свойств современных цифровых систем находится именно в программных средствах. Основным инструментом для профессиональной разработки программ является ассемблер, предполагающий детализацию на уровне команд МК. Только ассемблер позволяет максимально использовать ресурсы кристалла. Для микроконтроллеров PIC выпущена большое количество различных средств разработки. В данном разделе речь пойдет о средствах, предоставленных фирмой Microchip, которые очень эффективны и широко используются на практике. 6.2.1. Ассемблер MPASMАссемблер MPASM представляет собой интегрированную программную среду для разработки программных кодов PIC микроконтроллеров всех семейств. Выпускается фирмой Microchip в двух вариантах: для работы под DOS и для работы под Windows 95/98/NT. Ассемблер MPASM может использоваться как самостоятельно, так и в составе интегрированной среды разработки MPLAB. Он включает несколько программ: собственно MPASM, MPLINK и MPLIB, причем каждая из них имеет собственный интерфейс. Программа MPASM может использоваться для двух целей:
Код, который выполняется, является для MPASM исходным кодом по умолчанию. При этом все переменные источники должны быть явно описаны в тексте программы или в файле, который подключается с помощью директивы INCLUDE <filename>. Если при асемблюванни не проявляется ошибок, то генерируется выходной. Hex-файл, который может быть загружен в МК с помощью программатора. При использовании ассемблера MPASM в режиме генерации перемещаемого объектного кода формируются объектные модули, которые могут быть впоследствии объединены с другими модулями с помощью компоновщика MPLINK. Программа-компоновщик MPLINK превратит перемещаемых объектные коды в бинарный исполняемый код, привязанный к абсолютным адресов МК. Библиотечная утилита MPLIB позволяет для удобства работы сгруппировать перемещаемых объекты в один файл или библиотеку. Эти библиотеки могут быть связаны Компоновщик MPLINK в файл выходного объектного кода ассемблера MPASM. Программы MPASM и MPLINK доступны через оболочку MPASM, тогда как MPLIB доступна только из своего командной строки. Исходным файлом для ассемблера MPASM по умолчанию является файл. ASM. Текст исходного файла должен соответствовать требованиям синтаксиса, который приведен далее. Ассемблер MPASM может быть вызван командной строкой: MPASM [/ <Option> [/ <Option> ...]] <file_name> где / <Option> означает выбор режима работы ассемблера в командной строке; <file_name> - имя файла для асемблювання. Режимы работы ассемблера, которые избраны по умолчанию, приведены в табл. 6.1.
Здесь и далее используются следующие соглашения по использованию символов: [] - Для аргументов на выбор; Выбор по умолчанию, приведен в табл. 6.1, может быть изменен командной строкой: / <option> Позволяет выбор; Выходной асемблерний файл создается с использованием любого ASCII текстового редактора. Каждая линия выходного файла может содержать до четырех типов информации:
Порядок и положение каждого типа имеет значения. Метка должна начинаться в колонке номер один. Мнемоника может начинаться в колонку два или дальше. Операнды идут за мнемоники. Комментарий может следовать за операндом, мнемоники или меткой может начинаться в любом столбце, если в качестве первого не пустого символа используется * или;. Максимальная длина строки 255 символов. Один или несколько пробелов должны отделять метку и мнемоники или мнемоники и операнд (ы). Операнды могут отделяться запятыми. Например:
Метки В поле метки размещается символическое имя ячейки памяти, в которой хранится отмечен операнд. Все ярлыки должны начинаться в колонке 1. За ними может следовать двоеточие (:), пробел, табуляция или конец строки. Комментарий может также начинаться в колонке 1, если используется одно из обозначений комментария. Метка может начинаться с символа или нижнего тире (_) и содержать буквенные символы, числа, нижние тире и знак вопроса. Длина метки может быть до 32 символов. Мнемоники Мнемоники это мнемонические обозначения команды, непосредственно транслируются в машинный код. Мнемоники асемблерних инструкций, директивы ассемблера и макровикликы должны начинаться, по крайней мере, в колонке 2. Если есть метка на той же линии, она должна быть отделена от этой метки двоеточием или одним или более пробелами или табуляцией. Операнды В этом поле определяются операнды (или операнд), участвующие в операции. Операнды должны быть отделены от мнемоники одним или более пробелами или табуляцией. Операнды отделяются друг от друга запятыми. Если сделка требует фиксированного номера (числа) или операндов, то все на линии после операндов игнорируется. Комментарии разрешаются конце линии. Если мнемоники позволяют использовать разное количество операндов, конец списка операндов определяется концом строки или комментарием. Выражения используются в поле операнда и могут содержать константы, символы или любые комбинации констант и символов, разделенных арифметическими операторами. Перед каждой константой или символом может стоять + или -, указывающий на положительный или отрицательный выражение. В ассемблере MPASM используются следующие форматы выражений:
Текстовая строка - это последовательность любых допустимых ASCII символов (в десятичном диапазоне от 0 до 127), помещена в двойные кавычки. Строка может иметь любую длину в пределах 132 столбцов. При отсутствии ограничения строки он считается до конца линии. Если строка используется как буквенный операнд, он должен иметь длину в один символ, иначе будет ошибка. Числовая константа это число, выраженное в некоторой системе счисления. Перед константой может стоять + и -. Промежуточные значения в константах рассматриваются как 32-разрядные целые без знака. MPASM поддерживает следующие системы счисления (представление значений или Radix): шиснадцядкову, десятичной, восьмеричной, двоичную и символьную. По умолчанию принимается шиснадяткова система. В Табл. 6.2 приведены различные системы счисления. Операторы - это арифметические символы, подобные + и -, которые используются при формировании выражений. Каждый оператор имеет свой приоритет. В общем случае приоритет устанавливается слева направо, а выражения в скобках оцениваются первыми. В табл. 6.3 приведены обозначения, описания и примеры применения основных операторов MPASM.
Операторы high, low и upper используются для получения одного байта с багатобайтного значения, соответствующего метке. Применяются для управления расчетом точек динамического перехода при чтении таблиц и записи программ. Операторы инкремента и декремента могут применяться к переменной только как единого оператора в строке. Они не могут быть встроенным фрагментом более сложного выражения. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| «Структура курса Раздел 6 - Страницы: « 1 | 2 | 3 | 4 | 5 | 6 | 7 | » | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||