Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Розробка мікропроцесорної системи охорони офісу

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Цифрові комп’ютерні системи виводять на екран графічний план об'єкту, що охороняється, і стан кожного датчика. З комп’ютера можна також ставити систему на охорону і знімати з режиму охорону. Охоронна сигналізація в комплексі з системами теленагляду створять надійний щит від зловмисників і форс-мажорних ситуацій. Системи будь-якої складності будуються на базі одних і тих же технічних пристроїв… Читати ще >

Розробка мікропроцесорної системи охорони офісу (реферат, курсова, диплом, контрольна)

КУРСОВА РОБОТА З курсу «Архітектура та програмування мікроконтролерів»

Тема: «Розробка мікропроцесорної системи охорони офісу»

Черкаси 2008

Технічне завдання

  • Вступ
  • Розділ 1. Огляд пристроїв захисту офісу
  • 1.1 Аналіз мікропроцесорних охоронних датчиків
  • 1.2 Існуючі охоронні датчики
  • 1.2.1 Датчики розбиття скла
  • 1.2.2 Фотоелектричні датчики
  • Розділ 2. Розробка апаратної частини
  • 2.1 Розробка принципової схеми
  • 2.2 Вибір типу контролера. Обґрунтування вибору
  • 2.3 Наведення технічних характеристик мікроконтролера PIC16F628
  • 2.4 Підбір елементів схеми
  • 2.5 Калькуляція виробу
  • Розділ 3. Розробка програмної частини
  • 3.1 Вибір середовища програмування
  • 3.2 Вибір мови програмування
  • Висновки
  • Список використаних джерел
  • Додатки

Вступ

Головне призначення охоронної системи (охоронній сигналізації) полягає в оперативному і гарантованому сповіщенні господарів або правоохоронні служби про несанкціоноване проникнення в приміщення, що охороняються. Рішення даної задачі можливе тільки при грамотному оснащенні об'єкту охорони сучасними високонадійними технічними засобами охоронної сигналізації.

Охоронна сигналізація може бути автономною — мета такої сигналізації відлякати зловмисників і оповістити сусідів із застосуванням могутніх сирен. Але найбільший ефект від охоронної сигналізації досягається при підключенні її на пульт позавідомчої охорони або на пульт централізованого спостереження приватного охоронного підприємства. При використанні для передачі тривожних повідомлень GSM-систем можлива передача тривожних повідомлень на стільникові телефони власників об'єкту, що охороняється. Системи охоронної сигналізації своєчасно оповістять Вас про несанкціоноване проникнення на територію, що охороняється, і повідомлять про аварійні ситуації. Крім того, при проникненні всередину Вашого житла або офісу система може повідомити Вас про тривогу телефонним дзвінком на вказаний заздалегідь номер. Для знімання інформації служать датчики (інфрачервоні і радіохвильові датчики руху, магнітні датчики відкриття дверей і вікон, акустичні датчики розбиття скла, датчики удару і т.д.), а базовим блоком — контрольні панелі, на які зводиться вся інформація від датчиків. Якщо у Вас є домашня тварина, датчики руху можна налаштувати так, щоб вони не реагували на переміщення Вашого вихованця, але завжди надійно спрацьовували на появу людини. Правильно складена специфікація на сучасному комбінованому устаткуванні допоможе передбачити всі тривожні ситуації об'єкту, що охороняється, і забезпечить Ваше майно і персонал. Система за допомогою спеціальних датчиків може відстежити протікання води і витік газу, і за заздалегідь введеною програмою віддати команду виконавчим пристроям комплексної системи управління і охорони на виконання тієї або іншої дії (перекрити кран, включити сирену і т.п.). Системи периметрової сигналізації беруть під охорону не тільки приміщення, але і прилеглу територію по периметру.

Цифрові комп’ютерні системи виводять на екран графічний план об'єкту, що охороняється, і стан кожного датчика. З комп’ютера можна також ставити систему на охорону і знімати з режиму охорону. Охоронна сигналізація в комплексі з системами теленагляду створять надійний щит від зловмисників і форс-мажорних ситуацій. Системи будь-якої складності будуються на базі одних і тих же технічних пристроїв. При рішенні технічних завдань охорони в першу чергу необхідно вибрати основні параметри пристроїв, які забезпечать достатню надійність виконання покладених на них функцій. Система охоронна сигналізація фіксують факт несанкціонованого доступу на територію, що охороняється, передають сигнал тривоги, наприклад, на пульт охорони і включають виконуючі пристрої. Система охоронна сигналізація включають: датчики, пульт-концентратор, виконуючі пристрої. Особливість датчиків для систем типу охоронна сигналізація полягає в тому, що вони реєструють, в основному, неелектричні величини. Вимірювання неелектричних величин — складне завдання і при цьому датчики повинні забезпечувати високу надійність і достовірність контролю. Датчик — чутливий елемент, що перетворює контрольований параметр в електричний сигнал. Надійність датчиків забезпечується, в основному, цифровими методами обробки сигналів. Датчики об'єднуються в зони. Під зоною розуміється один або декілька датчиків, що охороняють певний об'єкт або ділянку об'єкту. У системах охоронної сигналізації використовуються датчики наступних типів: пасивні інфрачервоні датчики руху; датчики розбиття скла; активні інфрачервоні датчики руху і присутності; фотоелектричні датчики; мікрохвильові датчики; ультразвукові датчики; вібро-датчики; датчики температури; датчики наявності пари і газів; магнітні (герконові) датчики; шлейфи.

