Дипломная (вкр): Проектирование и создание шахматных часов с функцией будильника на основе микроконтроллера

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Проектирование и создание шахматных часов с функцией будильника на основе микроконтроллера

Реферат

Дипломный проект содержит 52 страницы, 54 рисунка, 17 источников, 1 приложение.

Ключевые слова: шахматные часы, микроконтроллер, NI Multisim, Proteus, sPlan, семисегментный диодный индикатор, программатор, печатная плата.

Объект исследования: проектирование шахматных часов на основе микроконтроллера.

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

Цель дипломного проекта: проектирование и создание шахматных часов с функцией будильника на основе микроконтроллера.

Методы исследования: компьютерное моделирование, тестирование на макетной плате.

Задачи дипломного проекта:

теоретический анализ материалов о работе шахматных часов, микроконтроллеров, а также изучение различных сред для разработки схемы;

моделирование платы при помощи программы Proteus с ее последующим тестированием;

изготовление печатной платы.

Содержание

Введение

. Шахматные часы и современные микроконтроллеры

.1 Схема шахматных часов на основе кварцевых будильников

1.2 Основные типы микроконтроллеров и их архитектура

1.2.1 Система команд

1.2.2 Типы памяти МК

1.3 Аппаратные средства

1.3.1 Запуск микроконтроллера

1.3.2 Сброс в начальное состояние

1.3.3 Тактирование и командные циклы

1.3.4 Программный счетчик и АЛУ

1.3.5 Подпрограммы и функции

1.3.6 Прерывания

1.3.7 Таймеры

1.3.8 Ввод/вывод данных

1.3.9 Аналоговый компаратор

1.3.10 Программирование устройств

1.4 Основные типы интерфейсов МК

1.4.1 Подключение переключателей и подавление «звона» контактов

1.4.2 Световая индикация

1.4.3 Семисегментный индикатор

2. Среды для разработки устройства

2.1 NI Multisim - интерактивный эмулятор схем

2.1.1 Обзор компонентов

2.1.2 Интерактивные компоненты

2.1.3 Характеристики компонентов

2.1.4 Генератор сигналов

2.1.5 Осциллографы

2.2 Proteus - среда для проектирования и отладки

2.3 sPlan - черчение электронных схем

3. Разработка шахматных часов на микроконтроллере

3.1 Выбор компонентов

3.2 Разработка схемы и программного кода

3.2.1 Обработка прерываний

3.2.2 Вывод на индикаторы

3.2.3 Обработка нажатий

3.2.4 Тестирование прототипа на макетной плате

3.3 Реализация шахматных часов на микроконтроллере

3.3.1 Разработка печатной платы

3.3.2 Изготовление печатной платы

Заключение

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

Приложение А

Введение


Шахматные часы стали использовать для игры в шахматы сравнительно недавно - лишь во второй половине 19 века. До этого играли в шахматы без часов, и нередко шахматные партии крайне затягивались [1].

Привычные всем механические шахматные часы впервые были сконструированы в 1900 году. Часы имели два циферблата (для каждого из игроков), стрелки, фиксирующие падение флажка и флажок. Часы заводились вручную. Форма и марки часов с течением лет менялись. В советское время очень популярной маркой были шахматные часы Янтарь. В последние годы лучшими среди механических часов считаются INSA [1].

Наряду с механическими часами большую популярность завоевали кварцевые шахматные часы. Они по функциональности и внешнему виду не отличаются от механических, но более долговечны и точны. Для их работы в течение года хватит одной пальчиковой батарейки (поставляется в комплекте). Самые популярные кварцевые шахматные часы - это Кварц “Классика”. Эти часы продаются по всему миру. Например, в США они являются стандартом часов Шахматной Федерации США [1].

Целью данного дипломного проекта является изготовление шахматных часов на основе микроконтроллера.

Микроконтроллер (МК) - это компьютер, разместившийся в одной микросхеме. Отсюда и его основные привлекательные качества: малые габариты; высокие производительность, надежность и способность быть адаптированным для выполнения самых различных задач [2].

Микроконтроллер помимо центрального процессора (ЦП) содержит память и многочисленные устройства ввода/вывода: аналого-цифровые преобразователи, последовательные и параллельные каналы передачи информации, таймеры реального времени, широтно-импульсные модуляторы (ШИМ), генераторы программируемых импульсов и т.д. Его основное назначение - использование в системах автоматического управления, встроенных в самые различные устройства: кредитные карточки, фотоаппараты, сотовые телефоны, музыкальные центры, телевизоры, видеомагнитофоны и видеокамеры, стиральные машины, микроволновые печи, системы охранной сигнализации, системы зажигания бензиновых двигателей, электроприводы локомотивов, ядерные реакторы и многое другое.

