Цифровые устройства и микропроцессор. Программирование микроконтроллеров семейства MCS-51. Жаринов О.О. - 22 стр.

UptoLike

Составители: 

22
бы обладать более широкими возможностями использования стека для
хранения данных.
Оптимизация программы по размеру кода. Если возможность прак-
тического использования программы ограничена не временем ее вы-
полнения, а размером объема памяти, которое она занимает, то необхо-
димо задуматься о мерах, в основном противоположным тем, которые
используются при оптимизации по быстродействию. Следует выяснить,
что обусловливает большой размер – собственно код или используемые
исходные константы. Если проблема заключается в больших объемах
констант, то стоит задуматься о возможной избыточности этого масси-
ва и попытаться устранить ее путем отыскания методов вычисления
какой-либо группы констант через остальные, которые и составят базо-
вый набор. Нельзя забывать и о различных вариантах адресации одной
и той же ячейки памяти: например, команда MOV R0, #ABh займет
меньше места, чем эквивалентная ей команда MOV 00h,#ABh.
Кроме того, нужно внимательно просмотреть код написанной про-
граммы на предмет повторяющихся фрагментов, и если таковые будут
найдены, следует организовать их в подпрограммы. В идеале это при-
водит к программе модульного типа, состоящей из отдельных подпрог-
рамм и вызовов к ним. И если удастся построить программу так, чтобы
в каждый момент времени работал только один модуль, то для хранения
промежуточных результатов вычислений можно использовать общую
память данных.
Примеры* программных решений типовых задач
Организация циклов. Очень распространенной является ситуация,
когда в программе необходимо выполнять последовательность однотип-
ных действий определенное количество раз. Тогда в программе органи-
зуется цикл: для этого следует выбрать одну из переменных, которая
будет определять количество повторений тела цикла, и задаться усло-
вием выхода из цикла. В ряде практических приложений требуется, чтобы
некоторый цикл выполнялся бы в течение всего времени, пока микро-
контроллер включен (например, при использовании микроконтроллера
для генерирования сигналов в портах вводам–вывода), – это так назы-
ваемый «бесконечный» цикл. Конечные же циклы сверяются с каким-
*
Во всех примерах точка останова ставится на команду, следующую за последней
командой программы.