Разработка микропроцессорной системы контроля и управления доступом

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,3 Мб
  • Опубликовано:
    2015-07-01
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка микропроцессорной системы контроля и управления доступом

СОДЕРЖАНИЕ

Введение

Анализ существующих систем контроля и управления доступом (СКУД)

Разработка структурной схемы

Описание работы устройства

Построение алгоритма работы СКУД

Разработка программы работы СКУД

Выбор и обоснование эмулятора МПС для отладки программы работы СКУД

Отладка программы СКУД

Заключение

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

Приложение А - Алгоритм программы работы системы контроля и управления доступом

Приложение Б - Текст программы системы контроля и управления доступом

ВВЕДЕНИЕ

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

Для идентификации личности современные электронные систем контроля и управления доступом (СКУД) используют устройства нескольких типов. Наиболее распространенными являются:

кодонаборные устройства ПИН-кода (кнопочные клавиатуры);

считыватели бесконтактных смарт-карт (интерфейс Виганда);

считыватели проксимити-карт;

считыватели ключа «тач-мемори»;

считыватели штрих-кодов;

биометрические считыватели.

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

Микропроцессорная система (МПС) будет разработана на основе микропроцессора серии КР580ВМ80а. Данный процессор был выбран потому, что он имеет раздельные 16-разрядный канал адреса и 8-разрядный канал данных, что обеспечивает прямую адресацию внешней памяти объёмом до 65536 байт, 256 устройств ввода и 256 устройств вывода.

1 АНАЛИЗ СУЩЕСТВУЮЩИХ СИСТЕМ КОНТРОЛЯ И УПРАВЛЕНИЯ ДОСТУПОМ

Согласно ГОСТ 51241-2008 “Средства и системы контроля и управления доступом. Классификация. Общие технические требования. Методы испытаний”, СКУД - это совокупность средств контроля и управления доступом, обладающих технической, информационной, программной и эксплуатационной совместимостью.

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

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

(Proximity карта). Но возможно и применение магнитных карт или т.н. Touch memory устройств. Этот идентификатор одновременно является пропуском на проходной организации и ключом от тех помещений, куда сотруднику разрешен доступ. Для прохода через турникет или входа в ответственное помещение работники предприятия должны поднести свою карту доступа к считывателю, после чего считыватель передает код предъявленной карты в контроллер, а контроллер доступа принимает решение о разрешении или запрете прохода на основании заложенной в него информации. В случае если доступ разрешен, система контроля доступа автоматически разблокирует турникет или замок на двери. Так, например, контроллер СКУД может быть запрограммирован на пропуск конкретных сотрудников в определенные помещения только в заданные промежутки времени, скажем, с 9 до 18 часов. К контроллеру СКУД также можно подключить охранную сигнализацию, в состав которой входят охранные датчики. Все события о проходах через контрольные пункты фиксируются в памяти системы управления доступом и могут использоваться для автоматизированного учета рабочего времени, а также для получения отчетов по дисциплине труда или для возможных служебных расследований на предприятии. Также с помощью СКУД можно осуществлять контроль въезда автотранспорта на территорию объекта, в этом случае после предъявления персонального идентификатора происходит открытие ворот или подъем шлагбаума.

В наше время существует большое количество СКУД систем. Анализ существующих компьютерных систем поможет определить их достоинства и недостатки.

СКУД на основе идентификации по геометрическому строению руки и пальцев

Эти способы личной идентификации очень хорошо известны. Идентификация по форме руки была доступна на протяжении 20 лет. Для того, чтобы идентифицировать человека, системе достаточно измерить либо физические характеристики пальцев, либо руки, такие как длина, ширина, толщина и поверхностные области руки. Одной интересной характеристикой этой технологии является малый объем биометрического образца, необходимого для идентификации (несколько байтов). Идентификация по руке уже доказала свои преимущества в большом числе применений.

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

В биометрике выделяются два основных метода распознавания по геометрии кисти руки:

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