Достаточно широкое распространение имеют МК фирмы ATMEL, функциональные возможности которых охватывают все перечисленные задачи [3].

Задачи дипломного проекта заключаются в следующем:

теоретический анализ материалов о работе шахматных часов, микроконтроллеров, а также изучение различных сред для разработки схемы;

моделирование платы при помощи программы Proteus с ее последующим тестированием;

изготовление печатной платы.

1. Шахматные часы и современные микроконтроллеры

.1 Схема шахматных часов на основе кварцевых будильников


При проведении соревнований по шахматам необходим учет времени, которое берет на раздумье перед ходом каждый игрок. Для этого существуют специальные шахматные часы. У них два циферблата и общий механизм, еще есть две кнопки - одна для одного игрока, другая для второго. Сделав ход, игрок нажимает свою кнопку, чем выключает свой часовой механизм и включает часовой механизм противника. Таким образом, можно будет по показанию циферблатов определить, сколько времени потратил на раздумье каждый игрок [4].

К сожалению, шахматные часы в продаже встречаются нечасто, но их можно сделать из двух недорогих и доступных китайских кварцевых будильников. Казалось бы, все просто, - нужно соединить будильники механически вместе и установить какой-нибудь двухкнопочный переключатель с зависимой фиксацией [4].

Рисунок 1 - Кнопки между часами

Но, проблема в том, что у популярных переключателей типа П2К или ПКН кнопки расположены слишком близко, и такой переключатель приходится располагать между корпусами двух будильников (рисунок 1). Это очень неудобно, так как, нажимая один переключатель легко задеть второй. Необходимо, чтобы кнопки располагались на максимальном удалении так, как показано на рисунке 2. Но здесь опять возникает проблема с механикой [4].

Рисунок 2 - Кнопки по бокам часов

А что если вообще отказаться от механики и вспомнить старую схему коридорных выключателей? В этом случае то, какой из будильников включен, а какой выключен будет зависеть не от конкретного положения переключателя, а от того, переключатели находятся в одинаковых положениях или в разных (рисунок 3). S2 и S3 - это модульные однокнопочные П2К с независимой фиксацией. S1 - общий выключатель [4].

Рисунок 3 - Схема по переключению будильников

Перед началом игры S2 и S3 отжаты, S1 - выключен. Объявляя о начале игры, судья включает S1. Сразу же начинает работать будильник «Б» (для игрока, играющего белыми). Сделав ход, игрок белыми нажимает кнопку переключателя S2. Теперь S2 и S3 в разных положениях.

Питание отключается от будильника «Б» и переключается на будильник «Ч» (для игрока черными). Сделав ход, игрок черными нажимает S3. Теперь оба переключателя S2 и S3 опять оказываются в одинаковом положении. Будильник «Ч» выключается, но включается «Б». Сделав ход, игрок белыми снова нажимает S2, на этот раз кнопка S2 отжимается и переключатели оказываются в разном положении. Включается будильник «Ч». И так далее.

Таким образом, когда кнопки переключателей S2 и S3 в одинаковых положениях (не важно, нажаты или отжаты, важно, что в одинаковых положениях) включен будильник «Б», а будильник «Ч» выключен. Когда кнопки переключателей S2 и S3 в разных положениях (все равно в каких, но только бы в разных), включается «Ч», но выключается «Б».

Часто современные шахматные часы делаются на микроконтроллерах различными производителями, правда, стоят они очень недешево. В данном проекте я реализую собственные шахматные часы на микроконтроллере, но прежде разберём, что это такое и как оно работает [4].

.2 Основные типы микроконтроллеров и их архитектура


Если представить все типы современных микроконтроллеров (МК), то можно поразиться огромным количеством разнообразных приборов этого класса, доступных потребителю. Однако все эти приоры можно разделить на следующие основные типы:

Встраиваемые (embedded) 8-разрядные МК;

16- и 32-разрядные МК;

Цифровые сигнальные процессоры.

Промышленностью выпускаются очень широкая номенклатура встраиваемых МК. В них все необходимые ресурсы (память, устройства ввода-вывода и т.д.) располагаются на одном кристалле с процессорным ядром [3]. Если подать питание и тактовые импульсы на соответствующие входы МК, то можно сказать, что он как бы «оживет» и с ним можно будет работать. Обычно МК содержат значительное число вспомогательных устройств, благодаря чему обеспечивается их включение в реальную систему с использованием минимального количества дополнительных компонентов. В состав этих МК входят:

Схема начального запуска процессора (Reset);

Генератор тактовых импульсов;

Центральный процессор;

Память программ (E(E)PROM) и программный интерфейс;

Средства ввода/вывода данных;

Таймеры, фиксирующие число командных циклов.

