Читаем Занимательно о микроконтроллерах полностью

Конструкция условного выполнения операторов может использоваться в неполном варианте, когда присутствует только один оператор. Для ее реализации не обязательно использовать команду безусловного перехода. Она легко реализуется одной командой условного перехода, входящей в состав системы команд любого микропроцессора (а значит и языка программирования ассемблер для него). Однако если система команд микропроцессора неполная (например, есть команда проверки на равенство, но нет проверки на неравенство), то для реализации противоположного оператора тоже может потребоваться команда безусловного перехода.

Блок-схема и примеры реализации конструкции управления условным выполнением одного оператора на языках программирования С-51 и ASM-51 приведены на рис. 7.7 и в листингах 7.11 и 7.12. Каждый из исходных текстов содержит очень подробные комментарии, поэтому дополнительные пояснения не понадобятся.

Рис. 7.7.Блок-схема конструкции управления условным выполнением одного оператора

Конструкция управления циклическим выполнением оператора с проверкой условия после тела цикла

Третья конструкция управления — это циклическое выполнение оператора с проверкой условия после тела цикла. Оператор (или операторы), который должен повторяться в процессе выполнения этой конструкции, называется телом цикла. В процессе выполнения этих операторов обычно модифицируется некоторая переменная, значение которой влияет на завершение цикла. Эта переменная получила название «параметр цикла».

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

Блок-схема конструкции управления циклическим выполнением оператора с проверкой условия после тела цикла приведена на рис. 7.8. Напомню, что в качестве тела цикла можно использовать любую структурную конструкцию, в том числе и еще один оператор цикла.

Рис. 7.8.Блок-схема конструкции управления циклическим выполнением оператора с проверкой условия после тела цикла

На языках программирования высокого уровня такая конструкция входит в состав языка (оператор do… while в языке программирования С или оператор repeat… until в языке программирования PASCAL). Пример использования циклического выполнения оператора с проверкой условия после тела цикла на языке программирования С приведен в листинге 7.13. Обратите внимание, что в приведенном примере в качестве логического выражения использована константа — единица. Это приводит к бесконечному циклу, эквивалентному безусловной передаче управления на начало тела цикла при помощи ассемблерной команды jmp.

Не сложнее реализуется эта структурная конструкция управления и на языке программирования ассемблер при помощи команды условного или безусловного (для организации бесконечного цикла) перехода. Реализация конструкции цикла с проверкой условия после тела цикла очень похожа на реализацию конструкции условного выполнения оператора.

Отличие заключается в том, что передача управления в команде условного перехода осуществляется не вперед, как при условном выполнении оператора, а назад, на начало цикла. В системе команд микроконтроллеров семейства MCS-51 для реализации цикла с проверкой условия после тела цикла введена специальная команда — djnz. Она позволяет реализовать сразу два алгоритмических действия: вычитания единицы из параметра цикла и проверку содержимого параметра цикла на равенство нулю. Для обозначения начала тела цикла в программе на языке программирования ассемблер применяется метка.

Пример реализации оператора цикла с проверкой условия после тела цикла на языке программирования ASM-51 приведен в листинге 7.14. В этом примере предполагается опрос бита завершения приема байта последовательным портом RI, который объявлен где-то в тексте программы как переменная PrinjatByte.

Структурная конструкция циклического выполнения оператора с проверкой условия до тела цикла

Четвертая структурная конструкция управления — это цикл с проверкой условия до тела цикла. В отличие от предыдущего оператора тело цикла в этом операторе может ни разу не выполниться, если условие завершения цикла сразу же выполнено. Блок-схема цикла с проверкой условия до тела цикла приведена на рис. 7.9.

Рис. 7.9.Блок-схема структурной конструкции управления «циклическое выполнение оператора с проверкой условия до тела цикла»

Конструкция цикла с проверкой условия до тела цикла может быть реализована при помощи средств, входящих в состав языка программирования С-51, как впрочем и других языков, предназначенных для разработки структурированных программ.

Перейти на страницу:

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника