Кодовий замок на мікроконтролері AT90S2313

Процес розробки алгоритму і складання програми на Асемблері. Сутність коду відмикання та його збереження в енергонезалежній пам’яті мікропроцесора. Обладнання системи інтерфейсом RS-232, що дає можливість завантажувати з ПК параметри роботи системи.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 15.11.2013
Размер файла 1011,0 K

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

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

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

Зміст

Вступ

1. Аналіз поставленої задачі

2. Огляд існуючих методів та вибір методу розв'язування

3. Вибір елементної бази

4. Розробка алгоритму та програмного забезпечення

Висновки

Література

Додатки

Вступ

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

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

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

1. Аналіз поставленої задачі

Потрібно розробити електронний кодовий замок на мікроконтролері AT90S2313.

Розробити алгоритм і скласти програму на Асемблері. Введення коду має відбувається за допомогою восьми клавіш.

Довжина коду має бути 10 символів. Підтвердження введеного коду здійснюється за допомогою клавіши «Вхід», а для можливості зміни коду замка, кнопка «Кодування», для цього потрібно ввести старий код натиснути кнопку «Кодування» та ввести новий код.

Код відмикання має зберігатися в енергонезалежній пам'яті мікропроцесора.

Потрібно обладнати систему інтерфейсом RS-232, що дає можливість завантажувати з ПК параметри роботи системи.

Затримка виконання відкривання замка повинна бути не більше 1с.

Живлення здійснюється від промислової електричної мережі (220В, 50Гц)

асемблер енергонезалежний інтерфейс мікропроцесор

2. Огляд існуючих методів та вибір методу розв'язання

Перший метод розглянуто в книзі А.В. Бєлов "Микроконтролеры AVR в радиолюбительской практике". Він дещо складніший чим в завданні але досить цікавий. Даний метод дозволяє використовувати комбінації клавіш, по парно натискати кнопки. Тобто натиснути кнопку 4 і не відпускаючи її набрати код 257. І взагалі вибрати будь-яку комбінацію.

Принци дії: в режимі запису коду власник натискає кнопки набору коду в будь-якому порядку і в будь-яких комбінаціях. Мікроконтролер відслідковує всі зміни на клавіатурі і записує їх в ОЗП. Довжина кодової послідовності обмежена тільки розміром ОЗП. Сигналом для закінчення введення коду служить кнопка «Кодування»

В робочому режимі замок очікує вводу кода. Для відкриття необхідно повторити ті самі маніпуляції з кнопками, які ми виконували в режимі запису. Мікроконтролер так як і в попередньому випадку, відслідковує ці маніпуляції і записує отриманий таким чином код в ОЗП. Після натискання кнопки «Вхід» програма переходить в режим звірки кода в ОЗП і кода записаного в енергонезалежну пам'ять (EEPROM). Спочатку порівнюється довжина двох кодів, потім коди звіряють побайтно. Якщо звірення виконано успішно мікроконтролер подає сигнал на механізм відкривання замка.

При складанні даного алгоритму нам не обійтися без такого поняття, як «код стану клавіатури». Що таке код стану? Всі кнопки клавіатури підключаються до мікроконтролера за допомогою портів вводу-виводу. Для підключення десяти кнопок (кнопки «О» - «9») одного порту недостатньо. Кілька кнопок доведеться підключити до другого. Контролер читає вміст цих портів і отримує код, відповідний їх станом. Кожній кнопці клавіатури в цьому коді буде відповідати свій окремий біт. Коли кнопка натиснута, відповідний біт буде дорівнює нулю. Коли відпущена - одиниці. Тому при різних поєднаннях натиснутих і відпущених кнопок код стану клавіатури буде мати різні значення.

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

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

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

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

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

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

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

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

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

