
- •Практическая работа № 10
- •Теоретическое обоснование практической работы
- •Порядок выполнения работы
- •Указание. Имена директив public и extern необходимо набирать, начиная со 2-й позиции курсора. Имена меток, символических имен следует набирать, начиная с 1-й позиции курсора.
- •Содержание отчета
- •Контрольные вопросы
МИНИСТЕРСТВО ПРОМЫШЛЕННОСТИ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«ЖЛОБИНСКИЙ ГОСУДАРСТВЕННЫЙ МЕТАЛЛУРГИЧЕСКИЙ КОЛЛЕДЖ»
Практическая работа № 10
Учебная дисциплина: Цифровая и микропроцессорная техника
Тема: Разработка и отладка многомодульных программ
Преподаватель А.С.Негру
Рассмотрено
на заседании цикловой комиссии
электротехнических дисциплин
Протокол № ____ от__ ______2014
Председатель ___________М.И.Матюшонок
Цель практической работы: Изучить методику разработки и отладки многомодульных программ с помощью кросс-средств на персональном компьютере
Теоретическое обоснование практической работы
При разработке программного обеспечения для микроконтроллеров (МК) могут быть использованы два способа организации прикладных программ: монолитный и модульный. При первом способе вся прикладная программа МК разрабатывается как единое целое, а при втором строится из отдельных программных блоков, каждый из которых реализует некоторую процедуру обработки данных или управления. Взаимосвязь блоков определяется разработчиком при монтаже из этих блоков блок-схемы алгоритма (БСА) и законченной прикладной программы.
Отдельные фрагменты прикладной программы МК могут быть получены в виде линейной последовательности блоков, другие (многократно используемые) обычно оформляются в виде подпрограмм, к которым прикладная программа, называемая основной, имеет возможность обращаться по мере необходимости. Подпрограмма должна обладать следующими свойствами: выполнять законченную процедуру обработки данных, иметь только один вход и один выход.
Обращение к подпрограмме осуществляется по команде вызова CALL MARK, где MARK – символическое имя процедуры. Имя процедуры используется в качестве метки, отмечающей одну из команд (чаще всего первую) подпрограммы.
Достаточно часто возникает необходимость такой организации вычислительного процесса, при которой подпрограмма вызывает другую подпрограмму, та в свою очередь вызывает следующую и т.д. Этот процесс называется вложением подпрограмм.
Для успешной работы любой подпрограммы необходимо однозначно определить способ передачи в нее исходных данных и способ вывода результатов ее работы. Подпрограмма, которой требуется дополнительная информация в виде параметров ее настройки или операндов, называется параметризуемой. Примером параметризуемой программы может служить подпрограмма временной задержки, если основной программе требуется реализация временных задержек различной длительности. Основная программа при этом должна обеспечить передачу в подпрограмму уставок, обеспечивающих требуемое время задержки.
Получили распространение три способа передачи параметров: через память, через регистры общего назначения и через область флагов.
При передаче выходных параметров через память основная программа обязательно содержит команды загрузки некоторых ячеек памяти, а подпрограмма – команды считывания из этих ячеек. При передаче выходных параметров подпрограмма должна загрузить некоторые ячейки памяти, а основная программа – считать. Передача параметров через регистры осуществляется аналогичным образом. В третьем способе используются флаги C и F0, сохраняемые в регистре состояния PSW, либо флаги пользователя (128 флагов) из области прямоадресуемых битов памяти данных (адреса ячеек 20H…2FH).
Использование процедур, оформленных в виде подпрограмм, при разработке программного обеспечения имеет ряд достоинств. Прежде всего, относительно простые модули, выделенные из сложной программы, могут программироваться несколькими разработчиками с целью сокращения времени проектирования. Еще более важным является то, что любая подпрограмма допускает автономную отладку. Это, как правило, многократно сокращает время отладки всего прикладного программного обеспечения. И, наконец, механизм использования подпрограмм, реализующих требуемый набор процедур, уменьшает длину прикладной программы, что приводит к уменьшению требующейся емкости памяти программы.
Существенным является и то обстоятельство, что отлаженные процедуры часто организуются разработчиками в библиотеки подпрограмм и могут быть многократно использованы в проектной работе.