На рисунке 1.1 показаны контрольные (характеристические) точки силуэта руки и 17 исходных геометрических признаков руки, в данном случае отмеченные отрезками прямых линий, которые не входят в силуэты кисти. Как видно, исходными биометрическими признаками руки являются ширина ладони, радиус вписанной в ладонь окружности, длины пальцев (определяемые как расстояния от выделенных верхних контрольных точек до середин линий, соединяющих нижние контрольные точки), ширина пальцев и высота кисти руки в трех пунктах, отмеченных линиями а, b и c.

Рисунок 1 - Контрольные (характеристические) точки силуэта руки

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

Три первые характеристики - это ширина указательного пальца 1, высота указательного пальца 2 и длина среднего пальца 3, оцениваемая так, как показано на рисунке 1.2. Характеристика 4, в рассматриваемом случае, представляет собой изображение складок кожи на сгибе между средней и нижней фалангами указательного пальца. Вся информация о руке в рассматриваемом классе систем может быть записана не более чем 9 байтами.

Рисунок 2 - Геометрические и образцовые характеристики силуэта руки

В данной курсовой работе будет разработана простейшая СКУД рассчитанная на контроль одной двери с проверкой биометрического параметра: голос. Мой выбор пал именно на этот способ проверки пользователя потому, что он является одним из самых интересных.

РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ

В состав проектируемой системы входят:

-       Центральный процессор (ЦП)

-       Оперативное запоминающее устройство (ОЗУ)

-       Постоянное запоминающее устройство (ПЗУ)

-       Программируемый параллельный интерфейс (ППИ)

-       Аналого-цифровой преобразователь (АЦП)

-       Системный контроллер

-       Микрофон

-       Прочие элементы

Все части системы соединены по средствам общей шины. Наличие общей шины существенно упрощает реализацию СКУД, позволяет легко менять состав и конфигурацию устройства. Благодаря этим свойствам шинная архитектура получила широкое распространение в мини и микро ЭВМ. Вместе с тем, именно с шиной связан и основной недостаток архитектуры: в каждый момент передавать информацию по шине может только одно устройство. Основную нагрузку на шину создают обмены между процессором и памятью, связанные с извлечением из памяти команд и данных и записью в память результатов вычислений. На операции ввода/вывода остается лишь часть пропускной способности шины. Практика показывает, что даже при достаточно быстрой шине для 90% приложений этих остаточных ресурсов обычно не хватает, особенно в случае ввода или вывода больших массивов данных.

Общая шина состоит из:

-    шина данных - обеспечивает обмен данными между всеми основными блоками ЭВМ.

-       шина адреса - используется для задания адреса памяти. Это может быть адрес в ОЗУ, ПЗУ или адрес памяти контроллера внешних устройств.

Рисунок 3 - Структурная схема СКУД

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

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

В данном курсовом проекте Устройство построено на основе микропроцессора КР580ВМ80а.

Рисунок 4 - УГО микропроцессора КР580ВМ80а

КР580ВМ80А - 8-разрядный микропроцессор.

КР580ВМ80А - функционально законченный однокристальный параллельный микропроцессор с фиксированной системой команд, применяется в качестве центрального процессора в устройствах обработки данных и управления.

Микропроцессор имеет раздельные 16-разрядный канал адреса и 8-разрядный канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти объёмом до 65536 байт, 256 устройств ввода и 256 устройств вывода.

Это - функциональный аналог микропроцессора Intel i8080A (1974 год <https://ru.wikipedia.org/wiki/1974_%D0%B3%D0%BE%D0%B4>).

Рисунок 5 - Архитектура микропроцессора КР580ВМ80а

.Программируемый параллельный интерфейс

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

3. Оперативная память (ОП)

ОП представляет собой единственный вид памяти, к которой ЦП может обращаться непосредственно (исключение составляют лишь регистры центрального процессора). Информация, хранящаяся на внешних ЗУ, становится доступной процессору только после того, как будет переписана в основную память.

Основную память образуют запоминающие устройства с произвольным доступом. Основная память может включать в себя два типа устройств: оперативные запоминающие устройства (ОЗУ) и постоянные запоминающие устройства (ПЗУ).

Рисунок 6 - Внутренняя структура ППИ

Преимущественную долю основной памяти образует ОЗУ (RAM - Random Access Memory), называемое оперативным, потому что оно допускает как запись, так и считывание информации, причем обе операции выполняются однотипно, практически с одной и той же скоростью, и производятся с помощью электрических сигналов. Для большинства типов полупроводниковых ОЗУ характерна энергозависимость даже при кратковременном прерывании питания хранимая информация теряется. Микросхема ОЗУ должна быть постоянно подключена к источнику питания и поэтому может использоваться только как временная память.

Вторую группу полупроводниковых ЗУ основной памяти образуют энергонезависимые микросхемы ПЗУ (ROM - Read-Only Memory). ПЗУ обеспечивает считывание информации, но не допускает ее изменения (в ряде случаев информация в ПЗУ может быть изменена, но этот процесс сильно отличается от считывания и требует значительно большего времени).

. Дельта-сигма аналого-цифровой (АЦП с балансировкой заряда)

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

Принцип действия данного АЦП несколько более сложен, чем у других типов АЦП. Его суть в том, что входное напряжение сравнивается со значением напряжения, накопленным интегратором. На вход интегратора подаются импульсы положительной или отрицательной полярности, в зависимости от результата сравнения. Таким образом, данный АЦП представляет собой простую следящую систему: напряжение на выходе интегратора «отслеживает» входное напряжение Результатом работы данной схемы является поток нулей и единиц на выходе компаратора, который затем пропускается через цифровой ФНЧ, в результате получается N-битный результат.

Рисунок 7 - Структурная схема дельта-сигма АЦП

. Системный контроллер. Это контроллер, который хранит слово состояния процессора (ССП). ССП - это такой код, который показывает микропроцессорной системе что будет происходить с ней в каждом машинном цикле.

Для КР580ВМ80А это ССП называется байтом состояния процессора (БСП). Каждый БСП фиксируется в системном контроллере.

Системный контроллер на базе МП КР580ВМ80А включает в свой состав регистр и комбинационную схему.

ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА

Система контроля и управления доступом является совокупностью технических и программных средств, предназначена для автоматизированного контроля доступа в отдельные зоны объекта. Обычно СКУД используются как одна из составляющих интегрированной системы безопасности. Наиболее распространенная интеграция - с системой охранной сигнализации.

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

Подробное описание работы данной СКУД:

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

Если кнопка была нажата снаружи, то МП проверяет наличие в памяти эталонной записи. Если её нет, то он посылает серию сигналов на ППИ для её записи, а именно: на вход «Пуск» АЦП поступает с порта С сигнал, АЦП начинает преобразовывать напряжение поступающие на него с усилителя напряжения микрофона. После преобразования напряжения АЦП вырабатывает сигнал «Готов», который поступает на порт С ППИ. МП проверяет наличие сигнала «Готов» с порта С и если он есть, то поступает сигнал «чтение» , который попадает на вход АЦП. АЦП передает преобразованные данные в порт А ППИ. Данное число отправляется в МП, а из него в память. Процедура считывания повторяется 255 раз.

Если эталонная дорожка записана, то МП подаёт серию сигналов для записи проверяемой дорожки способом описанным выше.

ПОСТРОЕНИЕ АЛГОРИТМА РАБОТЫ СКУД

Блок-схема - распространенный тип схем (графических моделей <https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C>), описывающих алгоритмы <https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC> или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.

Таблица 1. Основные элементы блок-схемы

Наименование

Обозначение

Функция

Блок начало-конец (пуск-остановка)

 <https://commons.wikimedia.org/wiki/File:Flowchart_start_stop.png?uselang=ru>Элемент отображает выход во внешнюю среду и вход из внешней среды (наиболее частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие.


Блок действия

 <https://commons.wikimedia.org/wiki/File:Flowchart_process.png?uselang=ru>Выполнение одной или нескольких операций, обработка данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции, например, операциюприсваивания: a = 10*b + c.


Логический блок (блок условия)

 <https://commons.wikimedia.org/wiki/File:Flowchart_selection.png?uselang=ru>Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый выход обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (чаще нижней) элемента, которая затем разветвляется. Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути. Примеры решения: в общем случае − сравнение (три выхода: >, <, =); в программировании − условные операторы if (два выхода: true, false) и case(множество выходов).


Предопределённый процесс

 <https://commons.wikimedia.org/wiki/File:Flowchart_preprocess.png?uselang=ru>Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании − вызов процедуры или функции.


Данные (ввод-вывод)

 <https://commons.wikimedia.org/wiki/File:Flowchart_io.png?uselang=ru>Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет носителя данных (для указания типа носителя данных используются специфические символы).


Граница цикла

 <https://commons.wikimedia.org/wiki/File:Flowchart_loop.png?uselang=ru>Символ состоит из двух частей − соответственно, начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними. Условия цикла и приращения записываются внутри символа начала или конца цикла − в зависимости от типа организации цикла. Часто для изображения на блок-схеме цикла вместо данного символа используют символ условия, указывая в нём решение, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла).


Соединитель

 <https://commons.wikimedia.org/wiki/File:Flowchart_connector.png?uselang=ru>Символ отображает вход в часть схемы и выход из другой части этой схемы. Используется для обрыва линии и продолжения её в другом месте (для избежания излишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц). Соответствующие соединительные символы должны иметь одинаковое (при том уникальное) обозначение.


Комментарий

 <https://commons.wikimedia.org/wiki/File:Flowchart_note.png?uselang=ru>Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки и охватывается ей по всей высоте. Пунктирная линия идет к описываемому элементу, либо группе элементов (при этом группа выделяется замкнутой пунктирной линией). Также символ комментария следует использовать в тех случаях, когда объём текста, помещаемого внутри некоего символа (например, символ процесса, символ данных и др.), превышает размер самого этого символа.


В блок-схеме к своей программе я использовал блок начала/конца, действия и логический.

Рисунок 8 - блок-схема программы СКУД

РАЗРАБОТКА ПРОГРАММЫ РАБОТЫ СКУД

Язык ассемблера - машинно-ориентированный язык низкого уровня <https://ru.wikipedia.org/wiki/%D0%9D%D0%B8%D0%B7%D0%BA%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%D1%8B%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F> с командами, обычно соответствующими командам машины <https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8>. Это система обозначений, используемая для представления в удобочитаемой форме программ, записанных в машинном коде. Язык ассемблера позволяет программисту пользоваться алфавитными мнемоническими кодами операций, по своему усмотрению присваивать символические имена регистрам ЭВМ <https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%B0> и памяти, а также задавать удобные для себя схемы адресации <https://ru.wikipedia.org/wiki/%D0%90%D0%B4%D1%80%D0%B5%D1%81%D0%B0%D1%86%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8> (например, индексную или косвенную). Кроме того, он позволяет использовать различные системы счисления (например, десятичную <https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D1%81%D1%8F%D1%82%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F> или шестнадцатеричную <https://ru.wikipedia.org/wiki/%D0%A8%D0%B5%D1%81%D1%82%D0%BD%D0%B0%D0%B4%D1%86%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%81%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F>) для представления числовых констант и даёт возможность помечать строки программы метками с символическими именами с тем, чтобы к ним можно было обращаться (по именам, а не по адресам) из других частей программы (например, для передачи управления). Ассемблер создаётся при производстве МП, то есть для каждого МП свой язык.

Для микропроцессора КР580ВМ80А базовая система команд содержит 78 различных кодов, с модификацией это число возрастает до 240. Все команды МП делятся на 5 групп:

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

.        Арифметические команды. К ним относятся команды сложения, вычитания, увеличения или уменьшения содержимого регистров или ЯП.

.        Логические команды - это многоразрядная конъюнкция, дизъюнкция, логические сдвиги и т. д.

.        Команды передачи управления. Эти команды обеспечивают организацию разрывающихся или циклических процессов.

.        Команды ввода/вывода, управления стеком и другие вспомогательные команды.

Микропроцессор (МП) КР580ВМ80А с точки зрения программиста может быть представлен в виде модели, изображенной на рисунке 9. Модель включает перечень программно-доступных регистров микропроцессора:

шесть 8-битных регистров общего назначения B, C, D, E, H и L, которые при выполнении некоторых команд объединяются в 16-битные регистровые пары, обозначаемые по имени старшего регистра B, D и H;

основной рабочий регистр микропроцессора - 8-битный аккумулятор A, используемый по умолчанию во многих командах микропроцессора;

регистр признаков F, в котором при выполнении команд обработки данных в зависимости от полученного результата формируется 5 признаков:) S (Sign, M) - признак знака, устанавливаемый в 1 в случае отрицательного результата и сбрасываемый в 0 при положительном результате;)         Z (Zero) - признак нуля, устанавливаемый в 1 в случае нулевого результата и сбрасываемый в 0 при ненулевом результате;)        CY (Carry) - признак переноса (CY=1, если был перенос из старшего разряда результата при сложении или заем в старший разряд при вычитании, иначе CY=0);)         P (Parity) - признак четности, устанавливаемый в 1 в случае четного числа единицврезультатеисбрасываемыйв0принечетномчислеединиц;)       AC (Auxiliary carry)- признак полупереноса, т.е. переноса из младшей тетрады результата в старшую, используемый при обработке чисел в двоично-десятичном коде.

