Вариант программной реализации автомата Мура
(Составил доц. В.Р. Снурницин)
1.Введение. Прежде всего, Вы должны ясно понимать и уметь объяснять работу автоматов. Общее представление о работе автоматов Вы, может быть, имеете, хотя бы на примере какого-нибудь автомата охранной сигнализации. Что автомат делает? Он должен быть включен, и ждать бандита, который будет подбирать ключи. Как только бандит вставит отмычку в замок, должен быть сформирован сигнал, который преобразуется аналого-цифровым преобразователем в двоичный код и поступает на вход автомата. А автомат далее выработает выходной сигнал (в двоичном коде), который преобразуется цифро-аналоговым преобразователем в аналоговый сигнал управления сиреной, видеокамерой и т.п.. В курсовой работе Вы учитесь проектировать цифровую часть автомата. На вопрос преподавателя о назначении спроектированного автомата правильный ответ – "не знаю", поскольку задания сформулированы на уровне диаграмм (графов) состояний, а не уровне предназначения автоматов.
Общего представления о работе автоматов недостаточно, Вам надо знать соответствующую терминологию и принцип работы. Огромное семейство технических устройств, которые реализуются цифровыми последовательностными схемами с обратными связями, называются конечными тактируемыми синхронными автоматами типа Мили или Мура . Слово "конечные" означает, что автомат имеет целое число входов, выходов и состояний. Слово "тактируемые" указывает на тот факт, что элементы памяти в конечном автомате (триггеры) имеют тактовый вход. Слово "синхронный " означает, что все триггеры используют один и тот же тактовый сигнал. Структура конечного автомата содержит три блока: блок логики переходов состояний (комбинационная схема), тактируемый блок памяти состояний (на триггерах), блок выходной логики (комбинационная схема). Блоки логики переходов и памяти состояний охвачены петлей обратной связи. В автомате Мили блок выходной логики связан не только с блоком памяти, но и с блоком логики переходов состояний.
Предполагается, что Вы синтезировали свой вариант курсовой работы –автомат Мили по методическим указаниям и составили логическую схему автомата для реализации на микросхемах выбранной серии. Вам осталось написать программу для этого же автомата Мили на языке низкого уровня (ассемблере) для программной реализации на каком-нибудь микропроцессоре. Прямой путь программной реализации автомата состоит в том, чтобы запрограммировать вычисления логических функций переходов и выходов. В методических указаниях объясняется именно этот вариант, Вы можете его использовать; на оценке это не отразится.
Вам предлагается шаблон другого более простого варианта и в смысле оформления и в смысле настоящей реализации. Идея предлагаемого варианта алгоритма программы состоит в том, что если в память микропроцессора занести таблицы переходов и выходов, то можно не вычислять функции переходов и выходов, а просто по исходным данным состояния и входного сигнала найти в таблице переходов и выходов выходные сигналы и следующие состояния. Как реализовать эти операции программно? Для этого надо ввести в определенную область памяти микропроцессора таблицы переходов и выходов и составить программу, которая по данным, состоящим из входного сигнала и состояния, находит по адресу в таблице переходов и выходов следующие состояния автомата и его реакцию - выходные сигналы.
2. Работа автомата. Работа автомата в формализованной форме (на логическом уровне) представляется диаграммой (графом) состояний и более точно (в кодах) таблицами переходов и выходов или в одной совмещенной таблице переходов и выходов. Совмещенные таблицы переходов и выходов представляются в различных формах записи данных. Для программной реализации удобна форма таблицы переходов и выходов, которая будет использоваться здесь для учебного примера (Табл. 1), где через косую черту вводятся данные "выходной сигнал/следующее состояние".
Совмещенная таблица переходов и выходов Табл.1
х2x1 |
Q2Q1/ |
|||
00 |
01 |
10 |
11 |
|
00 |
00/11 |
--/-- |
11/10 |
--/-- |
01 |
--/-- |
10/01 |
11/00 |
11/01 |
10 |
--/-- |
01/10 |
--/-- |
00/00 |
11 |
10/00 |
--/-- |
01/01 |
00/11 |
Теперь можно объяснить работу автомата на уровне таблиц переходов и выходов или на уровне диаграмм (графов) состояний.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.