Проектирование автомата "Поймай светлячка"

Ознакомление с особенностями функционирования игрового автомата "Поймай светлячка". Изучение процесса подбора операционных элементов для реализации микроопераций и логических условий. Рассмотрение схемы алгоритма работы автомата и списка микроопераций.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 29.12.2014
Размер файла 2,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

ИРКУТСКИЙ ГОСУДАРСТВЕНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

кафедра Вычислительной техники

Руководитель Кирий В.Г.

Курсовая работа по дисциплине:

Теория автоматов

Проектирование автомата «Поймай светлячка»

Иркутск 2016

Оглавление

  • Введение
  • 1. Постановка задачи
  • 2. Определение входного и выходного алфавита
  • 3. Схема алгоритма работы автомата
  • 4. Список микроопераций и логических условий
  • 5. Подбор операционных элементов для реализации микроопераций и логических условий. Построение комбинационных схем
    • 5.1 Реализация микрооперации №1
    • 5.2 Реализация микрооперации №2 и №3
    • 5.3 Реализация микрооперации №5 и №6
    • 5.4 Реализация микрооперации №4 и №1
    • 5.5 Реализация микрооперации №7
    • 5.6 Реализация микрооперации №8 и №9
    • 5.7 Реализация микрооперации №10
    • 5.8 Реализация микрооперации №11
    • 5.9 Реализация микрооперации №12 и №14
  • 6. Схема автомата
  • Заключение
  • Список использованных источников

Введение

В современном мире всё большее значение приобретают электронные вычислительные устройства, построенные на основе микросхем средней и высокой степени интеграции. Учебный курс «Теория автоматов» необходим для получения знаний об организации и функциях базовых операционных элементов, которые впоследствии могут быть применены для разработки машин, способных хранить и обрабатывать информацию. Целью данной работы является разработка полноценного электронного устройства для решения конкретной задачи, что должно способствовать повторению и укреплению знаний, полученных в процессе изучения дисциплины «Теория автоматов».

1. Постановка задачи

Построить игровой автомат «Поймай светлячка». После нажатия кнопки «Старт» начинают случайным образом вспыхивать лампочки-звездочки, на каждую из которых нужно успеть нажать в течении короткого промежутка времени горения. Все удачные нажатия в течение минутного цикла работы автомата подсчитываются. После окончания цикла работы автомата лампочки отключаются, на передней панели загорается табло «Игра окончена» и на индикаторе «Число очков» высвечивается результат.

2. Определение входного и выходного алфавита

В игре будем использовать 15 ламп-звёздочек.

Для определения входного и выходного алфавита применим метод черного ящика.

Рис. 1 Применение метода «чёрного ящика»

На вход R поступает импульс о начале новой игры. Входы X0, X1 … X14 служат за выбор лампочки звёздочки.

Сигнал с выхода Z служит для завершения игры, после него будет показано кол-во очков и сообщение об окончании игры. Сигналы с выходов Y0, Y1 … Y14 отвечают за зажигание соответствующих ламп-звёздочек.

3. Схема алгоритма работы автомата

Сразу учтём, что максимальное количество очков, которое можно набрать будет 999. Проверку максимального набора количества очков делать нецелесообразно. Сделать вывод об этом можно из следующих данных.

Максимальная скорость печати в минуту была зарегистрирована в 1946 году в Чикаго Стеллой Пахунах-Гарнанд на электрической печатной машинке: 216 (1080 символов) слов в течение одной минуты.

В игре «Поймай светлячка» при использовании даже двух рук скорость нажатий будет ниже по причине не такого удобного расположения лампочек, как кнопок на клавиатуре. К тому же, если постоянно держать руки над панелью с лампочками, руки будут загораживать лампочки, что будет мешать и только ухудшит результаты.

Рис. 2 Схема алгоритма работы автомата

4. Список микроопераций и логических условий

Из полученной блок-схемы алгоритма работы автомата получаем следующий список микроопераций:

1. Сигнал от пользователя о начале новой игры (R = 1)

2. Установка начального состояния счётчика в нулевое состояние

3. Инкремент счётчика очков

4. Старт таймера на 1 мин., отвечающего за продолжительность всей игры

5. Старт таймера на 0,5 сек., отвечающего за продолжительность хода

6. Сигнал таймера на 0,5 сек. об окончании хода (T = 1)

7. Сигнал о новой генерации позиции включения лампы-звёздочки c помощью датчика псевдо случайных чисел (ДПСЧ) (I = 1)

8. Генерации позиции лампочки (y0...14) c помощью ДПСЧ

9. Сигнал выключения ДПСЧ

10. Входной сигнал выбора зажжённой лампы-звёздочки x пользователем (x0...14)

11. Сигнал правильного выбора лампы-звёздочки (С = 1)

12. Отправка сигналов со счётчика на табло с очками до 999

13. Сигнал таймера на 1 мин. о завершении игры (Z = 1)

14. Включение табло «Игра завершена» и табло с очками.

5. Подбор операционных элементов для реализации микроопераций и логических условий. Построение комбинационных схем

5.1 Реализация микрооперации №1

Сигнал от пользователя о начале новой игры (R = 1) будет поступать при нажатии кнопки «Новая игра».

5.2 Реализация микрооперации №2 и №3

Для реализации микрооперации №2 и №3 потребуется суммирующий счётчик. Будем считать, что максимальное число очков = 999. 9 < ln 999 < 10. Поэтому нам потребуется счётчик с минимальным количеством разрядов 10. Так как более распространённым является 12-разрядный суммирующий счётчик, будем использовать его. Сброс счётчика будет происходить при начале новой игры (R = 1), инкремент -- при правильном выборе лампы-звёздочки (С = 1).

Рис. 3 Реализация микрооперации №2 и №3

5.3 Реализация микрооперации №5 и №6

Для реализации микрооперации №5 и №6 потребуется таймер. Для реализации таймера можно использовать микросхему NE555 или её аналоги. Сброс происходит при сигнале о новой генерации позиции лампы-звёздочки (I = 1). Через 0,5 сек. работы таймера поступает импульс о новой генерации позиции лампы-звёздочки (T = 1). игровой автомат алгоритм

Рис. 4 Внутреннее устройство микросхемы NE555

1) Вывод «GND» -- Земля.

Вывод подключается к минусу питания или к общему проводу схемы.

2) Вывод «TRI» -- Запуск.

Этот вывод является одним из входов компаратора №2. При подаче на этот вход импульса низкого уровня, который должно быть не более 1/3 напряжения питания, происходит запуск таймера и на выводе №3 появляется напряжение высокого уровня на время, которое задается внешним сопротивлением Ra+Rb и конденсатором С. Данный режим работы называется -- режим моностабильного мультивибратора. Импульс, подаваемый на вывод «TRI», может быть как прямоугольным, так и синусоидным и по длительности он должен быть меньше чем время заряда конденсатора С.

3) Вывод «OUT» -- Выход.

Высокий уровень равен напряжению питания минус 1,7 Вольта. Низкий уровень равен примерно 0,25 вольта. Время переключения с одного уровня на другой происходит примерно за 100 нс.

4) Вывод «RST» -- Сброс.

При подаче на этот вывод напряжения низкого уровня (не более 0,7в) произойдет сброс таймера и на выходе его установится напряжение низкого уровня. Если в схеме нет необходимости в режиме сброса, то данный вывод необходимо подключить к плюсу питания.

5) Вывод «CON» -- Контроль.

Обычно, этот вывод не используется. Однако его применение может значительно расширить функциональность таймера. При подаче напряжения на этот вывод можно управлять длительностью выходных импульсов таймера, а значит отказаться от RC времязадающей цепочки. Подаваемое напряжение на этот вход в режиме моностабильного мультивибратора может составлять от 45% до 90% напряжения питания. А в режиме мультивибратора от 1,7в и до напряжения питания. Соответственно на выходе получится FM модулированный сигнал.

Если этот вывод не используется, то его лучше подключить через конденсатор 0,01мкФ к общему проводу.

6) Вывод «THR» -- Стоп.