Процедура введення кодової комбінації влаштована таким чином, що при кожному натисканні чи відпусканні кожної з кнопок таймер скидається в нуль. У проміжку між натисканнями його показник збільшуються під дією тактового сигналу. Якщо протягом захисного проміжку часу не буде натиснута жодна кнопка, показання таймера збільшаться до контрольної межі. Програма постійно перевіряє цю умову. Як тільки показання лічильника перевищать контрольну межу, процедура введення кодової комбінації завершується. Величина контрольного проміжку часу дорівнює 1 с. Подальші дії після виходу з процедури введення кодової комбінації визначаються станом перемикача режимів роботи. Якщо контакти перемикача замкнуті, програма переходить до процедури запису кодової комбінації в EEPROM. Спочатку в EEPROM записується довжина кодової комбінації. А потім байт за байтом і сама комбінація. Якщо контакти перемикача режиму роботи розімкнуті, то програма переходить до процедури перевірки коду. Ця процедура спочатку витягує з EEPROM записану раніше довжину кодової комбінації і порівнює її кількість з довжиною тільки що введеною комбінації. Якщо дві ці величини не рівні, процедура перевірки коду відразу ж завершується з негативним результатом. Якщо довжина обох комбінацій однакова, то програма приступає до побайтно їх порівнянні. Для цього вона по черзі витягує з EEPROM раніше записані туди байти і порівнює кожен з них з відповідними байтами в ОЗП. При першій же розбіжності процес порівняння також завершується. І завершується негативно. І тільки в тому випадку, якщо всі байти в ОЗП і в EEPROM виявляться однаковими, порівняння вважається успішним.

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

Другий метод розглянуто в електронному журналі «Радиоежегодник» - Випуск 16 - розроблений Сергієм Шишкіним.

До складу замка входять соленід, плата контролера А2, структурна схема плати А2. В склад плати контролера входять мікроконтролер, кнопкова клавіатура і блок динамічної індикації.

