Проектирование и создание шахматных часов с функцией будильника на основе микроконтроллера. Дипломная (ВКР). Информатика, ВТ, телекоммуникации.

Проектирование и создание шахматных часов с функцией будильника на основе микроконтроллера. Дипломная (ВКР). Информатика, ВТ, телекоммуникации.




🛑 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻



























































Вы можете узнать стоимость помощи в написании студенческой работы.


Помощь в написании работы, которую точно примут!

Похожие работы на - Проектирование и создание шахматных часов с функцией будильника на основе микроконтроллера
Нужна качественная работа без плагиата?

Не нашел материал для своей работы?


Поможем написать качественную работу Без плагиата!

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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




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




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




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




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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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




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


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


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


В зависимости от числа используемых кодов операций системы команд МК
можно разделить на две группы: 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 архитектуры является
выполнение команд за один такт тактового генератора. Число команд само по себе
значения уже не имеет.


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


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


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


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


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


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


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




Во многих приложениях используется батарейное питание МК, а в некоторых
случаях применяются даже конденсаторы большой емкости, которые обеспечивают
сохранение работоспособности при кратковременных отключениях питания. Поэтому
проблема энергопотребления (энергосбережения) весьма актуальна для МК. Так как
практически все современные МК производятся по КМОП технологии, то они
потребляют значительно меньше мощности, чем ранее выпускавшиеся биполярные или n-МОП - микроконтроллеры.


На рисунке 5 изображена схема сброса. Эту схему лучшего всего
использовать в случаях, когда гарантировано поддержание напряжения питания в
рабочем диапазоне. Кнопка RESET
используется в процессе разработки устройств для сброса МК в начальное
состояние (рисунок 5):




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


Следует обратить внимание на то, что командные циклы и такты
синхронизации не одно и то же. Командный цикл состоит обычно из нескольких
тактов, которые необходимы процессору для выполнения команды. На рисунке 6
показан командный цикл, состоящий из четырех тактов:








Рисунок 6 - Командный цикл и машинные такты




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


Программный счетчик (Program Counter) или
счетчик команд (СК) используется для указания следующей команды выполняемой
программы. Реализация этой функции значительно усложняется, когда необходимо
сохранить содержимое СК при вызове подпрограмм и обработке запросов прерывания
или обеспечить ветвление программы. СК представляет собой счетчик с
параллельным вводом/выводом. В процессорах с Принстонской архитектурой
содержимое СК поступает по шине данных в схему управления памятью, указывая
адрес считываемой команды. Часто СК входит в состав схемы управления памятью -
это позволяет избежать передачи адреса по внутренней шине данных. Важные
особенности функционирования СК - параллельная загрузка нового содержимого,
поступающего с шины данных, возможность сброса (возврат к адресу первой команды
программы), реализация инкремента. В 8-разрядных МК разрядность СК обычно
больше, чем 8 бит. При загрузке в СК нового адреса, он поступает по шине данных
частями по 8-бит, что требует выполнения дополнительных машинных циклов. Чтобы
сократить время загрузки СК, некоторые МК имеют команды ветвления, при которых
загружается только 8 младших разрядов адреса, а старшие разряды остаются без
изменения. При выполнении такой команды достаточно передать по шине данных
только один байт, тогда как для загрузки полного 16-разрядного адреса требуется
пересылка двух байт.


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


Арифметико-логическое устройство (АЛУ) процессора используется для
выполнения всех математических операций в программе. Это операции включают
сложение, вычитание, логическое И, логическое ИЛИ, сдвиг содержимого регистров
и установку содержимого регистра состояния в соответствии с полученным
результатами. АЛУ не используется при чтении или записи данных или команд - оно
служит только для обработки данных.


АЛУ можно представить как аппаратный блок, который обрабатывает два слова
данных (операнды) и сохраняет полученный результат (рисунок 7). Как вводятся
операнды в АЛУ и куда поступает результат зависит от конкретного типа МК. В
этом состоит одно из основных различий между разными типами процессоров и
системами команд. Некоторые МК выбирают один операнд из регистра-аккумулятора и
сохраняют результат также в аккумуляторе. Другие МК позволяют использовать
различные источники операндов и места размещения результатов.




АЛУ обычно работает только с положительными целыми числами. Однако при
выполнении вычитания получаются отрицательные числа, если вычитаемое больше
уменьшаемого. Для представления отрицательных чисел используется дополнительный
код - «дополнение до двух». Это необходимо учитывать при знакомстве с работой
АЛУ.


Вместо вычитания одного числа из другого, происходит добавление
отрицательного числа:




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




где ^ - операция «исключающее или».


Сложность АЛУ во многом определяет сложность всего МК в целом. Часто над
созданием АЛУ работает группа разработчиков, сравнимая по составу с той,
которая работает над остальной частью микропроцессора или микроконтроллера. От
того, как работает АЛУ, зависит функционирование процессора, входящего в состав
МК, а значит и всего МК в целом.


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


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


Другим способом передачи параметров является их сохранение в регистрах
процессора или в памяти данных в качестве специальных переменных. Передача
параметров через регистры сокращает число регистров, доступных при выполнении
функции. Сохранение же параметров в виде специальных переменных уменьшает объем
памяти, доступной для использования программой. Данное ограничение может быть
весьма существенно для МК. Обычно значения возвращаемых параметров загружаются
в регистры процессора, т.к. это наиболее быстрый и эффективный способ передачи
данных.