Розділ 1. Огляд пристроїв захисту офісу

1.1 Аналіз мікропроцесорних охоронних датчиків

Системи охоронної сигналізації призначені для визначення факту несанкціонованого проникнення на територію, що охороняється, видачі сигналу тривоги на пульт охорони і включення виконавчих пристроїв (сирени, освітлення і т.д.). Системи охоронно-пожежної сигналізації включають контрольні панелі, оповіщувачі (датчики і детектори), виконавчі пристрої, пристрої сповіщення (сирени, дзвінки і т.п.) і джерела живлення.

Контрольна панель (приймально-контрольний прилад) — це центральний пристрій системи охоронної сигналізації, виконане на базі мікроконтролера, програма якого визначає всі функції системи. Контрольна панель може підключатися до комп’ютера для обробки і реєстрації сигналів тривоги, автоматичного аналізу стану датчиків і функціонування всієї системи. Контрольні панелі управляють виконавчими пристроями: включають сирену, прожектор, додзвонюються по телефонній лінії по заданому номеру.

Для реєстрації змін контрольованого параметра в системах охоронної сигналізації використовуються різні оповіщувачі. Оповіщувач — це пристрій, що формує певний сигнал про зміну того або іншого контрольованого параметра навколишнього середовища. Оповіщувач можна умовно розділити на датчики і детектори. Тут під датчиками розумітимемо оповіщувачі, перетворюючі фізичні величини і характеристики (наприклад, тепло, світло, звук і т.п.) в електричний сигнал. Детекторами ж називатимемо оповіщувачі, включаючи в свій склад датчики, схему обробки сигналів і схему ухвалення рішення.

Прості оповіщувачі (датчики) виробляють аналогову обробку сигналів, що не завжди забезпечує необхідну надійність їх роботи. Підвищення надійності роботи датчиків забезпечується застосуванням цифрових методів обробки сигналів. За принципом дії оповіщувачі можна розділити на наступні типи:

електроконтакти (фольга, дріт);

магнітоконтактні;

вібродатчики;

ультразвукові;

радіохвильові;

фотоелектричні;

детектори битого скла;

пасивні і активні інфрачервоні детектори руху;

комбіновані.

Датчики і детектори дозволяють контролювати частину об'єкту (об'їм, площина і т.п.), що охороняється, іменовану зоною.

Датчики електроконтактів призначені для реєстрації пошкоджень і руйнування конструкцій, на яких вони закріплені: скляного полотна вікон, дверей, стіклоблоків і т.д. в опалювальних і не опалювальних приміщеннях. Вони виготовляються з тонкої алюмінієвої фольги товщиною від 0, 008 до 0, 04 мм і шириною не більш 12, 5 мм. Фольга має клейовий шар. Іноді для тих же цілей замість фольги використовують тонкий дріт.

Магнітоконтактні датчики призначені для реєстрації відкриття дверей і вікон, на яких вони встановлені. Датчики бувають двох видів: для зовнішньої і скритної установки. Вони виконані на основі герконів, контакти яких замикаються або розмикаються при наближенні (видаленні) постійного магніта. Підключаються такі датчики до охоронних сигналізацій за допомогою дротяного шлейфу.

Вібродатчики призначені для виявлення навмисного пошкодження різних будівельних конструкцій: бетонних стін і перекриттів, цегляних стін, дерев’яних (рами і двері) і стельових покриттів, а також сейфів і металевих шаф. Принцип дії вібродатчиків заснований на п'єзоефекті або ефекті електромагнітної індукції, коли постійний магніт переміщається уздовж обмотки котушки і тим самим наводить в ній змінний струм. У вітчизняній і зарубіжній літературі залежно від технічної реалізації такі датчики називають електромагнітними, магніторезонансними.

