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

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 21.02.2016
Размер файла 583,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Анализ исходных данных

1.1 Анализ исходных данных, создание структурной схемы устройства

1.2 Выбор и обоснование микроконтроллера

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

2. Разработка и реализация системы

2.1 Выбор и описание используемых элементов и радиодеталей

2.2 Электрическая принципиальная схема устройства и описание её работы

3. Разработка и реализация программы для микроконтроллера

3.1 Разработка алгоритма программы для микроконтроллера

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

Заключение

Литература

Приложение

Введение

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

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

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

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

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

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

1. Анализ исходных данных

1.1 Анализ исходных данных, создание структурной схемы устройства

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

Для решения поставленной задачи необходимо:

1) 5 магнитоконтактных (герконовых) датчиков

2) 2 датчика движения

3) 2 датчика разбитого стекла

4) 1 ключ ds1990

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

1.2 Выбор и обоснование микроконтроллера

В качестве подходящих вариантов были выбраны микроконтроллеры ATmega фирмы Atmel. Критерием оптимизации системы является максимальная простота и цена, т.к для реализации задачи будет достаточно микроконтроллера с 3 портами ввода вывода. Наибольшее быстродействие (наибольшую тактовую частоту), из предоставленных для выполнения задания микроконтроллеров, имеют ATmega8, ATmega16, ATmega32 и с тактовой частотой 16Мгц, а наиболее дешевым из представленных выше микроконтроллеров оказался ATmega8.

Сравнительная характеристика параметров микроконтроллеров приведена в таблице 1.

Таблица 1 - Сравнение параметров МК

МК

Тактовая частота, Mhz

SRAM

I/O

Наличие 16bit таймера

Цена

рос.руб.

ATmega8

16

1k

23

Да

82

ATmega16

16

1k

32

Да

140

ATmega32

16

2k

32

Да

150

ATmega163

8

512

32

Да

152

ATmega323

8

2k

32

Да

160

Ниже приведены основные характеристика выбранной модели:

1) 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением.

2) Энергонезависимая память программ и данных

3) 8 Кбайт программируемой Flash памяти. Обеспечивает 1000 циклов стирания/записи.

4) 512 байт EEPROM. Обеспечивает 100000 циклов стирания/записи

5) 1 Кбайт встроенной SRAM.

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

7) Пять режимов пониженного потребления: Idle, Power-save, Power- down, Standby и снижения шумов ADC.

8) Выводы I/O и корпуса:

23 программируемые линии ввода/вывода

28-выводной корпус PDIP, 32-выводной корпус TQFP и 32-выводной корпус MLF

9) Рабочие напряжения:

2,7 - 5,5 В (ATmega8L)

4,5 - 5,5 В (ATmega8)

10) Рабочая частота:

0 - 8 МГц (ATmega8L)

0 - 16 МГц (ATmega8)

Схема расположения выводов и блок-схема данного микроконтроллера в PDIP-корпусе изображены на рисунке 1 и рисунке 2 соответственно.

Рисунок 1 - Схема расположения выводов микроконтроллера ATmega8.

Рисунок 2 - Блок-схема микроконтроллера ATmega8.

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

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

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

Язык высокого уровня Си непрерывно увеличивает свою популярность для программирования микроконтроллеров. Преимуществами использования Си по сравнению с Ассемблером следующие: сокращенное время проектирования, более простые поиск ошибок и переносимость, а также легкость повторного применения. Главные недостатки: более громоздкий результирующий код и сниженное быстродействие. Для компенсации данных недостатков в архитектуре AVR предусмотрена эффективная дешифрация и выполнение инструкций, которые наиболее часто генерируются Си-компилятором.

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

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

1) нет необходимости писать Makefile (файл с инструкциями по сборке, компиляции проекта);

2) наличие мастера кода;

3) простота освоения.

По этим причинам в качестве среды разработки был выбран CodeVisionAVR.

2. Разработка и реализация системы

2.1 Выбор и описание используемых элементов и радиодеталей

Для реализации системы будут использованы следующие радиодетали:

1) Датчик движения Астра-7 исп. Б (ИО 409-15Б);

2) Датчик разбитого стекла Астра-612 (ИО 329-5);

3) Магнитоконтактный датчик ИО-102-16/2 (СМК-16);

4) Ключ включения/выключения сигнализации ds1990;

5) Два стабилизатора напряжения: L78S12CV и К1156ЕН1П;

6) Конденсаторы;

7) Резисторы;

8) Диодный мост W005M;

9) Один зуммер M1206 C-A3;

10) Электромагнитное реле;

11) Трансформатор ТП115-К6.

Датчик движения - это устройство, которое определяет движение объекта в зоне обнаружения. Инфракрасные охранные датчики бывают активные (используется передатчик и приемник) и пассивные (передатчик отсутствует, есть только приемник ИК излучения человека).Для данной системы был выбран пассивный датчик Астра-7 исп. Б ИО 409-15Б (рисунок 3), имеющий характеристики, представленные в таблице 2. Схема расположения клемм изображена на рисунке 4.

Рисунок 3 - Пассивный ИК датчик Астра-7 исп. Б (ИО 409-15Б)

Таблица 2- Характеристики ИК датчика Астра-7 исп. Б (ИО 409-15Б)

Угол обзора зоны обнаружения

360

Диаметр зоны обнаружения, м:

при высоте установки 2,4 м. - 6 м.

при высоте установки 3,6 м. - 9 м.

Рекомендуемая высота установки, м

от 2,4 до 3,6

Диапазон обнаруживаемых скоростей перемещения, м/с

от 0,3 до 3,0

Напряжение питания, В

от 8 до 15

Ток потребления в дежурном режиме и в режиме «Тревога», мА, не более

12

Допустимый ток через контакты реле, А, не более

0,08

Допустимое напряжение через цепь ТМП, В, не более

72

Диапазон температур, °С

от минус 30 до плюс 50

Относительная влажность воздуха, %

до 95 при + 35 °С

Масса, кг не более

0,07

Рисунок 4 - Расположение клемм на Астра-7 исп. Б (ИО 409-15Б)

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

Для данной системы выбран датчик разбитого стекла Астра-612 (ИО 329-5) (рисунок 5), состоящий из приёмника, и имеющий характеристики представленные в таблице 3. Схема расположения клемм (рисунок 6).

Рисунок 5 - Датчик разбитого стекла Астра-612 (ИО 329-5)

Таблица 3 -- Характеристики датчика Астра-612 (ИО 329-5)

Максимальная рабочая дальность

действия извещателя, м, не менее

6

Рабочие частоты:

первая, Гц

вторая, Гц

6000±100

150±10

Напряжение питания, В

от 8 до 15

Ток потребления, мА, не более

Время технической готовности, с, не более

2

Допустимый ток через контакты реле, А, не более

0,08

Допустимое напряжение

на контактах реле, В, не более

100

Сопротивление выходной цепи реле

в дежурном состоянии, Ом

от 6 до 8

Габаритные размеры, мм

70Ч33Ч15

Масса извещателя, кг

0,05

Диапазон температур, °С

от минус 10 до плюс 50

Относительная влажность воздуха, %

до 95 при +35оС

Рисунок 6 - Расположение клемм на Астра-612 (ИО 329-5)

Для контроля дверных и оконных проёмов помещения выбран точечный магнитоконтактный датчик ИО 102-16/2. Характеристики представлены в таблице 4. Данный извещатель предназначен для блокировки дверных и оконных проемов, организации устройств типа «ловушка», а также блокировки других конструктивных элементов зданий и сооружений с выдачей сигнала «Тревога» путем размыкания контактов геркона на концентратор или пульт централизованного наблюдения в нашем случае микроконтроллер. Извещатель конструктивно состоит из магнитоуправляемого датчика на основе геркона и задающего элемента (магнита), выполненных в пластмассовых корпусах (рисунок 7). Извещатель рассчитан на непрерывную круглосуточную работу.

Таблица 4 - Характеристики магнитоконтактного датчика ИО 102-16/2

Диапазон коммутируемого напряжения, В

0,05-72

Диапазон коммутируемого тока, мА

0,1-250

Число срабатываний извещателя в режиме 0,25А-30В, не менее

106

Выходное электрическое сопротивление:
при замкнутых контактах (при токе (100±10)мА), Ом, не более
при разомкнутых контактах, кОм, не менее

0,5 200

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

10 и менее

45 и более

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

3

Электрическая прочность изоляции между выводами датчика и корпусом, Вэфф/Впост, не менее

500 / 700

Рабочая температура среды, °С

-50 … +50

Относительная влажность воздуха ( при +25 °С ), %, не более

98

Наработка до отказа, ч, не менее

200000

Срок службы, лет, не менее

8

Масса датчика/задающего элемента, г, не более

4/8

Рисунок 7 - Магнитоконтактный датчик ИО 102-16/2

микроконтроллер электрический тестирование

Извещатели ИО 102-16/2 и сигнальные реле датчиков Астра-612 (ИО 329-5) и Астра-7 исп. Б (ИО 409-15Б) подключаются параллельно к питанию 5 В. Сами же датчики Астра-612 (ИО 329-5) и Астра-7 исп. Б (ИО 409-15Б) параллельно подключаются в линии питания 12 В.. Выходы от приёмников подаются на входы микроконтроллера. При срабатывании одного из датчиков появляется низкий сигнал сигнальной линии, что соответственно влияет на PIN микроконтроллера, который затем даёт команду сигнальному устройству на звуковое и световое оповещение.

В качестве звукового сигнального устройства будем использовать зуммер M1206 C-A3 (рисунок 8). Эти элементы необходимы для звукового оповещения при вторжении в помещение. Характеристика зуммера M1206 C-A3 представлена в таблице 5.

Рисунок 8 - Зуммер M1206 C-A3.

Таблица 5 - характеристика зуммера M1206 C-A3.

Номинальное напряжение В

6

Рабочее напряжение В

4-7

Рабочий ток мА

Max 25

Звук длиной волны в 10 см дБ

Min 82

Резонансная частота Гц

2300 (+/-300)

Рабочая температура С

-25…+70

Вес гр.

2

Диаметр мм

12

Было рассчитано, что максимальная потребляемая мощность устройства составляет 15 Вт. Данная величина показывает, что для нормального функционирования устройства, ему потребуется блок питания мощностью не менее15 Вт, питающийся от сети 220 В 50 Гц. Блок питания обеспечивает энергией микроконтроллер - 5 В, сигнальные реле датчиков - 5 В и сами извещатели - 12 В, сигнальные диоды и звуковое оповещение исходя из данных требований блок питания на выходе будет выдавать 5 и 12 В. Для понижения начального напряжения с 220 В до 15 В будем использовать понижающий трансформатор (рисунок 9) ТП115-К6, характеристики которого указаны в таблице 6. На выходе трансформатора будем иметь 15 В переменного напряжения, для его выпрямления будем использовать диодный мост, возьмём наиболее подходящий W005M (рисунок 10), характеристики которого указаны в таблице 7. Т.к. после диодного моста напряжение всё равно не ровное то после него параллельно подключим конденсатор 10000мкФ 12 В.

Для поддержания выходного напряжения 12 В требуется стабилизатор. Возьмем L78S12CV - (рисунок 11 а), таблица 8. Перед стабилизатором и после него подключим два конденсатора 10мкФ 15В. Для понижения напряжения до 5 В для микроконтроллера и сигнальных реле датчиков используем стабилизатор напряжения только уже К1156ЕН1П (рисунок 11 б)), характеристики которого также указаны в таблице 8.

Рисунок 9 - Понижающий трансформатор ТП115-К6.

Таблица 6 - характеристики понижающего трансформатора ТП115-К6.

Тип трансформатора

ТП

Выходное напряжение, В

15

Выходной ток, А

1.3

Мощность, Вт

20

Рисунок 10 - диодный мост W005M

Таблица 7 - диодного моста W005M.

Максимальное постоянное обратное напряжение, В

50

Максимальное импульсное обратное напряжение, В

60

Максимальный прямой(выпрямленный за полупериод) ток, А

1.5

Максимальный допустимый прямой импульсный ток, А

50

Максимальный обратный ток, мкА

10

Максимальное прямое напряжение, В

1

при Iпр., А

1

Рабочая температура, С

-55…125

а) б)

Рисунок 11 - Стабилизаторы напряжения а) L78S12CV и б) К1156ЕН1П.

Таблица 8 - Характеристики L78S12CV и К1156ЕН1П.

Тип

L78S12CV

К1156ЕН1П

Выходное напряжение, В

12

5

Ток нагрузки, А

2

0.75

Тип корпуса

TO220

TO220-5

Максимальное входное напряжение, В

40

40

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

2.2 Электрическая принципиальная схема устройства и описание её работы

PORTB.0 - PORTB.4 микроконтроллера ATmega8 настроен на приём сигналов от магнитоконтактных датчиков DT1 - DT5; PORTC настроен как порт вывода(включение сигнальных диодов HL1, HL2, HL3, переключатель реле Rel1 отвечающий за питание датчиков); PORTD.5-PORTD.6 - настроен на приём сигналов от датчиков движения Mov1, Mov2; PORTB.5 и PORTD.7 на приём сигналов от датчиков разбитого стекла Cr1, Cr2; PORTD.4 на считывания кода магнитного ключа Key1. В начальном состоянии система охраны не активирована (не подключено питание к извещателям).

При включении сигнализации сначала сверяется ключ Key1, далее по средствам реле Rel1 в схему включаются датчики DT1-DT5, Mov1-Mov2,Cr1-Cr2 и если они исправны и не разомкнуты, сигнализация переводится в состояние «включено» и загорается светодиод HL3 в данной системе предусмотрен контроль датчиков, т.е если один из датчиков разомкнут или неисправен, загорится светодиод HL1 и сигнализация не будет включена до тех пор, пока все датчики не будут проверены и исправны. Когда сигнализация отключена, микроконтроллер выключает реле Rel1, тем самым отключая датчики. При срабатывании одного из датчиков выходной сигнал изменится из высокого - в низкий. Микроконтроллер, обработав полученный сигнал вторжения - будет c задержкой подавать на PORTC.1 и PORTC.3 разные уровни напряжения, в результате чего будет получено звуковое и световое оповещение.

3. Разработка и реализация программы для микроконтроллера

3.1 Разработка алгоритма программы для микроконтроллера

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

1) Включать/выключать систему, при контакте с кодовым ключом инициализированным в системе;

2) Реагировать на изменение состояния PIN портов отвечающих за приём сигналов от извещателей во включённом состоянии;

3) Подавать звуковое и световое оповещение, при смене состояния PIN портов указанных выше;

4) Контролировать включение охранной сигнализации (все датчики должны быть исправны) и показывать её состояние с помощью светодиодов.

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

По умолчанию по умолчанию в системе хранится ключ кодового ключа с серийным номером - A5 00 00 00 AA AA AB 01.

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

Фрагмент исходного кода, инициализирующий PORTD.4 на работу по протоколу 1-wire:

#asm

.equ __w1_port=0x12

.equ __w1_bit=4

#endasm

Реализация чтения кода ключа:

do

{

w1_write(0x33);

for (i=0; i < 8; i++)

{

rom_code[i] = w1_read();

}

} while ((w1_init() == 1) & (w1_dow_crc8(&rom_code,7) != rom_code[7] )) ;

Проверка считанного кода с записанным в EEPROM микроконтроллера:

if (w1_dow_crc8(&rom_code,7) == rom_code[7] ) { i=0;

for(count=0;count<8;count++)

{

if (rom_code[count]!=key_code[count]) {

i++;

} }

{

//Блок включения, выключения сигнализации

}

}

Фрагмент кода отвечающий за работу схемы в состоянии включено:

if(alarm==1)

{

PORTC.0=1;

PORTC.2=0;

if(PINB.0==0 || PINB.1==0 || PINB.2==0 || PINB.3==0 || PINB.4==0

|| PINB.5==0 || PIND.5==0 || PIND.6==0 || PIND.7==0)

{

alert=1;

}

if(alert==1)

{ PORTC.1=1;

PORTC.3=1;

delay_ms(500);

PORTC.1=0;

PORTC.3=0; } }

Для тестирования работоспособности программы в задании указана среда имитационного моделирования Proteus. Код был скомпилирован CodeVisionAVR в hex-файл, который был подключен к микроконтроллеру в Proteus. Схема системы, смоделированная в Proteus, в выключенном состоянии изображена на рисунке 12.

При контакте кодового ключа с считывателем производится проверка кода и в случае если все датчики исправны и код совпал - загорается светодиод D2, если ключ не совпадает или один(или более) из датчиков не исправен - загорается красный диод D3 (рисунок 13), в выключенном состоянии(зеленый светодиод D2 не горит) отключается питание от датчиков с целью экономии энергии.