Прерывание - это запуск специальной подпрограммы (называемой
«обработчиком прерывания» или «программой обслуживания прерывания»), который
вызывается сигналом аппаратуры. На время выполнения этой подпрограммы
реализация текущей программы останавливается (рисунок 8). Термин «запрос на
прерывание» (interrupt request) используется потому, что иногда программа
отказывается подтвердить прерывание и выполнить обработчик прерывания
немедленно.




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


Обработчик всегда обеспечивает следующую последовательность действий:


1. Сохранить содержимое регистров
контекста;


2. Сбросить контроллер прерываний и
оборудование, вызвавшее запрос;


4. Восстановить содержимое регистров
контекста;


5. Вернуться к прерванной программе.


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


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


Вложенные прерывания сложны некоторым типам МК, которые не имеют стека.
Эти прерывания так же могут вызывать проблемы, связанные с переполнением стека.


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


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


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


«Вектор прерывания» - это адрес, который загружается в СК при переходе к
обработчику прерывания. Существует несколько типов векторов. Адрес, который
загружается в СК при запуске МК (RESET)
называется «вектор сброса». Для различных прерываний могут быть заданы
различные вектора. Но иногда различным прерываниям назначается один вектор. Это
не должно вызвать проблем при работе с МК, так как чаще всего он исполняет одну
единственную программу. В МК, где аппаратная часть хорошо известна, не должно
возникнуть каких либо проблем при совместном использовании векторов прерываний.


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


Таймеры в микропроцессорных системах используются не только для
обеспечения заданной задержки, но и для решения гораздо более широкого круга
задач. Обычно для переключения таймера используют тактовые импульсы процессора.
Загрузив в таймер начальное значение, можно отсчитывать определенные интервалы
времени, фиксируя окончание интервала по моменту переполнения таймера. Часто
перед таймером включают предварительный делитель тактовой частоты, чтобы иметь возможность
отсчитывать более длинные интервалы времени. Делитель обеспечивает инкремент
содержимого таймера после поступления определенного числа тактовых импульсов.


Их можно использовать для точного формирования временных интервалов,
подсчета импульсов на выходах МК, формирования последовательности импульсов,
тактирования приемопередатчика последовательного канала связи. Таймеры/счетчики
способны вырабатывать запросы прерываний, переключая ЦП на их обслуживание по
событиям и освобождая его от необходимости периодического опроса состояний
таймеров. Поскольку основное применение МК находят в системах реального
времени, таймеры/счетчики являются их обязательным элементом. В некоторых
модификациях число таймеров достигает 32.


Основной интерфейс между МК и внешними устройствами реализуется через
параллельные порты ввода/вывода. Во многих МК выводы этих портов служат также
для выполнения других функций, например последовательного или аналогового
ввода/вывода.


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


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


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


Наиболее распространенный вид связи между различными
электронно-вычислительными системами - это последовательный обмен. В этом
случае байт данных передается по единственному проводу бит за битом с
обеспечением синхронизации между приемником и источником данных. Очевидное
преимущество последовательной передачи данных состоит в том, что она требует
небольшого количества линий связи.


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


Часто в МК встраивается аналоговый компаратор напряжений. Компаратор
представляет собой простую схему, которая, которая сравнивает два напряжения.
Обычно один сигнал называют входным, а другой опорным. На выходе
устанавливается «1», если входное напряжение больше, чем опорное (рисунок 9).
Этот способ наиболее удобно использовать в таких устройствах, как термостаты,
где необходимо контролировать достижение определенного уровня измеряемой
величины, которая задается значением входного напряжения.




Рисунок 9 - Сигналы на входе и выходе аналогового компаратора


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


Часто оборудования для программирования оказывается слишком дорогим,
особенно для радиолюбителей и предприятий малого бизнеса. Но в некоторых
случаях для программирования требуется весьма простое и доступное оборудование.
К примеру, некоторые модели PIC и AVR микроконтроллеров программируются
очень легко. Существует также устройства, которые не требуют оборудования для
программирования, на пример, МК Basic STAMP, или имеют
встроенный аппаратно-программный блок, избавляющий от необходимости
исп
  Дипломная (ВКР). Информатика, ВТ, телекоммуникации.
Чек Лист Декабрьское Сочинение
Реферат по теме Олово и его основные сплавы
Курсовая Работа Бизнес План Салаватстекло
Мировые Природные Ресурсы Реферат
Дипломная работа по теме Вторичная переработка металлов
Сливают Ли Темы Итогового Сочинения
Реферат по теме Франций
Доклад: Маликов Дмитрий Юрьевич
Гоголь Собрание Сочинений С Иллюстрациями Купить
Реферат по теме "Новая драма" у Бернарда Шоу
Доклад по теме Деятельность транснациональной корпорации «Nestle»
Диффузная Материя Реферат Астрономия На 15 Страниц
Реферат по теме Сварка стали
Реферат Образец Гост
Курсовая работа: Ситуационные методы влияния на презентации. Скачать бесплатно и без регистрации
Контрольная Работа Деление Натуральных Чисел
Единый налог на вмененный доход.
Сочинение: Афанасий фет - Любовь и природа в лирике а. а. фета
Реферат: Welcome To Disney
Контрольная работа по теме Організація праці менеджера
Дипломная работа: Природа и человек в лирике Пастернака
Реферат: Как понять результаты анализов
Курсовая работа: Миграционные процессы в регионе, современные оценки и проблемы регулирования

Report Page