Ультразвукові детектори призначені для охорони закритих приміщень і характеризуються високою чутливістю і низькою перешкодостійкістю. Дія їх заснована на інтерференції ультразвукових коливань. До складу ультразвукового детектора входять випромінювач і приймач. При закритих вікнах і дверях простір, контрольований детектором, обмежений, і в точці розташування приймача формується стійка інтерференційна картина. При проникненні якого-небудь об'єкту в приміщення стійкість інтерференційної картини порушується і формується сигнал тривоги.

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

Фотоелектричні датчики призначені для охорони внутрішнього і зовнішнього периметрів, безконтактного блокування прольотів, дверей, коридорів і т.п. Вони складаються з передавача і приймача, що рознесе уздовж лінії охорони, і використовують сигнал інфрачервоного діапазону з довжиною хвилі порядку 1 мкм.

Детектори битого скла призначені для реєстрації навмисного руйнування скляних конструкцій: вікон, вітрин і ін. Вони реагують на звук скла, що б'ється, і удару об скло, а також аналізують спектр звукових шумів в приміщенні, дозволяють безконтактно контролювати цілісність скла розміром більше 20×20 див.

мікропроцесорна система охорона офіс

1.2 Існуючі охоронні датчики

1.2.1 Датчики розбиття скла

Рисунок 1.1 — Датчик розбиття скла

Датчики розбиття скла (рис. 1.1) реагують на дзвін скла, що б'ється. Найбільше| довершені моделі аналізують спектр звукових шумів в приміщенні. Якщо спектр шуму містить складову, співпадаючу із спектром ушкоджуваного скла, то датчик спрацьовує. Один такий датчик може охороняти скляні вікна, вітрини і т.п., площею до 10 м. Двохпорогові датчики реєструють звук удару по склу і дзвін розбиваного скла. Для індикації тривоги такий датчик повинен зареєструвати два відповідні сигнали з інтервалом не більше 150 мс. Чутливість датчиків розбиття скла регулюється із застосуванням імітатора розбивання скла

1.2.2 Фотоелектричні датчики

Фотоелектричні датчики випромінюють і приймають відбитий сигнал інфрачервоного випромінювання з довжиною хвилі близько 1 мкм|. Вони використовуються у складі систем захисту внутрішнього і зовнішнього периметра для безконтактного блокування прольотів, дверей, ліфтів, отворів, коридорів і т.п. Їх відрізняє висока стійкість і надійність роботи Фотоелектричні датчики складаються з двох частин — передавача і приймача. Вони розносяться уздовж лінії охорони.

Між ними проходить система модульованих інфрачервоних променів (рис. 1.2).

Рисунок 1.2 — Фотоелектричні датчики

Датчики цього типа спрацьовують при спробі перетнути систему променів, відрізняються високою стійкістю і надійністю роботи. На рис. 3 показані випадки перетини бар'єру, які розрізняються фотоелектричним датчиком. Найбільше| довершені моделі фотоелектричних датчиків можуть працювати автономно. Для цього вони оснащуються сонячними елементами, які заряджають акумуляторні батареї датчиків.

Рисунок 1.3 — Варіанти спрацьовування бар'єрних датчиків

Розділ 2. Розробка апаратної частини

Для охорони офісу розробимо охоронний пристрій на базі мікропроцесора PIC16F628 з використанням датчиків розбиття скла, та фотоелектричних датчиків.

Рис. 2.1 Узагальнений вигляд розроблюваного пристрою.

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

Працює пристрій з двома лініями від датчиків:

а) фотоелектричний — включає звуковий сигнал із затримкою 6 секунд;

б) датчик розбиття вікон — включення звукового сигналу миттєво.

Схема пристою забезпечує після включення режиму охорони затримку в 12 секунд для виходу з приміщення і 6 секунд при вході - для відключення сигналізації до спрацьовування звукового сигналу.

У схемі сигналізації є світлодіодна індикація режиму спрацьовування датчиків, що є показником роботи.

Блок охорони розміщується в прихованому місці, а з'єднання з датчиками краще виконувати перевитими між собою дротами, що виключить вплив зовнішніх перешкод.

2.1 Розробка принципової схеми

Перш за все розробимо принципову схему розроблюваного пристрою. Зобразимо для початку дану схему за допомогою графічного редактора.

В даному випадку принципова схема дає загальне представлення про електрообладнання механізму пристрою, відображає роботу системи автоматичного управління механізмом, служить джерелом для створення схем з'єднань та підключень, розробки конструктивних вузлів та оформлення переліку елементів.

Рис. 2.2 Попередньо розроблена узагальнена принципова схема пристрою.

2.2 Вибір типу контролера. Обґрунтування вибору

Для даного проекту будемо використовувати мікроконтролер PIC16F628. Вибір зроблено саме такий тому, що вищезгаданий мікроконтролер обладнаний універсальним синхронно/асинхронним прийомо-передавачем — USART. Цей апаратний пристрій в МК дозволяє приймати і передавати інформацію по протоколу RS-232 з відповідним перетворювачем рівнів +/ - 12 В, звичайно. Можна, наприклад, підключити декілька датчиків температури типу DS18xx, архівувати значення і передавати дані в PC по запиту останнього, можна реалізувати систему пропорційного (дискретного) управління з передачею команд через USART, загалом придумати можна будь-яку річ де потрібна передача та прийом даних по 2−3 дротам. Дана властивість буде корисною та необхідною для реалізації проекту захисту приміщення від несанкціонованого доступу. За допомогою USART можна також здійснювати управління пристроєм та передавати дані на відстані.

2.3 Наведення технічних характеристик мікроконтролера PIC16F628

Високопродуктивний RISC-процесор. Всього 35 простих для вивчення односкладових інструкції. Швидкість роботи: тактова частота до 20 Мгц, мінімальна тривалість такту 200 нс.

Організація пам’яті мікроконтролера наведена в таблиці 2.1.

Таблиця 2.1 Організація пам’яті мікро контролера PIC16F628.

FLASH

ОЗП

ПЗП

PIC16F628

2048×14

224 x 8

128 x 8

16 апаратних регістрів спеціального призначення, 8 — рівневий апаратний стек, прямий, непрямий і відносний режими адресації для даних і інструкцій, механізм переривань.

Периферія:

Timer0 — 8-розрядний таймер/лічильник реального часу з 8-розрядним попереднім дільником;

Timer1 — 16-розрядний таймер/лічильник реального часу із зовнішнім входом;

Timer2 — 8-розрядний таймер/лічильник реального часу з 8-розрядним регістром періоду, попереднім дільником і вихідним дільником;

Аналоговий модуль компаратора:

Два аналогові компаратори Програмований модуль вбудованого джерела опорної напруги (VREF)

Програмований мультиплексорний вхід від входів пристрою і внутрішнього джерела опорної напруги Виходи компаратора можуть бути сигнальними виходами

15 ліній введення/виведення з індивідуальним заданням напряму.

Високий вхідний та вихідний струм для безпосереднього управління світлодіодними індикаторами.

Універсальний синхронно-асинхронний прийомопередатчик (USART/SCI).16 байт загальної пам’яті.

Модуль захвату /компаратора /ШИМ:

захоплення 16 розрядів, максимальна роздільча здатність 12,5 нс;

порівняння 16 розрядів, максимальна роздільча здатність 200 нс;

ШИМ, максимальна роздільча здатність 10 розрядів.

Рис. 2.3 Схема мікроконтролера серії PIC16F62Х.

Особливості ядра:

Скидання при включенні живлення (POR);

Таймер включення живлення (PWRT) і таймер запуску генератора (OST)

Скидання по падінню напруги живлення (BOD)

Сторожовий таймер (WDT) з власним вбудованим RC-генератором для підвищення надійності роботи;

Програмований захист коду Режим економії енергії (SLEEP)

Програмування на платні через послідовний порт (з використанням двох виводів) Чотири програмованих користувачем ідентифікатора Низька напруга програмування;

Multiplexed MCLR-pin

Programmable weak pull-ups on PORTB

Пробудження з режиму SLEEP по зміні стану виводів;

Внутрішні резистори до шини живлення на лініях введення/виведення;

Внутрішній резистор на лінії MCLR;

Вибирані режими тактового генератора:

FLASH конфігураційні біти для установки режимів генератора;

Двочастотний INTRC з низьким енергоспоживанням;

EXTRC: зовнішній недорогий RC-генератор;

XT: стандартний генератор на кварцевому резонаторі;

LP: економічний, низькочастотний генератор на кварцевому резонаторі.

HS: високочастотний генератор на кварцевому резонаторі.

ЄС: вхід для підключення зовнішнього генератора.

Технологія КМОП:

Економічна, високошвидкісна технологія КМОП FLASH

Повністю статична архітектура Широкий робочий діапазон напруг живлення:

PIC16F628 — від 3,0 В до 5,5 В Низьке споживання енергії: — < 2 мА при 5,0 В, 4,0 Мгц

15 мкА (типове значення) при 3 В, 32 кГц

< 1,0 мкА (типове значення) в режимі STANDBY при 3 В Рис. 2.4 Архітектура мікроконтролера PIC16F628.

Середня роздрібна ціна на мікроконтролер PIC16F628 складає порядку 20 — 25 $.

2.4 Підбір елементів схеми

В розробленій схемі були використані такі компоненти:

— мікроконтролер PIC16F628

— резистор

— світлодіод

— конденсатор

— стабілізатор KPEH5A

— датчики

— стабілітрон

— гучномовець

Зберемо розроблену схему за допомогою програмного пакету PROTEUS VSM. Сама схема показана на рис. 2.5 який міститься у додатках.

