Автор работы: Пользователь скрыл имя, 24 Мая 2012 в 14:15, курсовая работа
Разработка принципиальной схемы кодового замка. В работе представлена инженерная интерпретация поставленной задачи с выбором и описанием алгоритма программы. Дано формирование текста исходной программы и таблицы прошивки РПЗ.
Введение...............................................................................................................4
1. Анализ поставленной задачи…………………………………………………
2. Инженерная интерпретация поставленной задачи.........................................
3. Разработка принципиальной схемы кодового замка......................................
4. Выбор и описание алгоритма программы.......................................................
4.1 Общая блок-схемы алгоритма
работы кодового замка………………………………………………….....
5. Разработка текста исходной программы...................................................
6. Расчет коэффициентов в программе задержки……………………………
Заключение. Таблица «прошивки»РПЗУ………………………………….…….
Список литературы.................................................................................................
Следует сказать, что, как и во многих других случаях, заведомо хороших или плохих МК нет и не может быть. Каждый из них способен показать отличные результаты при решении задач определенного класса и с трудом справляется с другими. Отсюда и разнообразие типов. Как правило, выигрыш по одному параметру сопровождается ухудшением других.
Самые простые примеры: МК, рассчитанный на многократное перепрограммирование, всегда дороже однократно программируемого аналога, а более скоростной прибор чувствительнее медленного к импульсным помехам и требовательнее к трассировке печатной платы. Конечно, существуют универсальные приборы, в достаточной мере пригодные для решения широкого класса задач. Тем не менее, проектируя, скажем, устройство с жидкокристаллическим дисплеем, стоит подумать об использовании в нем МК с встроенным контроллером такого дисплея.
Однако если необходимо лишь повторить ту или иную конструкцию, особой возможности выбирать МК нет, нужно использовать указанный в описании или его полный аналог, например, из числа изготавливаемых другими фирмами по лицензии. На вопрос, можно ли заменить МК одного типа другим, зачастую приходится давать отрицательный ответ, хотя теоретически такая возможность имеется: надо лишь переработать программу, а если число и назначение выводов заменяемого и заменяющего МК различны, то и печатную плату.
Инженерная интерпретация задачи
На основании анализа поставленной задачи можно выделить пять состояний, в которых может находиться МК-устройство в процессе работы.
Все исполнительные и индикаторные устройства выключены, замок закрыт. В этом состоянии – МК работает по «кольцу»: начальное состояние (НАЧ)→поворот ручки (ПР)→нажатие кнопки (НК)→ввод кода (ВК)→начальное состояние (НАЧ).
В начальном состоянии (НАЧ) МК находится после подачи напряжения Из этого состояния МК может вывести поворот ручки, нажатие кнопки или ввод кода.
В первом случае МК уйдет в режим тревожной сигнализации «СИГНАЛ». во втором случае в режим МК переходит в режим открывания двери (ОТКР). В третьем случае МК принимает код ключа-таблетки.
Граф состояний контроллера кодового замка
НАЧ
ПР
нет
Ручка повернута Дверь открыта
нет
нет
ВК
Кнопка нажата
рис. 2.
Если код ключа не совпадет с эталонным кодом, то осуществляется переход в состояние тревожной сигнализации (СИГНАЛ). в состоянии тревожной сигнализации МК формирует импульсные сигналы для пьезоизлучателя и светодиода и возвращается в исходное состояние.
При совпадении кодов (считывающее устройство примет код ключа-таблетки, совпадающий с эталоном) выполняется переход в состояние открывания двери (ОТКР). В состоянии ОТКР срабатывает электромагнит открывания двери Y1 и МК формирует задержку, необходимую для входа в лабораторию.
После закрывания двери ЗАКР – возврат в исходное состояние - МК переходит в начальное состояние.
Блок-схема алгоритма «Импульсное свечение светодиода»
Светодиод
выкл
Пауза 1 сек
Светодиод
вкл
Световой сигнал
1 сек
рис.4
Разработка кодового замка на МК
Требуется разработать замок зуммерного типа для обеспечения доступа в лабораторию только знающим код замка.
Электромагнитные замки состоят из электромагнита, прикрепленного к дверной коробке, и ответной пластины, монтируемой на дверь. В дежурном режиме на обмотку электромагнита подается постоянный ток удержания, вызывающий сильное магнитное поле, которое притягивает пластину двери, удерживая ее в закрытом состоянии. При снятии постоянного тока магнитное поле пропадает, и дверь может быть открыта. Все электромагнитные замки характеризуются максимальной нагрузкой удержания, (которая измеряется в кг и может доходить до 1000 кг) и малым током потребления.
Программа, которую необходимо занести в память МК DD1, чтобы превратить устройство, выполняющее функцию в кодового замока, приведена в табл. 1.
В нормальном состоянии замок закрыт и вход в лабораторию невозможен. Чтобы открыть замок, необходимо ввести код с помощью ключа-таблетки. Если набранный код совпадает с эталонным, хранящимся в МК, то замок открывается. В этом случае можно повернуть ручку и открыть дверь. После входа в лабораторию и закрытия двери МК переходит в начальное состояние.
При попытке открыть дверь с неправильно набранным кодом МК должен включить сигнал тревоги: перемежающийся световой и звуковой сигнал частотой 1 кГц и длительностью по 1 сек каждый. Выключение сигнала тревоги должно произойти после прекращения попыток открыть дверь при неправильно набранном коде, но не раньше, чем через 6 сек после включения. после отключения сигнализации можно повторить попытку открыть дверь. Предусмотреть возможность открывания замка изнутри.
По причинам, изложенным ниже, был выбран популярный сегодня МК PIC16F84А. В результате родилась схема устройства (рис. 1), содержащего всего одну микросхему.
В устройстве допустимо применение микроконтроллера PIC16F84А с любыми предельной частотой, типом корпуса и рабочим интервалом температур (об этих параметрах говорят цифровые и буквенные индексы после дефиса в обозначении микросхемы, например, -10I/Р). А если совершенствование программы не предполагается, можно использовать и дешевый однократно программируемый аналог PIC16CR84.
Условные обозначения: СК– считыватель кода с ключа-таблетки, BQ1--звуковой индикатор (пьезоизлучатель), VD1- светодиод для световой индикации. Y1 -электромагнит в качестве исполнительного механизма электрического замка, а поскольку непосредственно к выводу порта он не может быть подключен, то VT1 электронный ключ с включенным в коллекторную цепь реле (формирователь сигнала) для согласования выхода МК со входом электрического замка; S1 -датчик поворота ручки; S2 - кнопка для выхода из помещения.
Разработка общей блок схемы алгоритма работы МК
да
да
нет
нет
рис. 3
C1 ZQ1
+5B
C2
O R3
S1
S2
R1 R2
K11 Y1
+
Uпит
Изм Лист № документа Подпись Дата
Разраб Гаврилов Н.В.
Провер. Иванов В.С. . Кодовый замок
Н.контр.
Утвержд.
Программа тревожной сигнализации
После того, как мы разработали алгоритм работы МК, можно приступать собственно к написанию программы. наша первая программа выполняет простейшую задачу: выдает перемежающийся световой и звуковой сигнал частотой 1 кГц и длительностью по 1 сек в течение 6 сек. Алгоритм ее работы представлен на рис.5. По включению контроллера программа выставит единицу на линию, к которой подключен светодиод, подождет 1сек, выставит нуль, затем выставит единицу на линию, к которой подключен пьезоизлучатель, подождет 0.5мс, выставит нуль, подождет 0.5мс, а затем повторит все заново в течение 1сек. Всю изложенную выше процедуру будем повторять 6 раз. для PIC16F84A используем генератор с частотой 4000 кГц. Светодиод подключим к линии RB2 (через резистор), зажигать его будем единицей, а пьезоизлучатель - к линии RB3, подавать на него будем импульсный сигнал.
Как уже упоминалось выше, каждый регистр специального назначения контроллера имеет свое название. В ассемблере для обращения к какому-то регистру можно использовать либо адрес этого регистра, либо его название.
Например, записать значение из регистра W в регистр INTCON можно как командой movwf Н’0B’ так и командой movwf INTCON. Использование названия более предпочтительно, т.к. оно информативнее для программиста. Однако для того, что бы использовать название регистра сначала необходимо сопоставить само название числовому значению адреса. Сопоставление производится директивой ассемблера EQU. Например, INTCON EQU H’0B’. После этого при ассемблировании текста программы ассемблер при встрече строки “INTCON” будет вместо нее вставлять ее числовое значение 0BH.
Таким образом, все символьные имена регистров, используемых в программе, должны быть предварительно описаны. Однако самостоятельно описывать регистры специального назначения необходимости нет, т.к. в PIC Simulator IDE уже включены файлы с описаниями этих регистров для каждого PIC. Эти файлы необходимо только подключить к основной программе командой «#include». В нашем случае в начале программы нужно написать строку #include p16f84a.inc.
Кроме регистров специального назначения в программе будут использоваться и регистры общего назначения. Их надо описывать самостоятельно. Это можно делать так же с помощью директивы EQU, присвоив каждому символьному названию свой адрес. В нашей программе мы будем пользоваться шестью регистрами – счетчиками времени при формировании задержки на 0,5мс, 1сек. Назовем их cnt0 – cnt6. Таким образом, в программе необходимо написать следующий текст: