i
МИКРОКОНТРОЛЛЕРЫ
l
Ну а теперь - что обозначают все
зти Т, N и X на понятном обычному
человеку языке.
1. М нож ество терм инальны х
символов автомата “торш ер” - зто
все внешние воздействия, которые
могут быть оказаны на автомат. В
данном случае таких внешних воз-
действий два: {“Потянуть за вере-
вочку”, “Отпустить веревочку”}
2. Множество нетерминальных
символов автомата - зто все узлы
графа переходов. В данном случае
их четыре: {0, 1, 2, 3}
3. Множество выходных симво-
лов автомата - зто все полезные
действия, которые производит ав-
томат. В данном случае таких по-
лезных действий два: {“Включить
лампочку”, “Отключить лампочку”}
4. Начальное состояние автома-
та Ы0 в данном случае равно 0.
Можно считать, то в этом состоя-
нии автомат находится при вклю -
чении и сбросе микроконтроллера.
5. Множество заключительных
состояний автомата Ык в данном
случае пусто: {0 }. Мы можем,одна-
ко, сделать его непустым, если вве-
дем во множество нетерминальных
символов еще один узел, в который
автомат попадал бы по терминаль-
ному символу “Лампочка сгорела”
или “Веревочка оборвалась”.
6. Множество функций перехода
автомата следующее
(таблица 1).
7.
Множество функций выхода
автомата следующее
(таблица 2).
Очень часто из соображений
простоты реализации два после-
дних множества О и А объединяют.
Для этого во множество выходных
символов X вводят еще один вы-
ходной символ
“ничего не де-
лать”,
а объединенное множество
представляют в виде четверок { Ы|,
Т, Ы|+1, Х |+1}. Для автомата “торшер”
это будет такой набор:
(0, “Потянуть за веревочку”,
1, “Включить лампочку”}
(1, “Отпустить веревочку”, 2,
“Ничего не делать”}
(2, “Потянуть за веревочку”,
3, “Отключить лампочку”}
(3, “Отпустить веревочку”, 0,
“Ничего не делать”}
Следует отметить, что в мате-
матике и в прикладном программи-
ровании автоматы используются
для совершенно различных целей:
Таблица 1
Функция перехода
Комментарий
{0, “Потянуть за веревочку”, 1}
Если автомат находился в состоянии 0, то при
получении сигнала “Потянуть за веревочку” автомат
переходит в состояние 1
{1, “Отпустить веревочку”, 2}
Если автомат находился в состоянии 1, то при
получении сигнала “Отпустить веревочку” автомат
переходит в состояние 2
{2, “Потянуть за веревочку", 3}
Если автомат находился в состоянии 2, то при
получении сигнала “Потянуть за веревочку” автомат
переходит в состояние 3
{3, “Отпустить веревочку”, 0}
Если автомат находился в состоянии 3, то при
получении сигнала “Отпустить веревочку” автомат
переходит в состояние 0
Таблица 2
Функция перехода
Комментарий
{0, “Потянуть за веревочку”,
“Включить лампочку”)
Если автомат находился в состоянии 0, то при
получении сигнала “Потянуть за веревочку"
необходимо “Включить лампочку”
{2, “Потянуть за веревочку”,
“Отключить лампочку”)
Если автомат находился в состоянии 2, то при
получении сигнала “Потянуть за веревочку”
необходимо “Отключить лампочку”
46
в математике с помощью автомата
определяется допустимость после-
довательности терминальных сим-
волов, а в программировании - за-
дается логика работы программы.
Сказывается зто отличие на обра-
ботке “неожиданных” терминальных
символов. Например, если вслед на
символом “Потянуть за веревочку”
мы снова получили бы “Потянуть за
веревочку” вместо “Отпустить вере-
вочку” (как зто может случиться -
вопрос десятый), автомат с точки
зрения математики просто “отбра-
ковал” бы
всю
последовательность.
С точки зрения же прикладного про-
граммирования все “неожиданные”
терминальные символы автоматом
просто игнорируются.
Итак, попытаемся реализовать
наш “торшер” на микроконтроллере
КР1878ВЕ1. Схема “торшера” приве-
дена на
рис. 2.
“Лампочкой” будет
служить светодиод, подсоединен-
ный на линию 0 порта В. Кнопка, за-
меняющая “веревочку”, подсоедине-
на на линию 0 порта А. Будем счи-
тать, что процессор микроконтрол-
лера работает от внутренней RC-
цепочки с частотой около 50 кГц.
В программировании для реа-
лизации конечных автоматов наи-
более часто используются два под-
хода:
1. Автомат “прош ивается” не-
посредственно в самой программе.
В литературе для такого способа
реализации в последнее время ус-
тановился термин “switch-техноло-
гия” (такое название происходит
из-за того, что реализация автома-
та на язы ках программирования
высокого уровня, например С или
Pascal, обычно выполняется по это-
му способу с помощью оператора
выбора
switch).
| Радиолюбитель - 0 8 /2 0 0 5
предыдущая страница 44 Радиолюбитель 2005-08 читать онлайн следующая страница 46 Радиолюбитель 2005-08 читать онлайн Домой Выключить/включить текст