2.5 Калькуляція виробу

Враховуючи ціни на всі складові елементи пристрою та їх кількість приблизна ціна проекту складає 483 долара.

Специфікація та калькуляція елементів схеми.

Елемент

Кількість

Ціна за шт.,$

Ціна комплекту, $

Мікроконтролер PIC16F628

Резистор

0,2

Світлодіод

Конденсатор

Стабілізатор KPEH5A

5,5

Датчик

Динамік

Всього:

Розділ 3. Розробка програмної частини

Розробка схеми здійснювалась за допомогою програмного продукту PROTEUS VSM. Даний програмний продукт дозволяє малювати схеми і виконує наступні функції: автоматичне розведення доріжок та автоматичне розміщення елементів схеми на платі.

Програма ISIS призначена для виконання принципових схем будь-якої складності та подальшої їх перевірки за допомогою емулятора, який входить до складу програми. Емулятор роботи схеми має власну бібліотеку елементів (які використовуються для малювання) до складу якої входить велика кількість елементів, включаючи мікроконтролери фірми AVR Atmel та ін. Програмний емулятор дозволяє працювати з будь-якими мікропроцесорними системами.

Симулятор дає можливість «заглянути всередину» мікроконтролера, зіставивши форму і характер сигналів на його виходах з ходом виконання програми і змінами стану внутрішніх регістрів. До цих регістрів моделі (на відміну від реальної мікросхеми) завжди є доступ.

Можливість перевіряти роботу мікроконтролерів всіх популярних сімейств в реальному масштабі часу і у взаємодії з моделями реальних джерел сигналу і навантажень вигідно відрізняє ISIS від простих симуляторів, наявних в системах розробки програм і часто дозволяючих лише стежити за ходом покрокового виконання програми.

Друга частина пакету PROTEUS VSM — програма ARES — автоматизує розробку друкарської платні і здатна прийняти як початкові дані принципову схему пристрою, перевіреного і відлагодженого за допомогою програми ISIS.

3.1 Вибір середовища програмування

Для відлагодження роботи схеми будемо використовувати середовище MPASM. MPASM — це безкоштовна, універсальна програма компіляції вихідного тексту програми на мові асемблер для мікроконтролерів PICmicro компанії Microchip Technology Incorporated. MPASM забезпечує універсальний інструмент розробки програм для 12/14/16 — розрядних мікроконтролерів PICmicro.

MPASM використовується для генерації абсолютного коду, який може бути завантажений безпосередньо в мікроконтролер. Абсолютний код — це режим роботи програми MPASM по замовчуванню. При компіляції вихідного файлу в цьому режимі, всі значення повинні бути у вихідному файлі. Якщо компіляція виконана без помилок, то буде створений hex файл коду програми, який можна використовувати для безпосереднього програмування мікроконтролера.

Вибір середовища в програмному продукті PROTEUS VSM.

Рис.3.1 Вибір програми для компіляції.

Отже, перевагами MPASM є підтримка всіх інструкцій мікроконтролерів PICmicro, віконний інтерфейс, система директив, підтримка макросів та сумісність з MPLAB IDE.

3.2 Вибір мови програмування

Так як розробка схеми здійснювалась за допомогою програмного продукту PROTEUS VSM, вибір мови програмування здійснився автоматично. Програма розроблялась на мові програмування асемблер.

Асемблер — це мова програмування низького рівня. Мова Асемблера об'єднує в собі переваги мови машинних команд і деякі риси мов високого рівня. Асемблер забезпечує можливість застосування символічних імен в початковій програмі і позбавляє програміста від утомливої праці (неминучої при програмуванні на мові машинних команд) по розподілу пам’яті комп’ютера для команд, змінних і констант.

Асемблер дозволяє також гнучко і повно використовувати технічні можливості комп’ютера, як і мова машинних команд. Транслятор початкових програм в Асемблері простіший за транслятор, потрібний для мови програмування високого рівня. На Асемблері можна написати таку ж ефективну за розміром і часом виконання програму, як і програму на мові машинних команд. Ця властивість відсутня у мов високого рівня. Цю мову часто застосовують для програмування систем реального часу, технологічних процесів і устаткування, забезпечення роботи інформаційно-вимірювальних комплексів. До таких систем звичайно пред’являються високі вимоги за об'ємом займаної машинної пам’яті. Часто мова Асемблера доповнюється засобами формування макрокоманд, кожна з яких еквівалентна цілій групі машинних команд. Таку мову називають мовою макроасемблера. Застосування мак «будівельних» блоків і наближає мову Асемблера до мови високого рівня. Асемблер машинно-залежна мова, тобто він відображає особливості архітектури конкретного типа комп’ютера. Початкова програма, написана на асемблері, складається з одного або декількох початкових модулів, а кожен модуль — з операторів.