Этот вывод является одним из входов компаратора «GND». При подаче на этот вывод импульса высокого уровня (не менее 2/3 напряжения питания), работа таймера останавливается, и на выходе таймера устанавливается напряжение низкого уровня. Как и на вывод «TRI», на этот вывод можно подавать импульсы как прямоугольные, так и синусоидные.

7) Вывод «DIS» -- Разряд.

Этот вывод соединен с коллектором транзистора Т1, эмиттер которого соединен с общим проводом. При открытом транзисторе конденсатор С разряжается через переход коллектор-эмиттер и остается в разряженном состоянии пока не закроется транзистор. Транзистор закрыт, когда на выходе таймера высокий уровень и открыт, когда на выходе низкий уровень.

8) Вывод «VCC» -- Питание.

Напряжение питания таймера составляет от 4,5 до16 вольт.

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

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

Моностабильный означает, что стабильное состояние у таймера только одно, когда он выключен. Во включенное состояние его можно перевести временно, подав на вход таймера какой-либо сигнал. Время нахождения таймера в активном режиме определяется RC цепочкой.

В начальном состоянии, на выходе таймера «OUT» (выход) низкий уровень -- примерно 0,25 вольт, транзистор Т1 открыт и соответственно конденсатор разряжен. Это состояние таймера стабильное. При поступлении на вход «TRI» (запуск) импульса низкого уровня, включается компаратор №2, который переключает триггер таймера, и как результат на выходе таймера устанавливается высокий уровень. Транзистор Т1 закрывается и через резистор R начинает заряжаться конденсатор С. И пока заряжается конденсатор С на выходе таймера сохраняется высокий уровень. За это время изменения сигнала на входе «TRI» (запуск) не вызовут никакое воздействие на таймер. После того как напряжение на конденсаторе С достигнет 2/3 напряжения питания, включается компаратор №1 и тем самым переключает триггер. В результате на выходе «OUT» (выход) установится низкий уровень, и таймер восстановит исходное, стабильное состояние. Транзистор Т1 откроется и разрядит конденсатор С.

Рис. 5 Микросхема NE555 в режиме моностабильного мультивибратора

Частота определяется по формуле:

Была выбрана ёмкость конденсатора C = 0.1 мкФ, сопротивление R=7.5Мом, что позволяет добиться импульса продолжительностью t = 0.521 ? 0.5 сек.

Так как сброс таймера происходит при низком уровне, то необходимо импульс о сбросе (I = 1) инвертировать, также необходимо инвертировать импульс таймера на выходе «OUT».

5.4 Реализация микрооперации №4 и №13

Для реализации микрооперации №4 и №13 потребуется таймер. Осуществлена реализация будет по примеру реализации микрооперации №5 и №6, но с другими настройками таймера. Сброс происходит при начале новой игры (R = 1). Через 1 мин. работы таймера поступает импульс о завершении игры (Z = 1).

Была выбрана ёмкость конденсатора C = 10 мкФ, сопротивление R=8.6Мом, что позволяет добиться импульса продолжительностью

t = 59,722 сек ? 1 мин.

Так как сброс таймера происходит при низком уровне, то необходимо импульс о сбросе (R = 1) инвертировать, также необходимо инвертировать импульс таймера на выходе «OUT».

Рис. 6 Реализация микрооперации №4 и №13

5.5 Реализация микрооперации №7

Сигнал о новой генерации позиции включения лампы-звёздочки c помощью датчика псевдослучайных чисел (I = 1) происходит при начале новой игры (R = 1), при сигнале о новой генерации позиции лампы-звёздочки (T = 1) или при правильном выборе лампы-звёздочки (С = 1). Поэтому для генерации потребуется 3-х входовой элемент «ИЛИ».

5.6 Реализация микрооперации №8 и №9

Для реализации микрооперации №8 и №9 необходимо генерировать случайные числа или хотя бы числа достаточно случайные, чтобы игрок не смог привыкнуть к комбинациям загорающихся лампочек.

Выбор был сделан в пользу использования ДПСЧ для 4 разрядов. Причём в первом регистре ДПСЧ используется RS-триггер в запрещённом состоянии, что позволяет значительно расширить «случайность» чисел, так как его состояние в этом случае неопределённо.

Рис. 7 Реализация ДПСЧ для генерации чисел

Рис. 8 Граф переходов ДПСЧ

Сигнал на вход R RS-триггера может поступать либо при генерации нового числи, либо при выключении ДПСЧ, поэтому необходимо добавить элемент «ИЛИ».

Комбинация 0000 зарезервирована для случая выключения ДПСЧ (сигнал завершения игры Z = 1), её необходимо исключить из генерации. Тогда

Функция исключения F = ?Q0 ? ?Q1 ? ?Q2 ? ?Q3 или в обратной логике

F = NOT (Q0 & Q1 & Q2 & Q3)

Для реализации функции потребуется 4-х входовой элемент «НЕ-ИЛИ». При срабатывании данного элемента сигнал поступает на вход S RS-триггера, так как сигнал может также поступать и при генерации следующего шага ДПСЧ, то необходимо добавить элемент «ИЛИ».

Сигнал с ДПСЧ для зажжения лампочек генерируется в двоичном коде. Нам необходим сигнал лишь для зажжения одной лампы-звёздочки, поэтому преобразуем сигнал с помощью 16-ого дешифратора.

Сигнал с выхода дешифратора №0 использоваться не будет, так как ДПСЧ в положении 0000 считается выключенным.

5.7 Реализация микрооперации №10

Для реализации микрооперации №10 потребуется 15 ключей и 15 лампочек.

Рис. 9 Реализация микрооперации №10

y0...15 -- входные импульсы с ДПСЧ

x0...15 -- сигналы выбора лампы-звёздочки

5.8 Реализация микрооперации №11

Для реализации микрооперации №11, сигнала правильного выбора зажжённой лампы-звёздочки (С = 1), потребуется элемент «ИЛИ» с 15 входами.

5.9 Реализация микрооперации №12 и №14

Для реализации потребуется табло десятичных чисел с 3 разрядами, на вход подаются сигналы с суммирующего счётчика очков. Для включения «Табло с очками до 999» и табло «Игра завершена» подаётся сигнал завершения игры (Z = 1).

6. Схема автомата

Рис. 10 Реализация автомата

Заключение

В результате выполнения курсовой работы был успешно разработан автомат, реализующий игру «Поймай светлячка». В соответствии с заданием данное устройство наделено функциями приёма, хранения, обработки и вывода информации. Было изучено устройство микросхемы интегрального таймера NE555 , её настройка. NE555 является одной и из самых массовых и популярных микросхем в мире.

Проектирование автомата с этапа составления содержательного алгоритма до подбора микросхем способствовало закреплению и приумножению знаний по дисциплине «Теория автоматов», а также продемонстрировало практическую применимость данного учебного курса.

Список использованных источников

1) Кирий В.Г. Теория автоматов. Задачник. Изд.2, исправленное и дополненное. -Иркутск: Изд. ИрГТУ, 2005. - 95с.

2) Кирий В.Г. Теория автоматов. Конспект лекций. Изд. ИрГТУ, 2002. -97с.

3) Шило В.Л. Популярные цифровые микросхемы: Справочник. - 2-е изд., исправленное. Изд. Радио и связь, 1989. - 352с.

4) http://www.joyta.ru/619-opisanie-tajmera-ne555/ -- описание таймера NE555

5) http://www.electroschematics.com/4843/1-hz-pulse-generator/ -- 1 Hz Pulse Frequency Generator with 555

Размещено на Allbest.ru

...

