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

    ...

switch (a)

  {case 1: b=c; break;

   case 2:

   switch (d)

     {case 0: f=s;  break;

      case 1: f=9;  break;

      case 2: f-=9; break;

    }

  case 3: b-=c; break;

     ...

  }

Оператор break

Оператор break обеспечивает прекращение выполнения самого внутреннего из объемлющих его операторов: switch, do, for или while. После выполнения оператора break управление передается оператору, следующему за прерванным оператором.

Оператор цикла for

Оператор for — это наиболее общий способ организации цикла. Он имеет следующий формат:

"for (" Выражение1';' Выражение2';' Выражение3 ')' Тело цикла';'

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

Последовательность выполнения оператора цикла for:

1) Вычисялется Выражение 1;

2) Вычисялется Выражение2;

3) если значение Выражение2 отлично от нуля, то выполняется тело цикла, вычисляется Выражение3 и осуществляется переход к пункту 2, если Выражение2 равно нулю, то управление передается на оператор, следующий за оператором for.

Обратите внимание, что проверка условия всегда выполняется в начале цикла. Это означает, что тело цикла может ни разу не выполниться, если условие выполнения оператора цикла сразу будет ложным.

Пример использования оператора цикла for:

int main ()

{int i,b;

 for (i=1; i<10; i++)

   b=i*i;

  return 0;

}

В этом примере вычисляются квадраты чисел от 1 до 9.

Некоторые варианты применения оператора for повышают его возможности за счет использования сразу нескольких переменных, управляющих циклом.

Пример использования нескольких переменных в операторе цикла for:

int main()

{int top,bot;

 char string (100), temp;

 for(top=0, bot=100; top

    {temp=string[top];

     string[bot]=temp;

    }

В этом примере, реализующем запись строки символов в обратном порядке, для управления циклом используются две переменные top и bot.

Отметим, что на месте Выражения1 и Выражения3 здесь используются несколько выражений, записанных через запятую и выполняемых последовательно.

В этом же примере можно наглядно проследить за тем, как влияет выбор типа переменных на размер загрузочного файла. В приведенном примере для организации цикла использованы переменные типа int. В результате получился машинный код размером 59 байт. При замене типа этих же переменных на unsigned char размер кода сокращается до 41 байта. Эти же действия увеличивают быстродействие программы в полтора раза!

В микроконтроллерах оператор цикла for используется^для реализации бесконечного цикла, который необходим для непрерывной работы устройства. Организация такого цикла возможна при использовании пустого Выражения2. Иногда для реализации алгоритма работы устройства требуется при выполнении какого-либо условия выйти из бесконечного цикла. Для этого можно воспользоваться оператором break.

Пример реализации бесконечного цикла с возможностью выхода из него при помощи оператора for:

for (;;)

{ ...

  ...  break;

  ...

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

Пример использования пустого оператора для поиска:

for(i=0;t[i]<10;i++);

В данном примере при завершении цикла переменная цикла i принимает значение номера первого элемента массива t, значение которого больше 10.

Оператор цикла while

Оператор while называется циклом с предусловием и имеет следующий формат:

"while ("Выражение')' Тело ';'

Этот оператор обычно приводит к более коротким и эффективным программам по сравнению с предыдущим оператором цикла, т. к. элементарно накладывается на машинные инструкции микроконтроллера.

В качестве выражения допускается использовать любое выражение языка С-51, а в качестве тела — любой оператор, в том числе пустой или составной операторы. Последовательность выполнения оператора while:

1) вычисляется Выражение;

2) если Выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполняется тело оператора while;

3) переход к пункту 1.

Оператор цикла вида

"for ("Выражение 1';' Выражение2';' Выражение3')' Тело ';'

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

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

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

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

Чарльз Платт

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

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

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

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

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

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

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