Нижче показаний процес вибору hex-файлу для мікроконтролера.

Рис.3.2 Вибір прошивки для PIC16F628.

Текст програми для мікроконтролера PIC16F628 наведений в додатках.

Наведений код є програмною реалізацією пристрою захисту від несанкціонованого доступу. При порушенні шлейфу, тобто при замиканні одного із використаних в схемі ключів, спрацьовує звукова сигналізація за допомогою гучномовця та світлова сигналізація, реалізована за допомогою світлодіодів різного кольору світіння.

Висновки

При виконанні даної курсової роботи було розроблено мікропроцесорний пристрій охорони офісу. Принципова схема була побудована на базі мікрконтролера PIC16F628 та з використанням датчиків розбиття скла та фотоелектричних. Розроблений пристрій являється програмно-апаратним засобом охорони офісу та є реалізацією технологічних методів захисту інформації.

Головною особливістю і перевагою мікрконтролера PIC16F628 є наявність у його складі універсального синхронно/асинхронного прийомо-передавача — USART. Цей апаратний пристрій в мікро контролері дозволяє приймати і передавати інформацію по протоколу RS-232 (інтерфейс COM — порту). PIC16F628 — це високопродуктивний RISC-процесор. Необхідно всього 35 простих для вивчення односкладових інструкції. Швидкість роботи контролера: тактова частота до 20 Мгц, мінімальна тривалість такту 200 нс.

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

Список використаних джерел

1. http://auction.ua/item/1 147 312. htm

2. http://gsm-c45. narod.ru/PIC16F628A.html

3. http://pro-radio.ru/controllers/3864/

4. http://www.compitech.ru/html. cgi/arhiv/0304/stat120. htm

5. http://www.rlocman.ru/shem/search.html? q=PIC16F628A

6. http://www.gsm-storozh.com/1. htm

7. Вовків А. УЗ датчик охоронної сигналізації. — Радіо, 2003 № 5, с.

8. www.itsf.ru/bespr. htm

9. Козаченко В., Хмельовськая Л. Кодовий замок // Радіо. — 1990. — № 8

10. Марченко Д. Н. Просте економне охоронне устройство //. — № 9.

11. Нечаєв І. ІК-локатор для сліпих. — Радіо, 1989 N10, С.84