Рисунок 9 - Модель микропроцессора КР580ВМ80А

Микропроцессор КР580ВМ80А имеет четыре различных способа адресации данных, хранимых в памяти или в регистрах:

-       Прямая адресация. Второй и третий байты команды содержат адрес данных в памяти.

-       Регистровая адресация. В коде команды адресуется регистр или пара регистров, в которых хранятся данные.

-       Косвенно-регистровая адресация. Команда выбирает регистровую пару, в которой содержится адрес ячейки памяти.

-       Непосредственная адресация. Данные, которые могут быть 8- или 16- битными, представлены в теле команды - во втором и третьем байтах.

Для того, чтобы программы выполнялась быстрее и занимала меньше места, рекомендуется использовать косвенно-регистровою адресацию.

ВЫБОР И ОПИСАНИЕ ЭМУЛЯТОРА

Изучение структуры и принципов работы эмулятора (I80)

Методические указания по работе с эмулятором.

. Общий вид

После запуска эмулятора на экране монитора появляется главная страница эмулятора, представленная на рисунке 1.

1)      Область программы.

2)      Регистры, тут можно посмотреть содержимое регистров.

3)      Регистр флагов.

4)      Область данных, здесь мы записываем исходные данные и можем посмотреть содержимое ЯП.

5)      Стек.

