Курс лекций - Микропроцессоры

Структурное программирование на языке ASM-51 - часть 2


Основная идея структурного программирования заключаются в том, что существует только четыре структурных оператора. Используя эти структурные операторы можно построить сколь угодно сложную программу.

Наиболее распространённый структурный оператор называется . Любая задача может быть разбита на несколько подзадач. Выполнение подзадач лучше оформить как подпрограмму, в названии которой можно (и нужно) отразить подзадачу, которую должна решать эта подпрограмма. Например:

При этом с точки зрения структурного программирования использовать подпрограмму имеет смысл даже тогда, когда действие будет выполняться только один раз! Выполняемое алгоритмическое действие отображается в названии подпрограммы, поэтому программу можно читать по названиям подпрограмм. Человеческий глаз может охватить большую часть алгоритма, а значит программа будет более понятна, что приведёт к более быстрому завершению отладки программы. Программы, понятные при чтении исходного текста программы, часто называют самодокументирующимися.

На момент написания алгоритма (и программы) верхнего уровня нас не интересует, как будет решаться эта задача, поэтому вместо настоящей подпрограммы поставим . Пример подобной программы приведён на рисунке 1.

Рисунок 1. Пример использования подпрограмм для структурирования программы, написанной на языке программирования ASM-51.

Второй структурный оператор - условный оператор. Если условный оператор реализуется только с одним плечом, то для его реализации можно воспользоваться любой командой условного перехода. Пример использования команд условного перехода для реализации условного оператора с одним плечом приведён на рисунке 2.

Рисунок 2. Пример использования команд условного перехода для реализации условного оператора с одним плечом.

Полная схема  реализуется на языке ассемблер более сложным образом. Для реализации такого оператора потребуется уже две команды микроконтроллера. Для исключения выполнения второго плеча условного оператора потребуется команда безусловного перехода.


- Начало -  - Назад -  - Вперед -