Разработка микропроцессорной системы контроля и управления доступом
Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый выход обозначается линией, выходящей из оставшихся вершин… Читать ещё >
Разработка микропроцессорной системы контроля и управления доступом (реферат, курсовая, диплом, контрольная)
СОДЕРЖАНИЕ Введение
1 Анализ существующих систем контроля и управления доступом (СКУД)
2 Разработка структурной схемы
3 Описание работы устройства
4 Построение алгоритма работы СКУД
5 Разработка программы работы СКУД
6 Выбор и обоснование эмулятора МПС для отладки программы работы СКУД
7 Отладка программы СКУД Заключение Список использованных источников Приложение, А — Алгоритм программы работы системы контроля и управления доступом Приложение Б — Текст программы системы контроля и управления доступом
ВВЕДЕНИЕ
Осуществление безопасности, предотвращение утечки информации, и контроль эффективности работы персонала на предприятии являются одними из самых важных и значительных проблем на многих предприятиях, в наше время. Для того, что бы её обеспечить используются системы контроля и управления доступом. Данные системы представляют собой совокупность программно-аппаратных технических средств безопасности, имеющих целью ограничение и регистрацию входа-выхода объектов (людей, транспорта) на заданной территории через «точки прохода»: двери, ворота, КПП.
Для идентификации личности современные электронные систем контроля и управления доступом (СКУД) используют устройства нескольких типов. Наиболее распространенными являются:
— кодонаборные устройства ПИН-кода (кнопочные клавиатуры);
— считыватели бесконтактных смарт-карт (интерфейс Виганда);
— считыватели проксимити-карт;
— считыватели ключа «тач-мемори»;
— считыватели штрих-кодов;
— биометрические считыватели.
В данном курсовом проекте будет разработана СКУД, отвечающая за дверной, магнитный замок. Для идентификации личности будет использован голос пользователя.
Микропроцессорная система (МПС) будет разработана на основе микропроцессора серии КР580ВМ80а. Данный процессор был выбран потому, что он имеет раздельные 16-разрядный канал адреса и 8-разрядный канал данных, что обеспечивает прямую адресацию внешней памяти объёмом до 65 536 байт, 256 устройств ввода и 256 устройств вывода.
1 АНАЛИЗ СУЩЕСТВУЮЩИХ СИСТЕМ КОНТРОЛЯ И УПРАВЛЕНИЯ ДОСТУПОМ Согласно ГОСТ 51 241–2008 «Средства и системы контроля и управления доступом. Классификация. Общие технические требования. Методы испытаний», СКУД — это совокупность средств контроля и управления доступом, обладающих технической, информационной, программной и эксплуатационной совместимостью.
Существуют различные конфигурации систем контроля управления доступом: самые простые из них рассчитаны всего на одну входную дверь, а самые сложные предназначены для контроля доступа на крупных объектах — предприятиях, заводах и банках. При этом самый простой вариант СКУД представляет из себя обычный домофон. Независимо от конфигурации СКУД, каждая подобная система состоит из нескольких обязательных узлов, это — контролеры для управления, считыватели для идентификации, а также всевозможные исполнительные устройства ограничения доступа: турникеты, электромагнитные замки и защелки. Электронные бесконтактные карты в качестве пропусков являются самым распространенным и удобным средством идентификации в системах контроля доступа.
Работает система контроля и управления доступом следующим образом: на проходной предприятия, при входе в ответственные помещения устанавливаются средства контроля доступа: электромеханические турникеты, электромеханические или электромагнитные замки, считыватели бесконтактных карт. Все эти устройства подключаются к контроллерам системы управления доступом. В состав оборудования системы контроля доступа могут входить 2 типа контроллеров: контроллеры замка и контроллеры турникета, каждый из которых отвечает за контроль работы собственного узла. Каждому сотруднику предприятия выдается персональный идентификатор, чаще всего это оказывается бесконтактная карта доступа — пластиковая карточка с уникальным электронным кодом
(Proximity карта). Но возможно и применение магнитных карт или т.н. Touch memory устройств. Этот идентификатор одновременно является пропуском на проходной организации и ключом от тех помещений, куда сотруднику разрешен доступ. Для прохода через турникет или входа в ответственное помещение работники предприятия должны поднести свою карту доступа к считывателю, после чего считыватель передает код предъявленной карты в контроллер, а контроллер доступа принимает решение о разрешении или запрете прохода на основании заложенной в него информации. В случае если доступ разрешен, система контроля доступа автоматически разблокирует турникет или замок на двери. Так, например, контроллер СКУД может быть запрограммирован на пропуск конкретных сотрудников в определенные помещения только в заданные промежутки времени, скажем, с 9 до 18 часов. К контроллеру СКУД также можно подключить охранную сигнализацию, в состав которой входят охранные датчики. Все события о проходах через контрольные пункты фиксируются в памяти системы управления доступом и могут использоваться для автоматизированного учета рабочего времени, а также для получения отчетов по дисциплине труда или для возможных служебных расследований на предприятии. Также с помощью СКУД можно осуществлять контроль въезда автотранспорта на территорию объекта, в этом случае после предъявления персонального идентификатора происходит открытие ворот или подъем шлагбаума.
В наше время существует большое количество СКУД систем. Анализ существующих компьютерных систем поможет определить их достоинства и недостатки.
СКУД на основе идентификации по геометрическому строению руки и пальцев
Эти способы личной идентификации очень хорошо известны. Идентификация по форме руки была доступна на протяжении 20 лет. Для того, чтобы идентифицировать человека, системе достаточно измерить либо физические характеристики пальцев, либо руки, такие как длина, ширина, толщина и поверхностные области руки. Одной интересной характеристикой этой технологии является малый объем биометрического образца, необходимого для идентификации (несколько байтов). Идентификация по руке уже доказала свои преимущества в большом числе применений.
Практически всё о конкретном человеке можно прочитать по его руке. Однако, в биометрике в целях идентификации (или аутентификации) используется сейчас только простая геометрия руки — размеры и форма, а также некоторые информационные знаки на тыльной стороне руки (образы на сгибах между фалангами пальцев, узоры расположения кровеносных сосудов).
В биометрике выделяются два основных метода распознавания по геометрии кисти руки:
Первый существует уже более 25 лет — от зарождения биометрических систем контроля доступа к помещениям, основан исключительно на геометрических характеристиках кисти руки. С точки зрения компактности образа этот класс систем является самым экономичным. В простейшем варианте хранится только информация о длине и ширине пальцев и требуется всего 9 байт. Естественно, что для систем, учитывающих только длину и ширину пальцев, может быть легко изготовлен картонный муляж руки оригинала. Более сложными являются системы, измеряющие профиль руки, что включает объем кисти, пальцев, неровности ладони, расположение складок кожи на сгибах.
На рисунке 1.1 показаны контрольные (характеристические) точки силуэта руки и 17 исходных геометрических признаков руки, в данном случае отмеченные отрезками прямых линий, которые не входят в силуэты кисти. Как видно, исходными биометрическими признаками руки являются ширина ладони, радиус вписанной в ладонь окружности, длины пальцев (определяемые как расстояния от выделенных верхних контрольных точек до середин линий, соединяющих нижние контрольные точки), ширина пальцев и высота кисти руки в трех пунктах, отмеченных линиями а, b и c.
Рисунок 1 — Контрольные (характеристические) точки силуэта руки Второй (более современный) — основан на смешанных характеристиках геометрических и образовых. К последним относятся образы на сгибах между фалангами пальцев, узоры (расположение) подкожных кровеносных сосудов. С руки снимаются четыре характеристики, из которых три являются скалярами и относятся к размерам пальцев.
Три первые характеристики — это ширина указательного пальца 1, высота указательного пальца 2 и длина среднего пальца 3, оцениваемая так, как показано на рисунке 1.2. Характеристика 4, в рассматриваемом случае, представляет собой изображение складок кожи на сгибе между средней и нижней фалангами указательного пальца. Вся информация о руке в рассматриваемом классе систем может быть записана не более чем 9 байтами.
Рисунок 2 — Геометрические и образцовые характеристики силуэта руки В данной курсовой работе будет разработана простейшая СКУД рассчитанная на контроль одной двери с проверкой биометрического параметра: голос. Мой выбор пал именно на этот способ проверки пользователя потому, что он является одним из самых интересных.
2 РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ В состав проектируемой системы входят:
— Центральный процессор (ЦП)
— Оперативное запоминающее устройство (ОЗУ)
— Постоянное запоминающее устройство (ПЗУ)
— Программируемый параллельный интерфейс (ППИ)
— Аналого-цифровой преобразователь (АЦП)
— Системный контроллер
— Микрофон
— Прочие элементы Все части системы соединены по средствам общей шины. Наличие общей шины существенно упрощает реализацию СКУД, позволяет легко менять состав и конфигурацию устройства. Благодаря этим свойствам шинная архитектура получила широкое распространение в мини и микро ЭВМ. Вместе с тем, именно с шиной связан и основной недостаток архитектуры: в каждый момент передавать информацию по шине может только одно устройство. Основную нагрузку на шину создают обмены между процессором и памятью, связанные с извлечением из памяти команд и данных и записью в память результатов вычислений. На операции ввода/вывода остается лишь часть пропускной способности шины. Практика показывает, что даже при достаточно быстрой шине для 90% приложений этих остаточных ресурсов обычно не хватает, особенно в случае ввода или вывода больших массивов данных.
Общая шина состоит из:
— шина данных — обеспечивает обмен данными между всеми основными блоками ЭВМ.
— шина адреса — используется для задания адреса памяти. Это может быть адрес в ОЗУ, ПЗУ или адрес памяти контроллера внешних устройств.
Рисунок 3 — Структурная схема СКУД
Далее будет подробно рассмотрено назначение каждого узла и блока, а так же функции, которые они выполняют.
1. Центральный процессор В данном курсовом проекте Устройство построено на основе микропроцессора КР580ВМ80а.
Рисунок 4 — УГО микропроцессора КР580ВМ80а КР580ВМ80А — 8-разрядный микропроцессор.
КР580ВМ80А — функционально законченный однокристальный параллельный микропроцессор с фиксированной системой команд, применяется в качестве центрального процессора в устройствах обработки данных и управления.
Микропроцессор имеет раздельные 16-разрядный канал адреса и 8-разрядный канал данных. Канал адреса обеспечивает прямую адресацию внешней памяти объёмом до 65 536 байт, 256 устройств ввода и 256 устройств вывода.
Это — функциональный аналог микропроцессора Intel i8080A (1974 год).
Рисунок 5 — Архитектура микропроцессора КР580ВМ80а
2.Программируемый параллельный интерфейс Программируемый параллельный интерфейс (адаптер обратной связи) служит для связи МП с дискретными или аналоговыми объектами, в качестве которых могут быть датчики аналогового или дискретного типа или аналогичные исполнительные устройства. Этот структурный блок работает независимо от МП по собственной программе, представленной в виде управляемого слова.
3. Оперативная память (ОП)
ОП представляет собой единственный вид памяти, к которой ЦП может обращаться непосредственно (исключение составляют лишь регистры центрального процессора). Информация, хранящаяся на внешних ЗУ, становится доступной процессору только после того, как будет переписана в основную память.
Основную память образуют запоминающие устройства с произвольным доступом. Основная память может включать в себя два типа устройств: оперативные запоминающие устройства (ОЗУ) и постоянные запоминающие устройства (ПЗУ).
Рисунок 6 — Внутренняя структура ППИ Преимущественную долю основной памяти образует ОЗУ (RAM — Random Access Memory), называемое оперативным, потому что оно допускает как запись, так и считывание информации, причем обе операции выполняются однотипно, практически с одной и той же скоростью, и производятся с помощью электрических сигналов. Для большинства типов полупроводниковых ОЗУ характерна энергозависимость даже при кратковременном прерывании питания хранимая информация теряется. Микросхема ОЗУ должна быть постоянно подключена к источнику питания и поэтому может использоваться только как временная память.
Вторую группу полупроводниковых ЗУ основной памяти образуют энергонезависимые микросхемы ПЗУ (ROM — Read-Only Memory). ПЗУ обеспечивает считывание информации, но не допускает ее изменения (в ряде случаев информация в ПЗУ может быть изменена, но этот процесс сильно отличается от считывания и требует значительно большего времени).
4. Дельта-сигма аналого-цифровой (АЦП с балансировкой заряда) Аналого-цифровой преобразователь — устройство, преобразующее входной аналоговый сигнал в дискретный код (цифровой сигнал). Формально, входной величиной АЦП может быть любая физическая величина — напряжение, ток, сопротивление, емкость, частота следования импульсов, угол поворота вала и т. п. В данной курсовой работе он будет преобразовывать сигнал полученный от усилителя микрофона.
Принцип действия данного АЦП несколько более сложен, чем у других типов АЦП. Его суть в том, что входное напряжение сравнивается со значением напряжения, накопленным интегратором. На вход интегратора подаются импульсы положительной или отрицательной полярности, в зависимости от результата сравнения. Таким образом, данный АЦП представляет собой простую следящую систему: напряжение на выходе интегратора «отслеживает» входное напряжение Результатом работы данной схемы является поток нулей и единиц на выходе компаратора, который затем пропускается через цифровой ФНЧ, в результате получается N-битный результат.
Рисунок 7 — Структурная схема дельта-сигма АЦП
5. Системный контроллер. Это контроллер, который хранит слово состояния процессора (ССП). ССП — это такой код, который показывает микропроцессорной системе что будет происходить с ней в каждом машинном цикле.
Для КР580ВМ80А это ССП называется байтом состояния процессора (БСП). Каждый БСП фиксируется в системном контроллере.
Системный контроллер на базе МП КР580ВМ80А включает в свой состав регистр и комбинационную схему.
3 ОПИСАНИЕ РАБОТЫ УСТРОЙСТВА Система контроля и управления доступом является совокупностью технических и программных средств, предназначена для автоматизированного контроля доступа в отдельные зоны объекта. Обычно СКУД используются как одна из составляющих интегрированной системы безопасности. Наиболее распространенная интеграция — с системой охранной сигнализации.
Принцип действия данного СКУД прост: у входа на предприятие или в любое другое подлежащее контролю помещение устанавливается считыватели — специальные устройства, считывающие голосовую команду и передающие его в систему для проверки. На основе произведённого сравнения система принимает одно из двух решений: открывает проход или оставить его закрытым. СКУД запоминает неудачные попытки входа и после третей предлагает сотруднику ввести код, если код был введён корректно, то система открывает проход.
Подробное описание работы данной СКУД:
МП опрашивает порт С ППИ, чтобы узнать нажата ли кнопка. После нажатия одной из кнопок устройства (внутри или снаружи), сигнал с ППИ поступает в МП, МП обрабатывает поступивший ему код. Если кнопка была нажата из нутрии охраняемого помещения, МП подаст сигнал на порт С ППИ означающий открытие двери.
Если кнопка была нажата снаружи, то МП проверяет наличие в памяти эталонной записи. Если её нет, то он посылает серию сигналов на ППИ для её записи, а именно: на вход «Пуск» АЦП поступает с порта С сигнал, АЦП начинает преобразовывать напряжение поступающие на него с усилителя напряжения микрофона. После преобразования напряжения АЦП вырабатывает сигнал «Готов», который поступает на порт С ППИ. МП проверяет наличие сигнала «Готов» с порта С и если он есть, то поступает сигнал «чтение», который попадает на вход АЦП. АЦП передает преобразованные данные в порт, А ППИ. Данное число отправляется в МП, а из него в память. Процедура считывания повторяется 255 раз.
Если эталонная дорожка записана, то МП подаёт серию сигналов для записи проверяемой дорожки способом описанным выше.
4 ПОСТРОЕНИЕ АЛГОРИТМА РАБОТЫ СКУД Блок-схема — распространенный тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности.
Таблица 1. Основные элементы блок-схемы
Наименование | Обозначение | Функция | |
Блок начало-конец (пуск-остановка) | Элемент отображает выход во внешнюю среду и вход из внешней среды (наиболее частое применение? начало и конец программы). Внутри фигуры записывается соответствующее действие. | ||
Блок действия | Выполнение одной или нескольких операций, обработка данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции, например, операциюприсваивания: a = 10*b + c. | ||
Логический блок (блок условия) | Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый выход обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (чаще нижней) элемента, которая затем разветвляется. Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути. Примеры решения: в общем случае? сравнение (три выхода: >, <, =); в программировании? условные операторы if (два выхода: true, false) и case (множество выходов). | ||
Предопределённый процесс | Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании? вызов процедуры или функции. | ||
Данные (ввод-вывод) | Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет носителя данных (для указания типа носителя данных используются специфические символы). | ||
Граница цикла | Символ состоит из двух частей? соответственно, начало и конец цикла? операции, выполняемые внутри цикла, размещаются между ними. Условия цикла и приращения записываются внутри символа начала или конца цикла? в зависимости от типа организации цикла. Часто для изображения на блок-схеме цикла вместо данного символа используют символ условия, указывая в нём решение, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла). | ||
Соединитель | Символ отображает вход в часть схемы и выход из другой части этой схемы. Используется для обрыва линии и продолжения её в другом месте (для избежания излишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц). Соответствующие соединительные символы должны иметь одинаковое (при том уникальное) обозначение. | ||
Комментарий | Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки и охватывается ей по всей высоте. Пунктирная линия идет к описываемому элементу, либо группе элементов (при этом группа выделяется замкнутой пунктирной линией). Также символ комментария следует использовать в тех случаях, когда объём текста, помещаемого внутри некоего символа (например, символ процесса, символ данных и др.), превышает размер самого этого символа. | ||
В блок-схеме к своей программе я использовал блок начала/конца, действия и логический.
Рисунок 8 — блок-схема программы СКУД
5 РАЗРАБОТКА ПРОГРАММЫ РАБОТЫ СКУД Язык ассемблера — машинно-ориентированный язык низкого уровня с командами, обычно соответствующими командам машины. Это система обозначений, используемая для представления в удобочитаемой форме программ, записанных в машинном коде. Язык ассемблера позволяет программисту пользоваться алфавитными мнемоническими кодами операций, по своему усмотрению присваивать символические имена регистрам ЭВМ и памяти, а также задавать удобные для себя схемы адресации (например, индексную или косвенную). Кроме того, он позволяет использовать различные системы счисления (например, десятичную или шестнадцатеричную) для представления числовых констант и даёт возможность помечать строки программы метками с символическими именами с тем, чтобы к ним можно было обращаться (по именам, а не по адресам) из других частей программы (например, для передачи управления). Ассемблер создаётся при производстве МП, то есть для каждого МП свой язык.
Для микропроцессора КР580ВМ80А базовая система команд содержит 78 различных кодов, с модификацией это число возрастает до 240. Все команды МП делятся на 5 групп:
1. Команды пересылки и загрузки данных. По этим командам осуществляется пересылка данных между регистрами МП, а так же между ячейками памяти (ЯП). Кроме того, в эту группу входят команды позволяющие загрузить данные как внутрь МП так и в ЯП из вне.
2. Арифметические команды. К ним относятся команды сложения, вычитания, увеличения или уменьшения содержимого регистров или ЯП.
3. Логические команды — это многоразрядная конъюнкция, дизъюнкция, логические сдвиги и т. д.
4. Команды передачи управления. Эти команды обеспечивают организацию разрывающихся или циклических процессов.
5. Команды ввода/вывода, управления стеком и другие вспомогательные команды.
Микропроцессор (МП) КР580ВМ80А с точки зрения программиста может быть представлен в виде модели, изображенной на рисунке 9. Модель включает перечень программно-доступных регистров микропроцессора:
— шесть 8-битных регистров общего назначения B, C, D, E, H и L, которые при выполнении некоторых команд объединяются в 16-битные регистровые пары, обозначаемые по имени старшего регистра B, D и H;
— основной рабочий регистр микропроцессора — 8-битный аккумулятор A, используемый по умолчанию во многих командах микропроцессора;
— регистр признаков F, в котором при выполнении команд обработки данных в зависимости от полученного результата формируется 5 признаков:
a) S (Sign, M) — признак знака, устанавливаемый в 1 в случае отрицательного результата и сбрасываемый в 0 при положительном результате;
b) Z (Zero) — признак нуля, устанавливаемый в 1 в случае нулевого результата и сбрасываемый в 0 при ненулевом результате;
c) CY (Carry) — признак переноса (CY=1, если был перенос из старшего разряда результата при сложении или заем в старший разряд при вычитании, иначе CY=0);
d) P (Parity) — признак четности, устанавливаемый в 1 в случае четного числа единицврезультатеисбрасываемыйв0принечетномчислеединиц;
e) AC (Auxiliary carry) — признак полупереноса, т. е. переноса из младшей тетрады результата в старшую, используемый при обработке чисел в двоично-десятичном коде.
Рисунок 9 — Модель микропроцессора КР580ВМ80А
Микропроцессор КР580ВМ80А имеет четыре различных способа адресации данных, хранимых в памяти или в регистрах:
— Прямая адресация. Второй и третий байты команды содержат адрес данных в памяти.
— Регистровая адресация. В коде команды адресуется регистр или пара регистров, в которых хранятся данные.
— Косвенно-регистровая адресация. Команда выбирает регистровую пару, в которой содержится адрес ячейки памяти.
— Непосредственная адресация. Данные, которые могут быть 8- или 16- битными, представлены в теле команды — во втором и третьем байтах.
Для того, чтобы программы выполнялась быстрее и занимала меньше места, рекомендуется использовать косвенно-регистровою адресацию.
6 ВЫБОР И ОПИСАНИЕ ЭМУЛЯТОРА Изучение структуры и принципов работы эмулятора (I80)
Методические указания по работе с эмулятором.
1. Общий вид После запуска эмулятора на экране монитора появляется главная страница эмулятора, представленная на рисунке 1.
1) Область программы.
2) Регистры, тут можно посмотреть содержимое регистров.
3) Регистр флагов.
4) Область данных, здесь мы записываем исходные данные и можем посмотреть содержимое ЯП.
5) Стек.
Рисунок 10 — Главная страница
2. Ввод программы в эмулятор В данном эмуляторе, как и в предыдущем ввод программы (мнемоники) осуществляется путем «клика»
Ввод программы можно условно разделить на несколько этапов:
1) Вводим код команды (мнемонику) в третий столбик, в ячейку «NOP» .
Рисунок 11- Ввод команды
2) Таким образом последовательно вводим программу в эмулятор.
Рисунок 12 — Ввод программы
3) Для ввода исходных данных используем область данных, выбрав нужный нам адрес, вводим содержимое Рисунок 13 — Ввод содержимого в ячейки памяти
4) После ввода программы и исходных данных проверяем содержимое регистров (чтобы не использовать данные из прошлых задач) Рисунок 14 — Содержимое регистров
5) Начинаем выполнение программы, это можно сделать двумя способами: обычным запуском (F9) или пошагам (F8).
7 ОТЛАДКА ПРОГРАММЫ СКУД Во время учебной практики по Микропроцессорным системам был проведен анализ имеющихся эмуляторов. На основе этого анализа был выбран эмулятор i80.
Данный эмулятор был выбран потому, что в нём есть возможность вводить команды в мнемонике, переключаться между ячейками памяти с помощью стрелок и просматривать содержимое регистров и стека в любой момент. Перечисленные выше качества позволяют легко и быстро отладить программы и исправить ошибки в её коде.
Во время отладки программы были выявлены и устранены незначительные ошибки в коде программы.
ЗАКЛЮЧЕНИЕ
В результате проделанной работы была разработана система контроля и управлением доступом рассчитанная на контроль одной двери с проверкой биометрического параметра: голос. Максимальное время выполнения программы 423 614,5 мкс, задействовано ячеек памяти 0400. СКУД от источника напряжения 5 В.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
микропроцессорный управление эмулятор сигнализация
1. Нестеров П. В. Микропроцессоры. Архитектура и ее оценка. М.: Высшая школа, 1984. 104 с.
2. Уокерли Дж. Архитектура и программирование микроЭВМ: В 2-х кн. / Пер. с англ. М.: Мир, 1984. Кн. 1. 486 с. Кн. 2. 359 с.
3. Хосе М. Ангуло. Микропроцессоры: Архитектура, программирование и проектирование систем. Тбилиси: Ганатлеба, 1989.
4. МикроЭВМ / Пер. с англ., Под ред. А. Дирксена. М.: Энергоиздат, 1982. 328 с.
5. Хоровиц П., Хилл У. Искусство схемотехники. М.: Мир, 1983. Т. 2. 590 с.
6. Вуд А. Микропроцессоры в вопросах и ответах / Пер. с англ. М.: Энергоатомиздат, 1985. 185 с.
7. Басманов А. С., Широков Ю. Ф. Микропроцессоры и однокристальные микроЭВМ: Номенклатура и функциональные возможности / Под ред. В. Г. Домрачева. М.: Энергоатомиздат, 1988. 127 с.
8. Мячев А. А., Иванов В. В. Интерфейсы вычислительных систем на базе минии микроЭВМ / Под ред. Наумова Б. Н. М.: Радио и связь, 1986.
9. Интерфейсы систем обработки данных: Справочник / Под ред. А. А. Мячева. М.: Радио и связь, 1989.
10. Байцер Б. Архитектура вычислительных комплексов. М.: Мир, 1974. Т.1,2.
11. Водовозов В. М., Осипов В. О., Пожидаев А. К. Практическое введе-ние в информационные системы / ГЭТУ. СПб, 1995.
Интернет ресурсы:
1. https://ru.wikipedia.org
2. http://www.mirmk.net/
3. http://www.oilngases.ru/
4. http://habrahabr.ru/
Приложение, А Алгоритм программы работы системы контроля и управления доступом
Приложение Б Текст программы системы контроля и управления доступом
Адрес я.п. Н | Мнемоника | Операнд | Комментарий | ||
0100 (m1) | DB | IN | Загрузка содержимого порта 01 (С) | ||
CA | JZ | Проверка флага Z (нуля), если = 1, то переход по адресу 0100 | |||
E6 | ANI | Логическое И над содержимым аккумулятора и 01 | |||
F2 | JP | 011E (M2) | Проверка флага Р (чётности), если = 1, то переход по адресу 011Е | ||
010A 010B | 3E 1C | MVI | A, 1C | Загрузить в аккумулятор 1С | |
010C 010D | D3 | OUT | Отправить содержимое аккумулятора в порт 01 (С) | ||
010E 010F | FF FF | LXI | H, FFFF | Загрузить в регистровую пару H FFFF | |
0111 (M3) | DCR | H | Уменьшить содержимое регистровой пары Н на 1 | ||
CA | JZ | 0118 (M3.1) | Проверка флага Z (нуля), если = 1, то переход по адресу 0118 | ||
C3 | JMP | 0111 (M3) | Безусловный переход по адресу 0111 | ||
0118 (M3.1) | 3E | MVI | Загрузить в аккумулятор 10 | ||
011A | D3 | OUT | Отправить содержимое аккумулятора в порт 01 (С) | ||
011B 011C 011D | C3 | JMP | 0100 (M1) | Безусловный переход по адресу 0100 | |
011E (M2) 011F | 3E | MVI | B, 00 | Загрузить в регистр В 00 | |
LXI | D, 0200 | Загрузить в регистровую пару D 0400 | |||
3E | MVI | C, 64 | Загрузить в регистр В 64 | ||
0125 (M5) | 1A | LDAX | D | Содержимое ЯП, адрес которой хранится в регистровой паре D загрузить в аккумулятор | |
ADD | B | Сложить содержимое аккумулятора с содержимым регистра В | |||
MOV | B, A | Содержимое аккумулятора отправить в регистр В | |||
INX | D | Содержимое регистровой пары D увеличить на 1 | |||
0D | DCR | C | Уменьшить содержимое регистра С на 1 | ||
012A 012B 012C | CA | JZ | 0130 (M4) | Проверка флага Z (нуля), если = 1, то переход по адресу 0130 | |
012D 012E 012F | C3 | JMP | 0125 (M5) | Безусловный переход по адресу 0125 | |
0130 (M4) | MOV | A, B | Содержимое регистра В отправить в аккумулятор | ||
F6 | ORI | Логическое ИЛИ над содержимым аккумулятора и 00 | |||
CA 9D | JZ | 019D (M6) | Проверка флага Z (нуля), если = 1, то переход по адресу 019D | ||
3E | MVI | B, FF | Загрузить в регистр В FF | ||
LXI | D, 0300 | Загрузить в регистровую пару D 0500 | |||
013A (M9) | 3E | MVI | A, 38 | Загрузить в аккумулятор 38 | |
013B 013C | D3 | OUT | Отправить содержимое аккумулятора в порт 01 (С) | ||
013D (M7) 013E | DB | IN | Загрузка содержимого порта 01 (С) | ||
013F | D6 | SUI | Вычесть из аккумулятора 58 | ||
CA 3D | JZ | 013D (M7) | Проверка флага Z (нуля), если = 1, то переход по адресу 013D | ||
DB | IN | Загрузка содержимого порта 00 (А) | |||
STAX | D | Содержимое аккумулятора отправить в ЯП, адрес которой хранится в регистровой паре D | |||
INX | D | Содержимое регистровой пары D увеличить на 1 | |||
DCR | B | Уменьшить содержимое регистра В на 1 | |||
014A 014B | CA 4F | JZ | 014 °F (M8) | Проверка флага Z (нуля), если = 1, то переход по адресу 014F | |
014C 014D 014E | C3 3A | JMP | 013A (M9) | Безусловный переход по адресу 013A | |
014 °F (M8) | 3E FF | MVI | B, FF | Загрузить в регистр В FF | |
LXI | D, 0200 | Загрузить в регистровую пару D 0400 | |||
0154 (N4) | 1A | LDAX | D | Содержимое ЯП, адрес которой хранится в регистровой паре D загрузить в аккумулятор | |
MOV | H, A | Содержимое аккумулятора отправить в регистр Н | |||
INR | D | Содержимое регистра D увеличить на 1 | |||
1A | LDAX | D | Содержимое ЯП, адрес которой хранится в регистровой паре D загрузить в аккумулятор | ||
1C | INR | E | Содержимое регистра Е увеличить на 1 | ||
DCR | D | Уменьшить содержимое регистра D на 1 | |||
015A | SUB | H | Вычесть из аккумулятора содержимое регистра Н | ||
015B 015C 015D | C3 5F | JMP | 015 °F (N1) | Безусловный переход по адресу 015F | |
015E (N2) | 2C | INR | L | Содержимое регистра L увеличить на 1 | |
015 °F (N1) | CA 5E | JZ | 015E (N2) | Проверка флага Z (нуля), если = 1, то переход по адресу 015E | |
DCR | B | Уменьшить содержимое регистра В на 1 | |||
CA | JZ | 0169 (N3) | Проверка флага Z (нуля), если = 1, то переход по адресу 0169 | ||
C3 | JMP | 0154 (N4) | Безусловный переход по адресу 0154 | ||
0169 (N3) | 7D | MOV | A, L | Содержимое регистра L отправить в аккумулятор | |
016A 016B | D6 | SUI | Вычесть из аккумулятора 81 | ||
016C 016D 016E | C3 | JMP | 0186 (N4.1) | Безусловный переход по адресу 0186 | |
016 °F (N7) | 3E | MVI | А, 10 | Загрузить в аккумулятор 10 | |
D3 | OUT | Отправить содержимое аккумулятора в порт 01 (С) | |||
FF FF | LXI | H, FFFF | Загрузить в регистровую пару H FFFF | ||
0177 (N6) | 2B | DCX | H | Уменьшить содержимое регистровой пары Н на 1 | |
017A | CA | JZ | 0179 (N5) | Проверка флага Z (нуля), если = 1, то переход по адресу 0179 | |
017B 017C 017D | C3 | JMP | 0177 (N6) | Безусловный переход по адресу 0177 | |
0179 (N5) | 3E | MVI | Загрузить в аккумулятор 00 | ||
D3 | OUT | O1 | Отправить содержимое аккумулятора в порт 01 (С) | ||
C3 | JMP | 0100 (M1) | Безусловный переход по адресу 0100 | ||
0186 (N4.1) | FA 6F | JM | 016 °F (N7) | Проверка флага S (переноса), если = 1, то переход по адресу 0196 | |
3E | MVI | A, 1C | Загрузить в аккумулятор 1С | ||
018A 018B | D3 | OUT | Отправить содержимое аккумулятора в порт 01 (С) | ||
018C 018D 018E | FF FF | LXI | H, FFFF | Загрузить в регистровую пару H FFFF | |
018 °F (N9) | 2B | DCX | H | Уменьшить содержимое регистровой пары Н на 1 | |
CA | JZ | 0196 (N8) | Проверка флага Z (нуля), если = 1, то переход по адресу 0196 | ||
C3 | JMP | 018 °F (N9) | Безусловный переход по адресу 018F | ||
0196 (N8) | 3E | MVI | A, 00 | Загрузить в аккумулятор 00 | |
D3 | OUT | Отправить содержимое аккумулятора в порт 01 (С) | |||
019A 019B 019C | C3 | JMP | 0100 (M1) | Безусловный переход по адресу 0100 | |
019D (M6) 019E | 3E FF | MVI | B, FF | Загрузить в регистр В FF | |
019F 01AF 01A0 | LXI | D, 0200 | Загрузить в регистровую пару D 0400 | ||
01A1 (M9.2) | 3E | MVI | A, 38 | Загрузить в аккумулятор 38 | |
01A2 01A3 | D3 | OUT | Отправить содержимое аккумулятора в порт 01 (С) | ||
01A4 (M9.1) 01A5 | DB | IN | Загрузка содержимого порта 01 (С) | ||
01A6 01A7 | D6 | SUI | Вычесть из аккумулятора 58 | ||
01A8 01A9 01AA | CA A4 | JZ | 01A4 (M9.1) | Проверка флага Z (нуля), если = 1, то переход по адресу 01A4 | |
01AB 01AC | DB | IN | Загрузка содержимого порта 00 (А) | ||
01AD | STAX | D | Содержимое аккумулятора отправить в ЯП, адрес которой хранится в регистровой паре D | ||
01AE | INX | D | Содержимое регистровой пары D увеличить на 1 | ||
01AF | DCR | B | Уменьшить содержимое регистра В на 1 | ||
CA | JZ | 0100 (M1) | Проверка флага Z (нуля), если = 1, то переход по адресу 0100 | ||
C3 | JMP | 01A1 (M9.2) | Безусловный переход по адресу 01А1 | ||