Рисунок 10 - Главная страница

. Ввод программы в эмулятор

В данном эмуляторе, как и в предыдущем ввод программы (мнемоники) осуществляется путем «клика»

Ввод программы можно условно разделить на несколько этапов:

)        Вводим код команды (мнемонику) в третий столбик, в ячейку «NOP» .

Рисунок 11- Ввод команды

2)     
Таким образом последовательно вводим программу в эмулятор.

Рисунок 12 - Ввод программы

)        Для ввода исходных данных используем область данных, выбрав нужный нам адрес, вводим содержимое

Рисунок 13 - Ввод содержимого в ячейки памяти

)        После ввода программы и исходных данных проверяем содержимое регистров (чтобы не использовать данные из прошлых задач)

Рисунок 14 - Содержимое регистров

)        Начинаем выполнение программы, это можно сделать двумя способами: обычным запуском (F9) или пошагам (F8).

ОТЛАДКА ПРОГРАММЫ СКУД

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

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

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

ЗАКЛЮЧЕНИЕ

В результате проделанной работы была разработана система контроля и управлением доступом рассчитанная на контроль одной двери с проверкой биометрического параметра: голос. Максимальное время выполнения программы 423614,5 мкс, задействовано ячеек памяти 0400. СКУД от источника напряжения 5 В.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

