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

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Курсова робота
Предмет:
Програмування

Частина тексту файла (без зображень, графіків і формул):

КУРСОВА РОБОТА З курсу "Архітектура та програмування мікроконтролерів" Тема: "Розробка мікропроцесорної системи охорони офісу" Черкаси 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 x 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 1 20 20  Резистор 10 0,2 3  Світлодіод 5 2 9  Конденсатор 3 50 155  Стабілізатор KPEH5A 1 5,5 5  Датчик 4 70 286  Динамік 1 4 5   Всього: 483   Розділ 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/1147312. htm 2. http://gsm-c45. narod.ru/PIC16F628A.html 3. http://pro-radio.ru/controllers/3864/ 4. http://www.compitech.ru/html. cgi/arhiv/03_04/stat_120. 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. Магнітометричний пристрій для охоронної сигналізації // Патент РФ № 2075905 від 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 0x20 dsdat0 dsdat1 dsdat2 dsdat3 dsdat4 dsdat5 dsdat6 dsdat7 var_01 var_02 var_03 var_04 var_05 var_06 _4del _ms_del endc DQequ4 Bp1equ2 Bp2equ3 ; - ------ org 0x00 movlwb'00000111' movwfCMCON; компараторы не используются bcfPORTA, 1;!!!!!!!!!!!!! bcf STATUS, RP1 bsf STATUS, RP0; bank 1 movlwb'11110001' movwfTRISA movlwb'00000001' movwfTRISB movlwb'01111010' movwfOPTION_REG bcfSTATUS, RP0; bank 0 movlwd'50' movwfvar_01 start_test: btfscPORTB, 0 gotod_start movlwd'100' call _ms_delay decfszvar_01, f gotostart_test call_clean_eeprom; - очистить EEPROM movlwd'114' movwfvar_01 movlwd'31' movwfvar_02 movlwd'2' movwfvar_03 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' movwfvar_03 _next_rc_byte: callreceive_byte movwfINDF incfFSR, f decfszvar_03, f goto_next_rc_byte movfdsdat0, f btfscSTATUS, Z goto_error_data ; вычисляем CRC clrfvar_04 movlwd'7' movwf var_01 movlw dsdat0 movwf FSR Next_byte: movlw 0x08 movwf var_02 movfINDF, w movwf var_03 DoCRC_Loop: xorwf var_04, w movwf var_05 rrf var_05, w movf var_04, w btfsc STATUS, C xorlw b'00011000' movwf var_05 rrf var_05, w movwf var_04 bcf STATUS, C rrf var_03, f movf var_03, w decfsz var_02, f goto DoCRC_Loop incf FSR, f decfszvar_01, f goto Next_byte ; в переменной var_04 - crc первых 7-ми байт movf var_04, 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 movwfvar_01; количество ключей movlw0x01 movwfvar_02; адрес в EEPROM _next_sr: movlwd'6' movwfvar_03; номер проверяемого байта movlwdsdat1 movwfFSR _st_cmp: movfvar_02, 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; да, сравнить следующий movfvar_03, w addwfvar_02, f decfszvar_01, f; все номера сравнены? goto_next_sr; нет, сравнить снова clrw; да, выйти из подпрограммы с W=0 gotoexit_se _next_cmp: incfFSR, f; следующий байт incfvar_02, f; следующий байт EEPROM decfszvar_03, f; все байты проверены? goto_st_cmp; нет, проверить следующие ; да - выйти из подпрограммы с W=1 movlw0x01 exit_se: return _identify_ok: ; сигнал "пользователь определён" movlwd'45'; 556 Hz movwfvar_01 movlwd'37'; 1/15 сек movwfvar_02 movlwd'2' movwfvar_03 call_sound movlwd'40'; 625 Hz movwfvar_01 movlwd'42'; 1/15 сек movwfvar_02 call_sound movlwd'67'; call_ms_delay; movlwd'30'; 833 Hz movwfvar_01 movlwd'111'; 1/7 сек movwfvar_02 call_sound movlwd'15' movwfvar_01 movlwd'222' movwfvar_02 call_sound btfssPORTB, 0;!!!!!!! call_write_serial;!!!!!!! bsfPORTA, 1 movlwd'7' movwfdsdat0;!!!! используется dsdat0 next_id_sound: movlwd'14' movwfvar_01 movlwd'51' movwfvar_02 movlwd'14' movwfvar_03 call_sound movlwd'100' call_ms_delay decfszdsdat0, f gotonext_id_sound bcfPORTA, 1 return _identify_failed: ; сигнал "пользователь не определён" movlwd'45'; 556 Hz movwfvar_01 movlwd'37'; 1/15 сек movwfvar_02 movlwd'2' movwfvar_03 call_sound movlwd'40'; 625 Hz movwfvar_01 movlwd'42'; 1/15 сек movwfvar_02 call_sound movlwd'67'; call_ms_delay; movlwd'241'; 104 Hz movwfvar_01 movlwd'14'; 1/7 сек movwfvar_02 call_sound movlwd'67'; call_ms_delay; call_sound btfssPORTB, 0 call_write_serial movlwd'7' movwfvar_01 movlwd'250' call_ms_delay decfszvar_01, f goto$-3 return ; подпрограмма передачи байта send_byte: movwfvar_01 movlwd'8' movwfvar_02; количество передаваемых бит next_tr_b: bcfPORTA, DQ bsfSTATUS, RP0; bank 1 bcfTRISA, DQ; DQ - выход bcfSTATUS, RP0; bank 0 nop nop rrfvar_01, 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 decfszvar_02, f gotonext_tr_b return ; подпрограмма приёма байта receive_byte: movlwd'8' movwfvar_01 clrfvar_02 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 rrfvar_02, f movlwd'11'; задержка 50 мкс call_4delay decfszvar_01, f gotonext_rc_b movfvar_02, w return ; - -----____-------------- _error_data: movlwd'223' movwfvar_01 movlwd'9' movwfvar_02 movlwd'2' movwfvar_03 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 movwfvar_01 sublwd'20' btfssSTATUS, C goto_mem_full movfvar_01, w bcfSTATUS, C; rlfvar_01, f; умножаем var_01 на 6 rlfvar_01, f; - ------ // --------- addwfvar_01, f; - ----- // --------- addwfvar_01, f; - ---- // --------- incfvar_01, w; var_01 +1 bsfSTATUS, RP0; bank 1 bsfEECON1, WREN movwfEEADR _next_byte: movfINDF, w movwfEEDATA
Антиботан аватар за замовчуванням

19.03.2017 16:03-

Коментарі

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

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!