Подобные документы

  • Разработка управляющего автомата, ориентированного на выполнение заданной микрооперации. Разработка алгоритма работы управляющего автомата. Листинг программы. Выбор оптимального варианта кодирования состояний автомата. Синтез функции возбуждения.

    курсовая работа [506,9 K], добавлен 26.12.2012

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

    курсовая работа [1,2 M], добавлен 24.01.2014

  • Общая структура и принцип функционирования синхронного управляющего автомата. Анализ граф схемы алгоритма управляющего автомата и детализация блока памяти. Структурный синтез логического преобразователя и разработка электрической функциональной схемы.

    курсовая работа [222,6 K], добавлен 19.02.2013

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

    контрольная работа [215,8 K], добавлен 22.06.2012

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

    курсовая работа [91,8 K], добавлен 24.09.2010

  • Синтез цифрового автомата с комбинационной частью на логических элементах. Реализация спроектированного автомата в виде иерархического блока со схемой замещения на библиотечных компонентах в режиме SPICE–проектов. Разработка абстрактных символов.

    курсовая работа [831,2 K], добавлен 23.09.2013

  • Содержание и особенности этапов синтеза дискретного автомата. Граф переходов-выходов автомата Мура, кодирование входных и выходных сигналов. Построение функциональной схемы автомата Мура на RS–триггерах и элементах И-НЕ в программе Electronic WorkBench.

    курсовая работа [964,2 K], добавлен 20.07.2015

  • Изучение методов построения конечного автомата, распознающего заданный язык, и принципы его программной реализации. Проектирование комбинационной и принципиальной схем распознающего конечного автомата с использованием библиотеки интегральных микросхем.

    дипломная работа [1,8 M], добавлен 18.08.2013

  • Синтез автомата для преобразования двоично-десятичного кода. Кодировка алфавитов и состояний. Построение булевых функций, минимизация. Разметка вход-выходных слов для автомата Мили и автомата Мура. Реализация на элементах малой степени интеграции.

    контрольная работа [141,5 K], добавлен 14.10.2012

  • Методика минимизации абстрактного автомата. Порядок построения графа полученного минимизированного автомата. Синтез на элементах ИЛИ-НЕ и Т-тригерах. Составление таблицы переходов. Разработка микропрограммного автомата, реализующего микропрограмму.

    курсовая работа [997,7 K], добавлен 28.03.2011

  • Составление формальной грамматики, недетерминированный конечный автомат. Построение конечного автомата, программное моделирование работы конечного автомата. Граф детерминированного автомата, Синтаксическая диаграмма. Блок-схемы, примеры разбора строк.

    курсовая работа [486,2 K], добавлен 19.11.2010

  • Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.

    курсовая работа [671,3 K], добавлен 04.11.2014

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

    курсовая работа [104,9 K], добавлен 24.09.2010

  • Минимизация абстрактного автомата Мили, моделирование его работы. Синтез схемы конечного автомата, микропрограммного автомата и счетчика числа микрокоманд. Разработка цифровой линии задержки. Построение граф-схем исходного и оптимизированного автоматов.

    курсовая работа [823,8 K], добавлен 19.07.2012

  • Последовательность выполнения задания и рекомендации по проектированию. Проектирование несложных дискретных устройств (цифрового автомата), структурная схема и алгоритм функционирования. Применение синхронного триггера и его отличия от асинхронного.

    методичка [258,6 K], добавлен 28.04.2009

  • Оптимізація схеми мікропрограмного автомата Мура за рахунок нестандартного подання кодів станів. Аналіз методів синтезу автомата та аналіз сучасного елементного базису. Використанні особливостей автомата для зменшення площини матричної схеми автомата.

    презентация [357,0 K], добавлен 16.10.2013

  • Специфика построения и минимизации детерминированного автомата методом разбиения. Построение детерминированной сети Петри, моделирующей работу распознающего автомата. Особенности программной реализации праволинейной грамматики, построение ее графа.

    курсовая работа [615,1 K], добавлен 19.06.2012

  • Сведение недетерминированного конечного автомата к детерминированному. Построение минимального детерминированного автомата из праволинейной грамматики двумя различными способами: с помощью сетей Петри и с помощью таблиц. Описание контрольного примера.

    курсовая работа [903,9 K], добавлен 14.07.2012

  • Разработка функциональной схемы управляющего микропрограммного автомата. Построение графов автомата для модели Мили и Мура. Кодирование состояний для модели Мура на D-триггерах. Алгоритм умножения чисел в дополнительном коде с простой коррекцией.

    курсовая работа [764,0 K], добавлен 27.08.2012

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

    курсовая работа [2,8 M], добавлен 15.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.