Алгоритм роботи електронного кодового замка досить простий. У робочому режимі відразу після подачі живлення на дисплеї відображається число 0000, і мікроконтролер чекає введення чотирьох розрядного коду. Який вводиться з клавіатури, і записується в ОЗП мікроконтролера. Після введення четвертого розряду чотирьох розрядного коду мікроконтролер побайтно порівнює його з еталонним чотирьох розрядним кодом, записаним в пам'яті програми. Замок включається (тобто мікроконтролер подає сигнал на включення механізму відкривання замка) при виконанні двох умов: код збігся з еталонним кодом і на виводі PD6 мікроконтролера присутній лог. 0. У цьому випадку мікроконтролер на 5с подає сигнал на включення механізму відкривання замка. Через 5 с мікроконтролер вимикає механізм відкриття замка і обнуляє дисплей. Якщо введений код не збігся з еталонним кодом, то мікроконтролер після введення четвертого розряду чотирьох розрядного коду відразу обнуляє дисплей (на дисплеї число 0000). Інтерфейс плати контролера містить вузол індикації на цифрових семисегментних індикаторах HG1 - HG4, перемикач SА1 і кнопки для введення коду доступу S1 - S8, позначені цифрами від «1» до «7». На чотири розрядному дисплеї відображається введений код, після введення еталонного коду мікроконтролер на 5с подає сигнал на включення механізму відкривання замка. Якщо необхідно подати постійний сигнал на включення механізму відкривання замку, то протягом 5 с після введення еталонного коду необхідно натиснути на кнопку S8. Якщо необхідно закрити замок, то слід знову натиснути на S8. Плата контролера має вхід (контакт 1 з'єднувача Х2 - сигнал «Вхід») і вихід (контакт 1 з'єднувача Х1 - сигнал «Вихід»). Дані сигнали надходять відповідно на висновки 11 і 9 мікроконтролера DD1. Основою пристрою служить мікроконтролер DD1, робоча частота якого (10 МГц).

Динамічна індикація зібрана на транзисторах VT1 - VT4 і семисегментних індикаторах HG1 - HG4. Резистори R4 - R11 - струмообмежувальні. Коди для включення вищевказаних індикаторів при функціонуванні динамічної індикації надходять в порт PВ мікроконтролера DD1. для обслуговування клавіатури задіяний вивід 7 (PD3) мікроконтролера DD1. Відразу після подачі живлення на вивід 1 мікроконтролера DD1 через ланцюг R3C3 формується сигнал системного апаратного скидання, і на дисплеї відображається код 0000. Напруга +5 В надходить на пристрій з'єднувача Х3.

Перемикачем SA1 задається режим роботи плати контролера. Якщо перемикач встановлений в положення «2», то плата контролера працює в складі замку як функціонально закінчений пристрій (режим роботи № 2) (функціональна схема замку в режимі роботи № 2 наведена на рис. 2.1). Розглянемо роботу плати контролера в складі замку в даному режимі. Відразу після подачі напруги живлення замок готовий до введення коду для відкриття замку.

Необхідна умова - лог. 0 на виводі 11 мікроконтролера - виконано установкою перемикача SA1 в положення «2».

Рис. 2.1

Перед набором коду на дисплеї відображається число 0000. Кнопками S1 - S7 набирається чотири розрядний код, який відображається на дисплеї. Мікроконтролер після установки числа в 4 му розряді записує отриманий чотири розрядний код в ОЗП і починає звірку коду, записаного в ОЗП, і коду, записаного в пам'яті програми (еталонного коду), коди порівнюються побайтно. Якщо код введений правильно, то мікроконтролер подає сигнал на виконавчий механізм відкривання замку. Через 5 с на виводі 9 мікроконтролера встановлюється лог. 1 (сигнал на закривання замку). На дисплеї знову відображається число 0000. Якщо код набрано неправильно, то після введення четвертого розряду мікроконтролер знову відображає на дисплеї число 0000.

Щоб сигнал рівня лог. 0 на виводі 9 мікроконтролера був присутній постійно (замок був завжди відкритий), необхідно після набору еталонного коду натиснути на кнопку S8, при цьому на дисплеї в першому розряді (індикатор HG4) відобразиться точка h.

В ОЗП мікроконтролера з адреси $ 60 до адресу $ 64 організований буфер відображення для динамічної індикація (RAM = $ 60 - початкова адреса буфера відображення). Прапори, задіяні в програмі, знаходяться в регістрах R19 (flo) і R25 (flo1). Розроблена на асемблері програма займає всього 700 байт пам'яті мікроконтролера. Незначно змінивши програмне забезпечення мікроконтролера, код для відкриття замку можна зробити, наприклад, 10 розрядним, що підвищить степінь захисту.

3. Вибір елементної бази

Вибір виконавчого елемента електромеханічного замку

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

Розрізняють два основні класи електрозамків: електромагнітні та електромеханічні. Електромагнітні замки - це електромагніт в чистому вигляді: при подачі на нього напруги відповідна механічна планка притягується. Якщо немає напруги, то немає й утримання.

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

До недоліків електромагнітних замків можна віднести те, що вони відкриваються при відсутності напруги.

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

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

Для замикання дверей житлового будинку найбільш доцільно використовувати електромеханічний замок, призначений для зовнішніх дверей приміщень. Розглянемо електромеханічний замок "ПОЛИС-13" російської фірми "Оника". Зовнішній вигляд замку показаний на рис. 3.1, його технічні характеристики наведені - в таблиці 3.1.

Рис. 3.1 Зовнішній вигляд замку "ПОЛИС-13"

Таблиця 3.1 Технічні характеристики замка “ПОЛИС-13”

Напруга живлення

12 В

Струм споживання

0.5 А

Діаметр засувів

18 мм

Хід засувів

17 мм

Габаритні розміри корпусу

140x92x30 мм

Маса

1.4 кг

Робочий діапазон температур

-40...+60 град С

Для відкриття замку необхідно подати на нього напругу 12В, при цьому споживання струму складе 0,5 А. При відключенні напруги замок закривається під дією пружини. Мікроконтролер, безпосередньо, не здатний виробляти комутацію кіл з великими напругами і струмами. Крім того, необхідно забезпечити гальванічну розв'язку виводів мікроконтролера і ланцюга приводу замка. Для цих цілей можна використовувати оптопару з вихідним каскадом на оптотиристорі, яка буде комутувати напругу в ланцюзі бази n-p-n транзистора. При подачі напруги транзистор відкриється і замкне ланцюг живлення замка. За своїми характеристиками нам підійде оптопара російського виробництва АОУ163А. Її характеристики наведені в таблиці 3.2.

Таблиця 3.2 Технічні характеристики оптопари АОУ163А

Кількість каналів

1

Постійне пряме вхідна напруга Uвх., В

1.3

При вхідному струмі Iвх., мА

10

Максимальний вхідний струм Iвх.макс., мА

25

Вихідний каскад

оптотиристор

Максимальний вихідний струм Iвих.макс., мА

100

Максимальна вихідна напруга, що комутується Uвих.ком.макс., В

400

Опір ізоляції між вхідними і вихідними ланцюгами, ГОм

100

Максимальна напруга ізоляції, В

1500

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

-45...85

Вибір клавіш

Клавіши є важливою частиною кодового замка, і повинна бути стійка до несприятливих впливів навколишнього середовища, особливо якщо замок встановлюється на зовнішніх дверей будинку. У цьому пристрої використовується клавіши ПКН125. Зовнішній вигляд клавіш представлений на рис. 3.2 технічні характеристики клавіши в таблиці 3.3.

Таблиця 3.3 Технічні характеристики клавіши ПКН125

Напруга, що комутується, В

1х10-4 ... 36

Струм (постійний, змінний), А

1х10-6 ... 0,1

Максимальна потужність комутації, Вт (ВА)

3,6

Кількість комутаційних циклів

100 000

Діапазон робочих температур

от -40 до +60 С

Рис. 3.2 Клавіши ПКН125

Вибір пристрої сигналізації відкриття дверей

Для сповіщення користувача про те, що двері відкриті, буде використовуватися світлова сигналізація. Для цього підійде світлодіод зеленого кольору АЛ336І. Його технічні характеристики представлені в таблиці 3.5

Таблиця 3.5 Характеристики світлодіода АЛ336І

Матеріал

GaP

Колір світіння

зеленый

Довжина хвилі, нм

563

Мінімальна сила світла Iv хв., мКд

20

при струмі Iпр., мА

10

Відомий тілесний кут, град

5

Форма лінзи

круглая

Максимальна пряма напруга, В

2.8

Максимальна зворотня напруга, В

2

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

60

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

-60...70

Вибір пристрої сигналізації про спробу підбору коду

При спробі підбору коду замка для повідомлення про це мешканців будинку доцільно використати звуковий сигнал. Для цього можна використовувати випромінювач звуку з вбудованим генератором робочої частоти. Такий пристрій не вимагає подачі на вхід високочастотного сигналу для його роботи. Досить просто забезпечити напруга живлення. П'єзоелектричний випромінювач звуку SMA-21-P10 фірми Sonitron володіє відповідними характеристиками таблиця 3.6 Зовнішній вигляд пристрою показаний на рис 3.3

Рис. 3.3 Випромінювач звуку SMA-21-P10

Таблиця 3.6 Характеристики випромінювача звуку SMA-21-P10

Тип

п'єзоелектричний

Вбудований генератор

є

Частота, Гц

3300

Номінальна робоча напруга, В

1.5-24

Максимальний струм, мА

3.8

Інтенсивність звуку, дБ

85

Толщина корпуса h, мм

9

Діаметр (ширина) корпусу d, мм

21

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

-20...70

Вибір датчика відкриття дверей

Для визначення моменту відкриття дверей буде використовуватися контактний герконовий датчик фірми Aleph. Для цієї мети нам підходить датчик DC-2541 (рис 3.4). Його технічні характеристики наведені в таблиці 3.7

Рис 3.4 Датчик DC-2541

Таблиця 3.7 Технічні характеристики датчика DC-2541

Габаритні розміри, мм.

Геркон: 61х18х15

Зазор мм.

22

Напруга, що комутується

28 В, 0,5 А, 3 Вт

Примітка

Для дерев'яних і металевих дверей

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

Основою завдання є використання мікроконтролер AT90S2313.

AT90S2313 є 8-ми розрядним CMOS мікроконтролером з низьким енергоспоживанням, заснованим на вдосконаленій AVR RISC архітектурі. Завдяки виконанню високопродуктивних інструкцій за один період тактового сигналу, AT90S2313 досягає продуктивності, що наближається до рівня 1 MIPS на МГц, забезпечуючи розробнику можливість оптимізувати рівень енергоспоживання відповідно до необхідної обчислювальної продуктивності. Ядро AVR містить потужний набір інструкцій і 32 робочих регістра загального призначення. Всі 32 регістра безпосередньо підключені до арифметико - логічного пристрою (АЛУ), що забезпечує доступ до двох незалежних регістрів при виконанні однієї інструкції за один такт. В результаті, дана архітектура має більш високу ефективність коду, при підвищенні пропускної здатності, аж до 10 разів, у порівнянні зі стандартними мікроконтролерами CISC.

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

Рис 3.5 Блок схема мікроконтролера AT90S2313

Рис 3.6 Розташування виводів

Призначення основних виводів мікросхеми:

VCC - напруга живлення;

GND - земля;

Порт B (PB7.. PB0) Порт B є 8-бітний двонаправлений порт вводу / виводу.

Порт D (PD6..PD0) Порт D має сім двонаправлених портів введення / виводу з внутрішніми підтягуючими резисторами, PD6 .. PD0.

RESET - вхід скидання.

XTAL1, XTAL2 - виводи для приєднання зовнішнього кварцового резонатора;

Характеристики:

AVR ® - висока продуктивність і RISC архітектура з низьким енергоспоживанням

118 потужних інструкцій - більшість з них виконуються за один такт

2 Кбайт Flash-пам'яті з підтримкою внутрішньосистемного програмування

SPI-послідовний інтерфейс для завантаження програмного коду Ресурс: 1000 циклів запису / стирання

128 байти EEPROM:

Ресурс: 100 000 циклів запис / стирання

Робочі регістри загального призначення 32 х 8

15 програмованих ліній I / O

Живлення VCC: від 2.7 В до 6.0 В

Повністю статичний режим роботи:

Від 0 до 10 МГц, при живленні від 4.0 В до 6.0 В

Від 0 до 4 МГц, при живленні від 2.7 В до 6.0 В

Продуктивність, аж до 10 MIPS при 10 МГц

Один 8-ми розрядний таймер / лічильник з окремим попередніми дільником частоти

Один 16-ти розрядний таймер / лічильник з окремим попередніми дільником частоти з режимами порівняння та захоплення

Повнодуплексний UART

Обираєте 8, 9, або 10-ти розрядні режими широтно-імпульсної модуляції (ШІМ)

Зовнішні та внутрішні джерела переривання

Програмований слідкуючий таймер з вбудованим тактовим генератором

Вбудований аналоговий компаратор

Економічні режими очікування і зниженого енергоспоживання

Програмоване блокування для безпеки програмного забезпечення

20 виводів

Вибір стабілізатора напруги

Для живлення мікроконтролера і елементів необхідно стабілізоване джерело живлення напругою +5 В. В якості стабілізатора краще всього використовувати мікросхему КР142ЕН5. Вона забезпечує достатню стабільність вихідної напруги і здійснює фільтрацію перешкод, амплітуда яких може досягати 1В. При установці її на додатковий радіатор максимальний навантаження струму становить близько 2А. Крім цього мікросхема має захист від короткого замикання.

Серія КР142ЕН5 - трьохвиводні стабілізатори з фіксованою вихідною напругою в діапазоні від 5В до 27 В, можуть знайти застосування в широкому спектрі радіоелектронних пристроїв. Діапазон напруг, що перекриваються даної серією стабілізаторів, дозволяє використовувати їх в якості джерел живлення, логічних систем, вимірювальної техніки, пристроїв високоякісного відтворення та інших радіоелектронних пристроїв. Незважаючи на те, що основне призначення цих приладів - джерела фіксованої напруги, вони можуть бути використані і як джерела з регулюванням напруги і струму шляхом додавання в схеми їх застосування зовнішніх компонентів. Зовнішні компоненти можуть бути використані для прискорення перехідних процесів. Вхідний конденсатор необхідний тільки в тому випадку, якщо регулятор знаходиться на відстані більше 5 см від фільтруючого конденсатора джерела живлення. Зовнішній вигляд і типова схема включення наведені на малюнках 3.7 і 3.8 відповідно. Технічні характеристики представлені в таблиці 3.8

Основні особливості:

- Захист від перегріву;

- Вбудований обмежувач струму КЗ;

- Корекція зони безпечної роботи вихідного транзистора;

- Діапазон температур зберігання -55 ... +150 С;

- Робочий діапазон температур кристала -45 ... +125 С.

Рис 3.7 Зовнішній вигляд стабілізатора напруги

Рис 3.8 Типова схема включення стабілізатора напруги

Призначення виводів стабілізатора КР142ЕН5-9:

- 1 - вхід;

- 2 - загальний;

- 3 - вихід.

Таблиця 3.8 Електричні характеристики стабілізатора КР142ЕН5А

Найменування

Позначення

Умови вимірювання

Мін.

Тип.

Макс.

Одиниця виміру

Вихідна напруга

Vout

Tj=25°C

4.9

5.0

5.1

B

7B<Vin<20B

5mA<Iout<1.0A

Pt<15Вт

4.75

-

5.25

B

Нестабільність по вхідній напрузі

Vo

line

Tj=25°C

7B<Vin<25B

-

3

100

mB

8B<Vin<12B

-

1

50

mB

Нестабільність по струму навантаження

Vo

load

Tj=25°C

5mA<Iout<1.5A

-

15

100

mB

250mA<

Iout<750mA

-

5

50

mB

Струм спокою

Iq

Tj=25°C,Iout=0

-

4.2

8.0

mA

Нестабільність струму спокою

Iq

7B<Vin<25B

-

-

1.3

mA

5mA<Iout<1.0A

-

-

0.5

mA

Вихідна напруга шуму

Vn

Ta=25°C, 10Гц<f<100кГц

-

40

-

mkB

Коефіцієнт подавлення пульсації

Rrej

f=120Гц

62

78

-

дБ

Падіння напруги

Vdrop

Iout=1.0A, Tj=25°C

-

2.0

-

B

Вихідний опір

Rout

f=1 кГц

-

17

-

мОм

Струм КЗ

Ios

Tj=25°C

-

750

-

mA

Максимальний вихідний струм

Io peak

Tj=25°C

-

2.2

-

A

Температурна нестабільність вихідної напруги

Vout

Tj

Iout=5mA, 0°C<Tj<125°C

-

1.1

-

мВ/°C

Інтерфейс RS-232

Для завантажування параметрів з ПК потрібно передбачити інтерфейс RS-232, краще всього використоувавати MAX232.

MAX232 - інтегральна схема, перетворювача сигналів послідовного порту RS-232 в сигнали, придатні для використання в цифрових схемах на базі ТТЛ або КМОП технологій. MAX232 працює прийомопередатчиком і перетворює сигнали RX, TX, CTS і RTS.

Функціональність мікросхеми стала стандартом де-факто і її аналоги (з іншого маркуванням) випускаються багатьма виробниками напівпровідників.

Схема забезпечує рівень вихідної напруги, використовуваний в RS-232 (приблизно ± 7.5 В), перетворюючи вхідну напругу + 5 В за допомогою внутрішнього зарядового насоса на зовнішніх конденсаторах. Це спрощує реалізацію RS-232 в пристроях, що працюють на напругах від 0 до + 5 В, так як не потрібно ускладнювати джерело живлення лише для того, щоб використовувати RS-232.

Вхідна напруга від RS-232, яка може досягати ± 25 В, знижується до стандартних 5 В, використовуваних в транзисторно-транзисторної логіки. Входи мають середній поріг 1.3 В і серій гістерезис 0.5 В.

Рис. 3.9 Конфігурація контактів і Типова схема MAX232

Таблиця 3.9 Основні параметри MAX232

Швидкість (макс.), МБод

0.12

Tx, шт

2

Rx,шт

2

Cap.,шт

0

Rx SHDN,шт

0

ESD захист,кВ

2

VCC,В

від 4.5 до 5.5

TA,°C

від -40 до 85

Блок живлення

Блок живлення 5 В буде трансформаторним, а не імпульсним. На мою скромну думку трансформаторний зібрати і налагодити легше, але можливо за вартістю і габаритами імпульсів краще.

Мережевий фільтр (А1).

Призначений для придушення високовольтних та високочастотних мережевих перешкод. З високовольтними перешкодами успішно справляється варистор. А високочастотними шумами займеться RC фільтр.

Трансформатор (А2).

У нашому БП 5 В трансформатор відіграє ключову роль, саме він знижує (перетворює) мережеве живлення 220 В у низьковольтне. Трансформатор повинен бути силовим, розрахований на мережеву частоту 50 Гц, з первинною обмоткою на 220 В і однієї вторинною обмоткою на 7 - 10 В. Номінальна потужність трансформатора 4 - 8 Вт

Випрямляч (А3).

Перетворює змінну напругу на вході в постійне на виході. Будемо використовувати двухполуперіодний випрямляч - діодний міст.

Фільтр (А4).

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

Стабілізатор напруги (А5).

Це мікросхема, служить для стабілізації діапазону напруг на вході в чітко встановлене значення на виході. Логічно, що вхідна напруга має бути більше вихідного, як правило, не менше ніж на 3 В. Максимальний поріг звичайно обмежений 30 - 40 В.

Індикатор (А6).

У повсякденному житті ми вже настільки звикли, що будь-яка техніка нам весело підморгує світлодіодом, коли ми її включаємо, то я вирішив, що індикатор робочого режиму не перешкодить у БП 5 В. Він складається з світлодіода і струмообмежувального резистора. Світлодіод червоного або зеленого кольору світіння на напругу 1,5 В або 3 В

Рис. 3.10 Структурна схема блоку живлення

Підвищуючий DC-DC перетворювач

MC34063A виробництва «Analog Integrations Corporation», являє собою монолітний ланцюг керування, містить основні функції необхідні для DC-DC перетворювачів.

Рис. 3.11 Розташування виводів та спосіб підключення

Таблиця 3.9 Основні параметри MAX232

Вхідна напруга

3…40 В

Вихідна напргуа

1.55…40 В

Максимальний вихідний струм

750 mA

Струм власного споживання

4 mA

Частота перетворення

0 … 100кГц

Зовнішнє регулювання вихідної напруги

ADJ

Тип перетворювача

Buck, Boost, Inverting

Призначення основних виводів.

SWC/SWE виводи транзисторного ключа мікросхеми SWC - це його колектор, а SWE - емітер.

DRC - колектор складеного транзистора.

Ipk - вхід струмового захисту.

TC - вхід конденсатора, що задає частоту роботи.

CII - вхід компаратора.

Vcc - живлення схеми.

GND - земля

4. Розробка алгоритму та програмного забезпечення

Алгоритм функціонування програми кодового замка включає в себе наступні основні блоки:

- Включення;

- Введення коду;

- Перевірка уведеного коду;

- Контроль кількості спроб введення коду;

- Відкриття замку;

- Закриття замка;

- Світлова індикація;

- Звуковий сигнал;

- Кодування.

На рис 4.1 представлена блок-схема алгоритму роботи програми.

Рис 4.1 Блок-схема програми

Висновки

В даній роботі ми розробили електронний кодовий замок, з використанням мікроконтролера АТ90S2313. Також була виконана графічна частина завдання це креслення схеми електрично принципової.

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

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

Далі, з використанням вибраних пристроїв була побудована функціональна схема. Розробка завершилася складанням блок-схеми алгоритму та написанням коду програми для мікроконтролера.

Література

1. Бєлов А.В. «Самоучитель по микропроцессорной технике.» - Видавничий дім «Наука и техника», 2003. - 203с.

2. Бєлов А.В. «Конструирования устройств на микроконтроллере.» - Видавничий дім «Наука и техника», 2007. - 165с.

3. Мілих В.І., Шавьолкін О.О. «Електротехніка електроніка та мікропроцесорна" електроніка.» - Видавничий дім «Каравела», 2008. - 385с.

4. Локазюк В.Н. «Мікропроцесори та мікроЕОМ у виробничих системах» - Видавничий дім «Академія», 2002. - 153с.

5. Якименко Ю.І., Терещенко Т.О., Сокол Є.І., Жуйокв В.Я. «Мікропроцесорна техніка» - Видавничий дім «Кондор», 2008. - 162с.

6. Опис мікроконтролера AT90S2313 http://www.gaw.ru/html.cgi/txt/ic/Atmel/micros/mcs51/at89c2051.htm

7. Журнал «Радио» 2011р. 4 - Випуск. Стаття Н. Салимова «Шагомер на микроконтроллере Attiny2313» - 34с.

8. Корячко В.П. «Микропроцесоры и микроЭВМ в радиоэлектронных средствах» - Видавничий дім «Высшая школа», 1990. - 76с.

9. Болл Стюарт Р. «Аналоговые интерфейсы микроконтроллеров». - Видавничий дім «Додэка-ХХІ», 2007. - 198с.

10. Опис електромеханічного замка «ПОЛИС-13»: http://dialog-universal.ru/product_info.php?cPath=109&products_id=173

11. Хоровиц П., Хилл У. «Искусство схемотехніки» - Видавничий дім «Мир», 2003. - 395с.

Додатки

Код програми на асемблері

dseg

door_code equ r0 ;масив введених значень

attempts equ 38h ;змінна - число спроб введення

cseg

org 00h

ajmp main

org 0bh

ajmp timer0

org 100h

main:

anl pd4, # 1h ; вимикання світлодіода і динаміка

mov ie, # 82h ; дозволяємо переривання від таймера

mov tmod, # 1h ; задаємо режим таймера - 16 біт

mov door_code, # 30h ; завдання адреси для вводу цифр коду

mov attempts, # 3h ; кількість спроб

sjmp ent1 ; перехід до початку головного циклу

enter_digit: ; обробка введеного значення

mov @ door_code, a ; запам'ятовуємо цифру

inc door_code ; переходимо до наступної адреси

mov a, door_code

call delay2

cjne a, # 36h, ent1 ; перевіряємо, чи всі цифри введені

ajmp compare ; перехід до порівняння кодів

ent1: ; введення 1

mov pb0, # 0feh ; встановлюємо 0 на виході P0.0

jb pb4, ent2 ; якщо не натиснута кнопка, до слід. кнопці

call delay2 ; чекаємо, поки пройде брязкіт контактів

mov a, # 1h ; запам'ятовуємо введену цифру

wait1:

jnb pb4, wait1 ; чекаємо, поки відпустять кнопку

ajmp enter_digit ; перехід до оброб. введеного значення

ent2: ; введення 2

jb pb5, ent3

call delay2

mov a, # 2h

wait2:

jnb pb5, wait2

ajmp enter_digit

ent3: ; введення 3

jb pb6, ent4

ц2цcall delay2

mov a, # 3h

wait3:

jnb pb6, wait3

ajmp enter_digit

ent4: ; введення 4

mov pb0, # 0fdh

jb pb4, ent5

call delay2

mov a, # 4h

wait4:

jnb pb4, wait4

ajmp enter_digit

ent5: ; введення 5

jb pb5, ent6

call delay2

mov a, # 5h

wait5:

jnb pb5, wait5

ajmp enter_digit

ent6: ; введення 6

jb pb6, ent7

call delay2 mov a, # 6h

wait6:

jnb pb6, wait6

ajmp enter_digit

ent7: ; введення 7

mov pb0, # 0fbh

jb pb4, ent8

call delay2

mov a, # 7h

wait7:

jnb pb4, wait7

ajmp enter_digit

code_wrong: ; обробка невірного коду

mov door_code, # 30h ; повертаємося до початку масиву

djnz attempts, ent1 ; якщо є ще спроби, в гол. цикл

setb pd3 ; включення звукового сигналу

call delay ; затримка 1 с

clr pd3 ; вимкнення звукового сигналу

mov attempts, # 4h ; віднов. число спроб

jmp code_wrong

compare: ; порівняння кодів

dec door_code ; переходимо до попередньої цифри

cjne @ door_code, # 6h, code_wrong ; перевіряємо 6-ю цифру і далі всі

dec door_code ; цифри по порядку

cjne @ door_code, # 5h, code_wrong

dec door_code

cjne @ door_code, # 4h, code_wrong

dec door_code

cjne @ door_code, # 3h, code_wrong

dec door_code

cjne @ door_code, # 2h, code_wrong

dec door_code

cjne @ door_code, # 1h, code_wrong

clr pd2 ; відкрити замок

setb pd4 ; включити світлодіод

mov attempts, # 3h ; відновл. к-ть спроб

wait_open:

jnb pd5, wait_open ; чекаємо, поки відкриється двері

call delay2

wait_close:

jb p0.7, wait_close ; чекаємо, поки закриється двері

setb pd2 ; закрити замок

clr pd4 ; вимкнути світлодіод

ajmp ent1 ; перехід в гол. цикл

timer0: ; обробка переривання від T0

clr tcon.4

clr tcon.5

reti

delay: ; затримка 1 с

mov r1, # 1fh

loop1:

mov th0, # 0h

mov tl0, # 0h

setb tcon.4

loop2:

jb tcon.4, loop2

djnz r1, loop1

ret

delay2: ;затримка 5 мс

mov r3, # 13h

loop4: mov r2, # 0ffh

loop3:

djnz r2, loop3

djnz r3, loop4

ret

end

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

...

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

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