Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа МК.doc
Скачиваний:
20
Добавлен:
21.12.2018
Размер:
201.22 Кб
Скачать

5 Принципиальная схема устройства

Принципиальная электрическая схема устройства охранной сигнализации представлена на рисунке 1, а так же на чертеже МАИР.123456.001.Э3.

Рисунок 1 – Принципиальная схема охранной сигнализации.

Выводы AN0, AN1, AN2, AN3 – входы микроконтроллера АЦП, осуществляющие преобразование аналогового сигнала в цифровой, для определения изменения сопротивления.

Выводы RB7, RB6, RB5, RB4, RB3, RB2 – входы микроконтроллера с кнопок клавиатуры для введения кодовых последовательностей.

К выводам RC6, RC7 подключены светодиоды для индикации состояния охранной сигнализации

К выводу RC5 подключено электромеханическое реле, контакты которого замыкаются при изменении сопротивления на входах.

6 Конструкция устройства

Конструкция охранной сигнализации представляет собой 2 печатные платы в пластиковом корпусе, соединенные между собой гибкими ленточными проводами. На первой печатной плате расположены 6 контактов кнопок и 2 светодиода. На второй печатной плате расположены колодки соединителей для подключения лучей, внешний соединитель для подключения питания, земли и выводов реле, микроконтроллер PIC18F242, электромеханическое реле RM96, стабилизатор напряжения 7805 (КР142ЕН5А). Конструкция устройства представлена на рисунке 2 и на эскизе МАИР.123456.002.ВО.

Рисунок 2 – Конструкция охранной сигнализации: 1 – печатные платы, 2 – корпус, 3 – контакты клавиатуры, 4 – светодиоды, 5 – микроконтроллер, 6 – реле, 7 – внешний соединитель, 8 – колодки соединителей, 9 – стабилизатор.

7 Словесное описание программы микроконтроллера

Работа микроконтроллера после включения питания начинается с инициализации начальных значений переменных.

Реле находится в разомкнутом положении, зеленый светодиод горит постоянно, красный светодиод не горит, кнопки не нажаты. Значения кодовых последовательностей для снятия и постановки сигнализации считываются из EEPROM. Глобальный массив обнуляется. Программные счетчики, счетчик времени, а также флаг введения кода с кнопок времени обнуляются. Минимально допустимое значение напряжения на входах АЦП составляет 492, а максимально допустимое значение – 532.

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

Первый процесс начинается с проверки нажатия кнопки «masterkey». Если кнопка нажата, то ожидается введение кодовой последовательности для снятия сигнализации, которая считывается из глобального массива и записывается в EEPROM. Если кнопка нажата 2 раза подряд, то ожидается введение кодовой последовательности для постановки сигнализации, которая считывается из глобального массива и записывается в EEPROM.

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

После постановки сигнализации осуществляется мигание зеленого светодиода 1 раз в секунду. При этом значения на входах АЦП сравниваются с допустимыми значениями. Если они выходят за допустимые пределы, то контакты реле замыкаются. Если они соответствуют допустимым значениям, то микроконтроллер ожидает введение кода для снятия сигнализации.

Значения элементов глобального массива сравниваются со значениями массива кодовой последовательности для снятия сигнализации. Если они совпадают программа возвращается в начало. Если они не совпадают, то загорается красный светодиод. Ожидается новая последовательность. Если неправильная последовательность введена 3 раза подряд, то контакты реле замыкаются.

Второй процесс осуществляет введение кодовых последовательностей с кнопок клавиатуры.

В начале программы она последовательно проверяет нажатие одной из 4 кнопок. Если нажата одна из кнопок, то в соответствующий элемент временного массива записывается соответствующее значение. Затем проверяется, отпущены ли все кнопки клавиатуры.

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

Если какая-то из кнопок не была отпущена, то ожидается, когда все они будут отпущены. Если счетчик времени превысил 30 секунд, или если была нажата кнопка «reset», то временный массив обнуляется.