микропроцессорный управление эмулятор сигнализация

1. Нестеров П. В. Микропроцессоры. Архитектура и ее оценка. М.: Высшая школа, 1984. 104 с.

. Уокерли Дж. Архитектура и программирование микроЭВМ: В 2-х кн. / Пер. с англ. М.: Мир, 1984. Кн. 1. 486 с. Кн. 2. 359 с.

. Хосе М. Ангуло. Микропроцессоры: Архитектура, программирование и проектирование систем. Тбилиси: Ганатлеба, 1989.

. МикроЭВМ / Пер. с англ., Под ред. А. Дирксена. М.: Энергоиздат, 1982. 328 с.

. Хоровиц П., Хилл У. Искусство схемотехники. М.: Мир,1983. Т. 2. 590 с.

. Вуд А. Микропроцессоры в вопросах и ответах / Пер. с англ. М.: Энергоатомиздат, 1985. 185 с.

. Басманов А. С., Широков Ю. Ф. Микропроцессоры и однокристальные микроЭВМ: Номенклатура и функциональные возможности / Под ред. В. Г. Домрачева. М.: Энергоатомиздат, 1988. 127 с.

. Мячев А. А., Иванов В. В. Интерфейсы вычислительных систем на базе мини- и микроЭВМ / Под ред. Наумова Б. Н. М.: Радио и связь, 1986.

. Интерфейсы систем обработки данных: Справочник / Под ред. А. А. Мячева. М.: Радио и связь, 1989.

. Байцер Б. Архитектура вычислительных комплексов. М.: Мир, 1974. Т.1,2.

. Водовозов В. М., Осипов В. О., Пожидаев А. К. Практическое введе-ние в информационные системы / ГЭТУ. СПб, 1995.

Интернет ресурсы:

1.      <https://ru.wikipedia.org>

.        <#"804115.files/image023.gif">

Приложение Б

Текст программы системы контроля и управления доступом

Адрес я.п. Н


Мнемоника

Операнд

Комментарий

0100 (m1) 0101

DB 01

IN

01

Загрузка содержимого порта 01 (С)

0102 0103 0104

CA 00 01

JZ

0100

Проверка флага Z (нуля), если = 1, то переход по адресу 0100

0105 0106

E6 01

ANI

01

Логическое И над содержимым аккумулятора и 01

0107 0108 0109

F2

JP

011E (M2)

Проверка флага Р (чётности), если = 1, то переход по адресу 011Е

010A 010B

3E 1C

MVI

A,1C

Загрузить в аккумулятор 1С

010C 010D

D3 01

OUT

01

Отправить содержимое аккумулятора в порт 01 (С)

010E 010F 0110

21 FF FF

LXI

H,FFFF

Загрузить в регистровую пару H FFFF

0111 (M3)

25

DCR

H

Уменьшить содержимое регистровой пары Н на 1

0112 0113 0114

CA

JZ

0118 (M3.1)

Проверка флага Z (нуля), если = 1, то переход по адресу 0118

0115 0116 0117

C3 11 01

JMP

0111 (M3)

Безусловный переход по адресу 0111

0118 (M3.1) 0118

3E 00

MVI

00

Загрузить в аккумулятор 10

0119 011A

D3 01

OUT

01

Отправить содержимое аккумулятора в порт 01 (С)

011B 011C 011D

C3 00 01

JMP

0100 (M1)

Безусловный переход по адресу 0100

011E (M2) 011F