12. («Радіомир» № 9/2004, с.38−44.

13. Вілл В. Інфрачервоний сторож. — Радіо, 1996 № 1, с.52−54.

14. Вілл В. Ультразвукий автосторож. — Радіо, 1996 № 4, с.43−49.

15. Виноград Ю. Электронная охрана. — М.: СИМВОЛ-Р|, 1996

16. Радіо, 1998 N7, С.42

17. Магнітометричний пристрій для охоронної сигналізації // Патент РФ № 2 075 905 від 20.03.96

Додатки

Додаток 1. Основні технічні характеристики мікроконтролера PIC16F628

Додаток 2

Рис. 2.5 Схема розробленого пристрою.

Додаток 3. програма для мікроконтролера PIC16F628A

includep16f628. inc

__config _WDT_ON & _MCLRE_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF & _BODEN_OFF

; программа для частоты процессора 1 МГц!!!

cblock 0×20

dsdat0

dsdat1

dsdat2

dsdat3

dsdat4

dsdat5

dsdat6

dsdat7

var01

var02

var03

var04

var05

var06

_4del

_ms_del

endc

DQequ4

Bp1equ2

Bp2equ3

; - ——-;

org 0×00

movlwb'111'

movwfCMCON; компараторы не используются

bcfPORTA, 1;!!!

bcf STATUS, RP1

bsf STATUS, RP0; bank 1

movlwb'11 110 001'

movwfTRISA

movlwb'1'

movwfTRISB

movlwb'1 111 010'

movwfOPTION_REG

bcfSTATUS, RP0; bank 0

movlwd'50'

movwfvar01

start_test:

btfscPORTB, 0

gotod_start

movlwd'100'

call _ms_delay

decfszvar01, f

gotostart_test

call_clean_eeprom; - очистить EEPROM

movlwd'114'

movwfvar01

movlwd'31'

movwfvar02

movlwd'2'

movwfvar03

call_sound

movlwd'67'

call_ms_delay

call_sound

d_start:

; задержка ~72 мс

sleep

; передаём ипульс сброса

bcfPORTA, DQ

bsfSTATUS, RP0; bank 1

bcfTRISA, DQ; DQ — выход

bcfSTATUS, RP0; bank 0

movlwd'124'; задержка 502 мкс

call_4delay

bsfSTATUS, RP0; bank 1

bsfTRISA, DQ; DQ — вход

bcfSTATUS, RP0; bank 0

movlwd'16'; задержка 70 мкс

call _4delay

btfscPORTA, DQ; на DQ низкий уровень?

gotod_start; нет — начать с начала

movlwd'106'; задержка 430 мкс

call_4delay

btfssPORTA, DQ; на DQ высокий уровень?

gotod_start; нет — начать с начала

; передаём команду

movlw0x33; код команды

callsend_byte

movlw dsdat0

movwf FSR

movlwd'8'

movwfvar03

_next_rc_byte:

callreceive_byte

movwfINDF

incfFSR, f

decfszvar03, f

goto_next_rc_byte

movfdsdat0, f

btfscSTATUS, Z

goto_error_data

; вычисляем CRC

clrfvar04

movlwd'7'

movwf var01

movlw dsdat0

movwf FSR

Next_byte:

movlw 0×08

movwf var02

movfINDF, w

movwf var03

DoCRC_Loop:

xorwf var04, w

movwf var05

rrf var05, w

movf var04, w

btfsc STATUS, C

xorlw b'11 000'

movwf var05

rrf var05, w

movwf var04

bcf STATUS, C

rrf var03, f

movf var03, w

decfsz var02, f

goto DoCRC_Loop

incf FSR, f

decfszvar01, f

goto Next_byte

; в переменной var04 — crc первых 7-ми байт

movf var04, w

xorwf dsdat7, w

btfss STATUS, Z

goto _error_data

clrwdt; сброс watсhdog таймера

callsearch_eeprom

xorlw0x01

btfssSTATUS, Z

gotof_id

ok_idcall_identify_ok

gotod_start

f_idcall_identify_failed

gotod_start

search_eeprom:

; поиск в EEPROM

clrw

bsfSTATUS, RP0; bank 1

movwfEEADR

bsfEECON1, RD

movfEEDATA, w

bcfSTATUS, RP0; bank 0

movwfvar01; количество ключей

movlw0x01

movwfvar02; адрес в EEPROM

_next_sr:

movlwd'6'

movwfvar03; номер проверяемого байта

movlwdsdat1

movwfFSR

_st_cmp:

movfvar02, w; адрес в W

bsfSTATUS, RP0; bank 1

movwfEEADR; W в регистр адреса

bsfEECON1, RD; начать чтение

movfEEDATA, w; из EEPROM в W

bcfSTATUS, RP0; bank 0

xorwfINDF, w; сравнить прочитанный байт с байтом

btfscSTATUS, Z; равны?

goto_next_cmp; да, сравнить следующий

movfvar03, w

addwfvar02, f

decfszvar01, f; все номера сравнены?

goto_next_sr; нет, сравнить снова

clrw; да, выйти из подпрограммы с W=0

gotoexit_se

_next_cmp:

incfFSR, f; следующий байт

incfvar02, f; следующий байт EEPROM

decfszvar03, f; все байты проверены?

goto_st_cmp; нет, проверить следующие

; да — выйти из подпрограммы с W=1

movlw0x01

exit_se:

return

_identify_ok:

; сигнал «пользователь определён»

movlwd'45'; 556 Hz

movwfvar01

movlwd'37'; 1/15 сек

movwfvar02

movlwd'2'

movwfvar03

call_sound

movlwd'40'; 625 Hz

movwfvar01

movlwd'42'; 1/15 сек

movwfvar02

call_sound

movlwd'67';

call_ms_delay;

movlwd'30'; 833 Hz

movwfvar01

movlwd'111'; 1/7 сек

movwfvar02

call_sound

movlwd'15'

movwfvar01

movlwd'222'

movwfvar02

call_sound

btfssPORTB, 0;!!!

call_write_serial;!!!

bsfPORTA, 1

movlwd'7'

movwfdsdat0;!!! используется dsdat0

next_id_sound:

movlwd'14'

movwfvar01

movlwd'51'

movwfvar02

movlwd'14'

movwfvar03

call_sound

movlwd'100'

call_ms_delay

decfszdsdat0, f

gotonext_id_sound

bcfPORTA, 1

return

_identify_failed:

; сигнал «пользователь не определён»

movlwd'45'; 556 Hz

movwfvar01

movlwd'37'; 1/15 сек

movwfvar02

movlwd'2'

movwfvar03

call_sound

movlwd'40'; 625 Hz

movwfvar01

movlwd'42'; 1/15 сек

movwfvar02

call_sound

movlwd'67';

call_ms_delay;

movlwd'241'; 104 Hz

movwfvar01

movlwd'14'; 1/7 сек

movwfvar02

call_sound

movlwd'67';

call_ms_delay;

call_sound

btfssPORTB, 0

call_write_serial

movlwd'7'

movwfvar01

movlwd'250'

call_ms_delay

decfszvar01, f

goto$-3

return

; подпрограмма передачи байта

send_byte:

movwfvar01

movlwd'8'

movwfvar02; количество передаваемых бит

next_tr_b:

bcfPORTA, DQ

bsfSTATUS, RP0; bank 1

bcfTRISA, DQ; DQ — выход

bcfSTATUS, RP0; bank 0

nop

nop

rrfvar01, f

btfscSTATUS, C

goto_set_in

nop

nop

goto_no_set_in

_set_in:

bsf STATUS, RP0; bank 1

bsfTRISA, DQ; DQ — вход

bcfSTATUS, RP0; bank 0

_no_set_in:

movlwd'14'; задержка 62 мкс

call_4delay

bsf STATUS, RP0; bank 1

bsfTRISA, DQ; DQ — вход

bcfSTATUS, RP0; bank 0

nop

nop

nop

nop

decfszvar02, f

gotonext_tr_b

return

; подпрограмма приёма байта

receive_byte:

movlwd'8'

movwfvar01

clrfvar02

next_rc_b:

bcfPORTA, DQ

bsfSTATUS, RP0; bank 1

bcfTRISA, DQ; DQ — выход

bcfSTATUS, RP0; bank 0

nop

nop

nop

nop

nop

nop

bsfSTATUS, RP0; bank 1

bsfTRISA, DQ; DQ — вход

bcfSTATUS, RP0; bank 0

nop

nop

nop

bcf STATUS, C

btfscPORTA, DQ

bsfSTATUS, C

rrfvar02, f

movlwd'11'; задержка 50 мкс

call_4delay

decfszvar01, f

gotonext_rc_b

movfvar02, w

return

; - ——-____——————-;

_error_data:

movlwd'223'

movwfvar01

movlwd'9'

movwfvar02

movlwd'2'

movwfvar03

call_sound

goto d_start

; подпрограмма задержки ms

_ms_delay:

movwf_ms_del

_1000us:

nop

nop

movlwd'247'

call_4delay

decfsz_ms_del, f

goto_1000us

return

; подпрограмма задержки us

_4delay:

movwf _4del

l4dlclrwdt

decfsz _4del, f

goto l4dl

return

_write_serial:

movlwdsdat1

movwfFSR

bsfSTATUS, RP0; bank 1

clrfEEADR

bsfEECON1, RD

movfEEDATA, w

bcfSTATUS, RP0; bank 0

movwfvar01

sublwd'20'

btfssSTATUS, C

goto_mem_full

movfvar01, w

bcfSTATUS, C;

rlfvar01, f; умножаем var01 на 6

rlfvar01, f; - ——— // ————;

addwfvar01, f; - ——- // ————;

addwfvar01, f; - —— // ————;

incfvar01, w; var01 +1

bsfSTATUS, RP0; bank 1

bsfEECON1, WREN

movwfEEADR

_next_byte:

movfINDF, w

movwfEEDATA

call_eeprom_write

incfEEADR, f

incfFSR, f

movlwdsdat7

subwfFSR, w

btfssSTATUS, C

goto_next_byte

bcfEECON1, WREN

clrfEEADR

bsfEECON1, RD

movfEEDATA, w

addlw0x01

bsfEECON1, WREN

movwfEEDATA

call_eeprom_write

bcfEECON1, WREN

bcfSTATUS, RP0; bank 0

gotoexit_write_serial

_mem_full:

movlwd'30'

movwfvar01

movlwd'165'

movwfvar02

movlwd'2'

movwfvar03

call_sound

movlwd'67';

call_ms_delay;

movlwd'34'

movwfvar01

movlwd'105'

movwfvar02

call_sound

movlwd'67';

call_ms_delay;

movlwd'28'

movwfvar01

movlwd'178'

movwfvar02

call_sound

movlwd'67';

call_ms_delay;

movlwd'45'

movwfvar01

movlwd'79'

movwfvar02

call_sound

exit_write_serial:

return

_clean_eeprom:

bsfSTATUS, RP0; bank 1

bsf EECON1, WREN; разрешить запись

clrfEEADR

movlw0x00

movwfEEDATA

goto_write_first

_nx_adrmovlw0xFF

movwfEEDATA

_write_first:

call _eeprom_write

incfEEADR, f

movlw0x80

subwfEEADR, w

btfssSTATUS, C

goto_nx_adr

bcfEECON1, WREN; запретить запись

bcfSTATUS, RP0; bank 0

return

_eeprom_write:

; bcf INTCON, GIE; запретить прерывания

clrwdt

movlw 0×55

movwf EECON2

movlw 0xAA

movwf EECON2

bsf EECON1, WR

eewrtsbtfsc EECON1, WR

goto eewrts

return

org 0×2100

DATA 0×00

end

Показати весь текст
Заповнити форму поточною роботою