Вариант программной реализации автомата Мура

Страницы работы

Содержание работы

Вариант программной реализации автомата Мура

(Составил доц. В.Р. Снурницин)

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

Теперь можно объяснить работу автомата на уровне таблиц переходов и выходов или на уровне диаграмм (графов) состояний.

Похожие материалы

Информация о работе

Тип:
Написанные программы на языках программирования
Размер файла:
32 Kb
Скачали:
0