При включенной сигнализации и размыкании одного из датчиков (рисунок 14) на микроконтроллер поступает низкий уровень сигнала, далее микроконтроллер с одинаковыми интервалами посылает разные уровни сигнала (0,1) на приборы звукового (Buzzer) и светового оповещения (D1), которые будут работать пока не будет отключена сигнализация с помощью кодового ключа.

Рисунок 12 - Схема системы в Proteus в выключенном состоянии

Рисунок 13 - Схема системы в Proteus в момент включения при отключенном датчике

Рисунок 14 - Схема системы в Proteus при срабатывании сигнализации

Тестирование работы устройства представлено в таблице 9.

Таблица 9 - Тестирование работы устройства

№ теста

Условие теста

Результат теста

1

Сигнализация включена и сработал один из датчиков - включается звуковое и световое оповещение.

Выполнено

2

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

Выполнено

3

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

Выполнено

4

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

Выполнено

5

Сигнализация в режиме тревоги. Подносим искомый ключ - тревога выключается.

Выполнено

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

Описание сигналов:

C1 - сигнал от магнитоконтактного датчика;

С2 - сигнал от кодового ключа DS1990;

C3 - сигнал питания от реле RL1;

C4 - сигнал тревоги;

D1 - сигнальный светодиод D2;

D2 - сигнальный светодиод D3.

Заключение

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

Литература

1) www.Atmel.com - официальный сайт фирмы Atmel (последнее посещение 20.04.2013).

2) www.chipdip.ru - магазин радиоэлектроники (последнее посещение 20.04.2013).

3) Охранные извещатели Астра-7 (ИО 409-15Б), Астра-612 (ИО 329-5), ИО-102-16/2 (СМК-16).Инструкция по установке.

4) www.microsin.ru/content/view/508/44/ - описание протокола 1Wire (последнее посещение 20.03.2013).

5) http://radiokot.ru/start/- обучающий ресурс для начинающих (последнее посещение 20.04.2013).

Приложение

Исходный код программы

#include <mega8.h>

#include <delay.h> #asm

.equ __w1_port=0x12

.equ __w1_bit=4

#endasm

#include <1wire.h>

#define DS1990_FAMILY_CODE 1

#define SEARCH_ROM 0xF0

unsigned char rom_code[8];

unsigned char key_code[8]={0x01,0xAB,0xAA,0xAA,0x00,0x00,0x00,0xA5};

void main(void)

{

unsigned char i,j;

unsigned char count;

int alarm=-1;

int alert=0;

DDRB=0;

DDRC=255;

DDRD=0;

while(1)

{

do

{

w1_write(0x33);

for (i=0; i < 8; i++)

{

rom_code[i] = w1_read();

}

} while ((w1_init() == 1) & (w1_dow_crc8(&rom_code,7) != rom_code[7] )) ;

if (w1_dow_crc8(&rom_code,7) == rom_code[7] )

{ i=0;

for(count=0;count<8;count++)

{

if (rom_code[count]!=key_code[count])

{

i++;

}

}

if(i==0)

{ if(alarm==-1)

{ PORTC.4=1;

delay_ms(1000);

if(PINB.0==1 && PINB.1==1 && PINB.2==1 && PINB.3==1 && PINB.4==1

&& PINB.5==1 && PIND.5==1 && PIND.6==1 && PIND.7==1 )

{

alarm=1;

}

else

{

PORTC.2=1;

PORTC.4=0;

alarm=-1;

}

}

else

{

alarm=-1;

PORTC.4=0;

}

}

i=0;

}

if(alarm==1)

{

PORTC.0=1;

PORTC.2=0;

if(PINB.0==0 || PINB.1==0 || PINB.2==0 || PINB.3==0 || PINB.4==0

|| PINB.5==0 || PIND.5==0 || PIND.6==0 || PIND.7==0)

{

alert=1;

}

if(alert==1)

{

PORTC.1=1;

PORTC.3=1;

delay_ms(500);

PORTC.1=0;

PORTC.3=0;

}

}

else

{

PORTC.0=0;

PORTC.1=0;

PORTC.3=0;

alert=0;

}

delay_ms(600);

}

}

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.