3E 00

MVI

B,00

Загрузить в регистр В 00

0120 0121 0122

11 00 04

LXI

D,0200

Загрузить в регистровую пару D 0400

0123 0124

3E 64

MVI

C,64

Загрузить в регистр В 64

0125 (M5)

1A

LDAX

D

Содержимое ЯП, адрес которой хранится в регистровой паре D загрузить в аккумулятор

0126

80

ADD

B

Сложить содержимое аккумулятора с содержимым регистра В

0127

47

MOV

B,A

Содержимое аккумулятора отправить в регистр В

0128

13

INX

D

Содержимое регистровой пары D увеличить на 1

0129

0D

DCR

C

Уменьшить содержимое регистра С на 1

012A 012B 012C

CA 30 01

JZ

0130 (M4)

Проверка флага Z (нуля), если = 1, то переход по адресу 0130

012D 012E 012F

C3 25 01

JMP

0125 (M5)

Безусловный переход по адресу 0125

0130 (M4)

78

MOV

A,B

Содержимое регистра В отправить в аккумулятор

0131 0132

F6 00

ORI

00

Логическое ИЛИ над содержимым аккумулятора и 00

0133 0134 0135

CA 9D 01

JZ

019D (M6)

Проверка флага Z (нуля), если = 1, то переход по адресу 019D

0136

3E

MVI

B,FF

Загрузить в регистр В FF

0137 0138 0139

11 00 05

LXI

D,0300

Загрузить в регистровую пару D 0500

013A (M9)

3E

MVI

A,38

Загрузить в аккумулятор 38

013B 013C

D3 01

OUT

01

Отправить содержимое аккумулятора в порт 01 (С)

013D (M7) 013E

DB 01

IN

01

Загрузка содержимого порта 01 (С)

013F 0140

D6 58

58

Вычесть из аккумулятора 58

0141 0142 0143

CA 3D 01

JZ

013D (M7)

Проверка флага Z (нуля), если = 1, то переход по адресу 013D

0144 0145

DB 00

IN

00

Загрузка содержимого порта 00 (А)

0146

12

STAX

D

Содержимое аккумулятора отправить в ЯП, адрес которой хранится в регистровой паре D

0147

13

INX

D

Содержимое регистровой пары D увеличить на 1

0148

05

DCR

B

Уменьшить содержимое регистра В на 1

0149 014A 014B

CA 4F 01

JZ

014F (M8)

Проверка флага Z (нуля), если = 1, то переход по адресу 014F

014C 014D 014E

C3 3A 01

JMP

013A (M9)

Безусловный переход по адресу 013A

014F (M8) 0150

3E FF

MVI

B,FF

Загрузить в регистр В FF

0151 0152 0153

11 00 04

LXI

D,0200

Загрузить в регистровую пару D 0400

0154 (N4)

1A

LDAX

D

Содержимое ЯП, адрес которой хранится в регистровой паре D загрузить в аккумулятор

0155

67

MOV

H,A

Содержимое аккумулятора отправить в регистр Н

0156

14

INR

D

Содержимое регистра D увеличить на 1

0157

1A

LDAX

D

Содержимое ЯП, адрес которой хранится в регистровой паре D загрузить в аккумулятор

0158

1C

INR

E

Содержимое регистра Е увеличить на 1

0159

15

DCR

D

Уменьшить содержимое регистра D на 1

015A

94

SUB

H

Вычесть из аккумулятора содержимое регистра Н

015B 015C 015D

C3 5F 01

JMP

015F (N1)

Безусловный переход по адресу 015F

015E (N2)

2C

INR

L

Содержимое регистра L увеличить на 1

015F (N1) 0160 0161

CA 5E 01

JZ

015E (N2)

Проверка флага Z (нуля), если = 1, то переход по адресу 015E

0162

05

DCR

B

Уменьшить содержимое регистра В на 1

0163 0164 0165

CA 69 01

JZ

0169 (N3)

