Применение
Язык программирования PL/M-51 и его библиотеки являются частью интегрированного набора средств разработки программного обеспечения для микроконтроллеров семейства MCS-51. Язык программирования PLМ51 поддерживает модульное написание программ. Процесс разработки программ на языке программирования PLM-51 показан на рисунке 1.
Рисунок 1. Процесс написания программы на языке программирования PLM-51.
При разработке программного обеспечения выполняются следующие этапы:
- постановка задачи (полное определение решаемой проблемы);
- разработка принципиальной схемы и выбор необходимого программного обеспечения;
- разработка системного программного обеспечения. Этот важный шаг состоит из нескольких этапов, включающих: описание последовательности выполняемых каждым блоком задач, выбор языка программирования и используемых алгоритмов;
- написание текста программы и подготовка к трансляции при помощи любого текстового редактора;
- компиляция программы;
-
исправление синтаксических ошибок, выявленных компилятором, в текстовом редакторе с последующей перетрансляцией; - создание и сохранение библиотек часто используемых объектных модулей при помощи программы lib51.ехе;
- связывание полученных перемещаемых объектных модулей в абсолютный модуль и размещение переменных в памяти микроконтроллера при помощи редактора связей rl51.exe;
- создание программы, записываемой в ПЗУ микроконтроллера (загружаемый модуль) в hex формате, при помощи программы oh.exe;
- проверка полученной программы при помощи символьного отладчика или других программных или аппаратных средств.
Файл, в котором хранится программа, написанная на языке PLМ51 (исходный текст программы), называется исходным модулем. Для исходного текста программы принято использовать расширения файла: plm или p51. Исходный текст программы можно написать, используя любой текстовый редактор.
Получить можно, указав имя исходного модуля программы в качестве программы-транслятора в DOS строке или строке командного файла:
plm51.exe modul.plm
В этом примере в результате трансляции исходного текста программы, содержащегося в файле modul.plm будет получен объектный модуль, который будет записан в файл с именем modul.obj. Как показано на рисунке 1, объектный модуль не может быть загружен в память программ микроконтроллера. В память микроконтроллера загружается исполняемый модуль.
Получить программы можно, указав все имена объектных модулей программы в качестве программы редактора связей в DOS строке или строке командного файла:
rl51.exe main.obj, modul1.obj, modul2.obj
Имя исполняемого модуля программы по умолчанию совпадает с именем первого объектного файла в списке параметров строки запуска редактора связей. Исполняемый модуль программы записывается в файл без расширения. При выполнении приведённой выше в качестве примера командной строки будет получен исполняемый модуль, который будет записан в файл с именем main.
Большинство программаторов, предназначенных для записи информации в память программ микроконтроллеров, не может работать с объектным форматом исполняемого модуля программы, поэтому для загрузки машинного кода в процессор необходимо преобразовать объектный формат исполняемого модуля в общепринятый для программаторов гексадецимальный формат. При преобразовании форматов вся отладочная информация теряется. Машинный код процессора в гексадецимальном формате называется загрузочным модулем.
Загрузочный модуль программы можно получить при помощи программы-преобразователя программы oh.exe, передав ей в качестве имя файла исполняемого модуля программы, например:
oh.exe main
В результате выполнения этой командной строки будет получен загрузочный модуль программы, который будет записан в файл с именем main.obj.