Общая структура МК показана на рис. 1. Эта структура дает представление о том, как МК связывается с внешним миром.

Более сложные встраиваемые МК могут дополнительно реализовывать следующие возможности:

- Встроенный монитор/отладчик программ;

Внутренние средства программирования памяти программ (ROM);

Обработка прерываний от различных источников;

Аналоговый ввод/вывод;

Последовательный ввод/вывод (синхронный и асинхронный);

Параллельный ввод/вывод (включая интерфейс с компьютером);

Подключение внешней памяти (микропроцессорный режим).

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

Рисунок 4 - Структура микроконтроллера

Некоторые МК (особенно 16- и 32-разрядные) используют только внешнюю память, которая включает в себя как память программ (ROM), так и некоторый объем памяти данных (RAM), требуемый для данного применения. Они применяются в системах, где требуется большой объем памяти и относительное не большое количество устройств (портов) ввода/вывода. Типичным примером применения такого МК с внешней памятью является котроллер жесткого диска (HDD) с буферной кэш-памятью, который обеспечивает промежуточное хранение и распределение больших объемов данных (порядка нескольких мегабайт). Внешняя память дает возможность такому микроконтроллеру работать с более высокой скоростью, чем встраиваемый МК.

Цифровые сигнальные процессоры (DSP) - относительно новая категория процессоров. Назначение DSP состоит в том, чтобы получать текущие данные от аналоговой системы, обрабатывать данные и формировать соответствующий отклик в реальном масштабе времени. Они обычно входят в состав систем, используясь в качестве устройств управления внешним оборудованием, и не предназначены для автономного применения.

.2.1 Система команд

В зависимости от числа используемых кодов операций системы команд МК можно разделить на две группы: CISC и RISC. Термин CISC означает сложную систему команд и является аббревиатурой английского определения Complex Instruction Set Computer. Аналогично термин RISC означает сокращенную систему команд и происходит от английского Reduce Instruction Set Computer. Систему команд МК 8051 можно отнести к типу CISC. Однако, не смотря на широкую распространенность этих понятий, необходимо признать, что сами названия не отражают главного различия между системами команд CISC и RISC. Основная идея RISC архитектуры - это тщательный подбор таких комбинаций кодов операций, которые можно было бы выполнить за один такт тактового генератора. Основной выигрыш от такого подхода - резкое упрощение аппаратной реализации ЦП и возможность значительно повысить его производительность.

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

Однако в настоящее время грань между CISC и RISC архитектурой стремительно стирается. Например, МК семейства AVR фирмы Atmel имеют систему команд из 120 инструкций, что соответствует типу CISC. Однако большинство из них выполняется за один такт, что является признаком RISC архитектуры. Сегодня принято считать, что признаком RISC архитектуры является выполнение команд за один такт тактового генератора. Число команд само по себе значения уже не имеет.

.2.2 Типы памяти МК

Можно выделить три основных вида памяти, используемой в МК:

а) память программ;

б) память данных;

в) регистры МК.

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

Для хранения программ обычно служит один из видов постоянной памяти: ROM (масочные ПЗУ), PROM (однократно программируемые ПЗУ), EPROM (электрически программируемые ПЗУ с ультрафиолетовым стиранием) или EEPROM (ПЗУ с электрической записью и стиранием, к этому виду также относятся современные микросхемы Flash-памяти). Все эти виды памяти являются энергонезависимыми - это означает, что содержимое памяти сохраняется после выключения питания МК.

Многократно программируемые ПЗУ - EPROM и EEPROM (Electrically Erasable Programmable Memory) подразделяются на ПЗУ со стиранием ультрафиолетовым (УФ) облучением (выпускаются в корпусах с окном), и МК с электрически перепрограммируемой памятью, соответственно.

В настоящее время протоколы программирования современной EEPROM памяти позволяют выполнять программирование МК непосредственно в составе системы, где он работает. Такой способ программирования получил название - ISP (In System Programming). И теперь можно периодически обновлять программное обеспечение МК без удаления из платы. Это дает огромный выигрыш на начальных этапах разработки систем на базе МК или в процессе их изучения, когда масса времени уходит на многократный поиск причин неработоспособности системы и выполнение последующих циклов стирания-программирования памяти программ.

Функционально Flash-память мало отличается от EEPROM. Основное различие состоит в способности стирания записанной информации. В памяти EEPROM стирание производится отдельно для каждой ячейки, а во Flash-памяти стирание осуществляется целыми блоками.

ОЗУ (RAM) - оперативное запоминающее устройство, используется для хранения данных. Эту память называют еще памятью данных. Число циклов чтения и записи в ОЗУ неограниченно, но при отключение питания вся информация теряется.

Источник: https://www.bibliofond.ru/detail.aspx?id=863615