Проверка флага Z (нуля), если = 1, то переход по адресу 0169

0166 0167 0168

C3 54 01

JMP

0154 (N4)

Безусловный переход по адресу 0154

0169 (N3)

7D

MOV

A,L

Содержимое регистра L отправить в аккумулятор

016A 016B

D6 81

SUI

81

Вычесть из аккумулятора 81

016C 016D 016E

C3 86 01

JMP

0186 (N4.1)

Безусловный переход по адресу 0186

016F (N7) 0170 0171

3E 10

MVI

А,10

Загрузить в аккумулятор 10

0172 0173

D3 01

OUT

01

Отправить содержимое аккумулятора в порт 01 (С)

0174 0175 0176

21 FF FF

LXI

H,FFFF

Загрузить в регистровую пару H FFFF

0177 (N6)

2B

DCX

H

Уменьшить содержимое регистровой пары Н на 1

0178 0179 017A

CA 80 01

JZ

0179 (N5)

Проверка флага Z (нуля), если = 1, то переход по адресу 0179

017B 017C 017D

C3 77 01

JMP

0177 (N6)

Безусловный переход по адресу 0177

0179 (N5) 0180

3E 00

MVI

00

Загрузить в аккумулятор 00

0181 0182

D3 01

OUT

O1

Отправить содержимое аккумулятора в порт 01 (С)

0183 0184 0185

C3 00 01

JMP

0100 (M1)

Безусловный переход по адресу 0100

0186 (N4.1) 0187 0188

FA 6F 01

JM

016F (N7)

Проверка флага S (переноса), если = 1, то переход по адресу 0196

0189

3E

MVI

A,1C

Загрузить в аккумулятор 1С

018A 018B

D3 01

OUT

01

Отправить содержимое аккумулятора в порт 01 (С)

018C 018D 018E

21 FF FF

LXI

H,FFFF

Загрузить в регистровую пару H FFFF

018F (N9)

2B

DCX

H

Уменьшить содержимое регистровой пары Н на 1

0190 0191 0192

CA

JZ

0196 (N8)

Проверка флага Z (нуля), если = 1, то переход по адресу 0196

0193 0194 0195

C3 90 01

JMP

018F (N9)

Безусловный переход по адресу 018F

0196 (N8) 0197

3E 00

MVI

A,00

Загрузить в аккумулятор 00

0198 0199

D3 01

OUT

01

Отправить содержимое аккумулятора в порт 01 (С)

019A 019B 019C

C3 00 01

JMP

0100 (M1)

Безусловный переход по адресу 0100

019D (M6) 019E

3E FF

MVI

B,FF

Загрузить в регистр В FF

019F 01AF 01A0

11 00 01

LXI

D,0200

Загрузить в регистровую пару D 0400

01A1 (M9.2)

3E

MVI

A,38

Загрузить в аккумулятор 38

01A2 01A3

D3 01

OUT

01

Отправить содержимое аккумулятора в порт 01 (С)

01A4 (M9.1) 01A5

DB 01

IN

01

Загрузка содержимого порта 01 (С)

01A6 01A7

D6 58

SUI

58

Вычесть из аккумулятора 58

01A8 01A9 01AA

CA A4 01

JZ

01A4 (M9.1)

Проверка флага Z (нуля), если = 1, то переход по адресу 01A4

01AB 01AC

DB 00

IN

00

Загрузка содержимого порта 00 (А)

01AD

12

STAX

D

Содержимое аккумулятора отправить в ЯП, адрес которой хранится в регистровой паре D

01AE

13

INX

D

Содержимое регистровой пары D увеличить на 1

01AF

05

DCR

B

Уменьшить содержимое регистра В на 1


CA

JZ

0100 (M1)

Проверка флага Z (нуля), если = 1, то переход по адресу 0100


C3 00 01

JMP

01A1 (M9.2)

Безусловный переход по адресу 01А1


Похожие работы на - Разработка микропроцессорной системы контроля и управления доступом

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!