Автомобильная сигнализация

Тип работы:
Курсовая
Предмет:
Коммуникации, связь, цифровые приборы и радиоэлектроника


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Министерство образования РФ

Уральский государственный технический университет

Кафедра РЭИС

Пояснительная записка

к курсовой работе

автомобильная сигнализация

По предмету «Цифровые устройства и микропроцессоры»

Екатеринбург 2005

Задание на проектирование

В данной курсовой работе предлагается разработать авто сигнализацию на микроконтроллере КР1816ВЕ51. Основные требования к системе:

Система должна обрабатывать показания следующих датчиков: капота, багажника, дверей и двух уровневого датчика удара (сильного и слабого ударов), так же система должна выполнять блокировку зажигания при включении на охрану и содержать устройство сигнализации (сирену). Авто сигнализация должна работать в двух режимах. Первый режим — полная постановка на охрану с опросом всех датчиков, при втором режиме датчики удара и багажника игнорируются, т. е. можно без проблем открыть багажник, не включив сигнализацию, потом по желанию вернуться в первый режим.

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

Оглавление

Задание на проектирование

Введение

Функции и принцип работы устройства

Разработка схемы устройства

Описание прикладной программы

Заключение

Библиографический список

Приложение 1. Схема электрическая принципиальная

Приложение 2. Блок-схема основной программы

Приложение 3. Блок-схемы подпрограмм

Приложение 4. Программа устройства на языке Assembler

Приложение 5. Листинг программы отлаженной в ProView 32

Введение

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

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

Однокристальные (однокорпусные) микроконтроллеры представляют собой приборы, конструктивно выполненные в виде БИС и включающие в себя следующие составные части: микропроцессор, память программ и память данных, а также программируемые интерфейсные схемы для связи с внешней средой.

Цель курсовой работы состоит в развитии навыков проектирования специализированных цифровых радиоэлектронных систем с применением микропроцессорных комплектов. Изучить архитектуру однокристальных микроконтроллеров популярного семейства INTEL8051, а также структуру одного из клонов семейства — микроконтроллера КМ1816ВЕ51, его функциональные узлы и особенности их работы. Изучение основ языка Ассемблер и интегрированной среды ProView фирмы Franklin Software Inc., которая предназначена для разработки программного обеспечения микроконтроллеров этого семейства.

Функции и принцип работы устройства

Данная система будет содержать пять двоичных датчиков: сильного и слабого удара, капота, багажника и дверей. Постановка на охрану осуществляется с радиопульта, имеющего две кнопки: первая кнопка осуществляет постановку/снятие системы с охраны и выключение сирены при срабатывании системы (последняя функция осуществляется следующим образом: нажатие кнопки выключает сигнализацию, а автомобиль остаётся на охране, для снятия с которой надо еще раз нажать кнопку 1); вторая кнопка осуществляет постановку в режим 2 (датчики багажника и оба датчика удара игнорируются, блокировка багажника снимается) или снятие с него, в режиме 2 выключение сирены так же осуществляется с помощью кнопки 1.

При включении охраны автоматически происходит блокировка стартера, закрытие дверей и багажника, но если багажник, капот или одна из дверей открыты, то постановки на охрану не происходит, сирена дает 3 характерных звуковых сигнала (сигналы подаются примерно через 0.2 секунды, с таким же интервалом происходят все сигналы сирены и габаритами, описанные ниже), а микроконтроллер переходит в ожидание включения системы. Если все закрыто, то система переходит в режим охраны, символизируя об этом 1 сигналом сирены и габаритами.

При срабатывании датчика слабого удара система дает 5 сигналов сирены. При срабатывание любого из других датчиков происходит включение сирены, сопровождающееся миганием габаритов в течении одной минуты. Отключение сирены можно произвести с пульта кнопкой 1 или с помощью сигнала с Valet’а, который установлен в салоне автомобиля (Valet должен располагаться в потайном месте, что бы взломщики не могли его обнаружить, и возможно может быть защищен паролем, но это уже отдельное устройство, не относящееся к данному курсовому, поэтому мы будем учитывать только сигнал приходящий с него). Если датчик капота, багажника или дверей срабатывает больше пяти раз подряд (скажем, дверь была открыта), то после 5 циклов сирены по 1 минуте, система встает на охрану игнорируя цепь (датчик), которая вызвала срабатывание.

В салоне автомобиля устанавливается светодиод, который при нормальной работе системы мигает приблизительно с интервалом в 1 секунду, а при срабатывании любого датчика, кроме датчика слабого удара, включается на постоянное свечение, символизируя нам, что было вторжение. Так же при выключении системы о вторжении нам говорят 4 сигнала сирены и 4 габаритами, а если не было вторжения, то при выключении будет 2 сигнала сирены и 2 габаритами.

При включении режима 2 система оповещает нас 3 сигналами сирены и 3 габаритами, а система автомобиль остается на полной охране.

При выключении системы происходит разблокировка стартера, дверей и багажника.

Разработка схемы устройства

Схема микроконтроллера электрическая принципиальная представлена в приложении 1. Она содержит RC-цепь для формирования сигнала сброса при включении питания и кварцевый резонатор 12 МГц (ZQ). На вход ЕА подается уровень 1 (+5В).

Связь микроконтроллера с датчиками и исполнительными механизмами обеспечивается через порты (Р0 и Р2), а незадействованные порты могут быть в последствии использованы для расширения функциональных возможностей системы.

Включение/выключение системы, а так же постановка и снятие режима 2, отключение сирены осуществляется с пульта, сигналы с которого принимаются антенной и в виде двоичного кода поступают на входы порта Р0 (Р0.0 и Р0. 1):

Таблица 1

P0. 0

P0. 1

Режим системы

0

0

Режим 2

0

1

Режим 1

1

0

Выключение сирены в режиме 2 или снятие с охраны

1

1

Выключение сирены в режиме 1 или снятие с охраны

Расшифровка таблицы: сигнал 0 на Р0.0 включает систему, до этого Р0. 0=1 (система не включена). При включении сирены её можно выключить если нажать на кнопку 1, в результате чего антенна пошлет сигнал Р0. 0=1, который сразу после выключения сирены программно сбрасывается Р0. 0=0. Аналогично с режимом 2 и Р0.1. Кнопки 1 и 2 на пульте инвертируют сигнал соответственно на входах Р0.0 и Р0.1 микроконтроллера.

Исполнительные механизмы подключены к выходам порта Р0 (Р0. 0? Р0. 6). Из-за низкой нагрузочной способности выходов микропроцессора для всех исполнительных механизмов потребуются усилители мощности.

Датчики в системе подключены ко входам порта Р2 (Р2. 2? Р2. 6). Пример подключения датчика представлен на рис. 1. О срабатывании датчика сообщает низкий уровень на входе порта.

Рис. 1. Подключение двоичного датчика

Описание прикладной программы

Блок-схема алгоритма программы была составлена исходя из функций и принципа действия охранной системы, изложенных выше. Текст программы составлен в точности, основываясь на алгоритме в блок-схеме. Программа оперирует с портами Р0 и Р2, регистры R0? R4 используются в подпрограммах задержки, регистры R5? R7 являются счетчиками числа срабатывания датчиков капота, багажника и дверей, что бы потом можно было их игнорировать. В программе создается байтовая константа FLAGS внутри сегмента перемещаемого внутрь битовой адресуемой памяти данных. В этой константе используются пять битов, каждый из которых является флагом, использующимся в программе: флаги игнорирования датчиков (капота, багажника и дверей), флаг режима 2 и флаг попытки вторжения. Подпрограммы, начинающиеся с метки SIGNAL** производят сигналы сиреной (число сигналов = первой звездочке) и габаритами (число сигналов = второй звездочке).

Заключение

В ходе выполнения данной курсовой работы была разработана автомобильная охранная система на однокристальном микроконтроллере КР1816ВЕ51. В процессе выполнения курсовой работы система была немного усовершенствована по сравнению с техническим заданием, был разработан алгоритм её работы и составлена блок-схема рабочей программы. Текст программы мы составили на языке assembler и провели её тестирование и отладку в интегрированной среде ProView фирмы Franklin Software Inc.

Библиографический список

1. Микропроцессоры. В 3 кн. Кн. 1. Архитектура и проектирование микро-ЭВМ. Организация вычислительных процессов: Учебник для втузов / П. В. Нестеров, В. Ф. Шаньгин, В. Л. Горбунов и др.; Под ред. Л. Н. Преснухина. М.: Высшая школа, 1986. 495 с.

2. Ваша первая программа для микроконтроллера Intel 8051: Методические указания к лабораторной работе № 1 по курсу «Микропроцессоры и вычислительные устройства"/ Добряк В. А. Екатеринбург: УГТУ, 1999. 32 с.

3. Система команд микроконтроллера Intel 8051: Методические указания к лабораторной работе № 2 по курсу «Цифровые устройства и микропроцессоры"/Добряк В.А., Рагозин В. К. Екатеринбург: УГТУ, 1999. 32 с.

4. Программирование микроконтроллера Intel 8051 на языке ассемблера: Методические указания к лабораторной работе № 3 по курсу «Цифровые устройства и микропроцессоры"/ Добряк В. А., Рагозин В. К. Екатеринбург: УГТУ, 1999. 26 с.

5. Взаимодействие микроконтроллера Intel 8051 с объектами управления: Методические указания к лабораторной работе № 4 по курсу «Цифровые устройства и микропроцессоры"/Добряк. В. А. Екатеринбург: Изд-во УГТУ, 2001. 24 с.

Приложение 1. Схема электрическая принципиальная

Приложение. Программа устройства на языке Assembler

BEGIN: JMP START; переход к программе START

USING 0; выбор 0 банка регистров

ORG 30H; директива размещения программы с адреса; 30H

SEG_FLAG SEGMENT DATA BITADDRESSABLE; объявляем сегмент перемещаемый; внутрь битовой адресуемой памяти; данных

SEG_PROG SEGMENT CODE; объявляем сегмент перемещаемый в; пространство кода программы

OVER_K SET R5; назначаем символические

OVER_D SET R6; имена регистрам

OVER_B SET R7; R5, R6,R7

RSEG SEG_FLAG; выбор сегмента

FLAGS: DS 1; однобайтовая переменная (FLAGS)

FDOOR BIT FLAGS. 0; флаг игнорирования (да (1) / нет (0)) датчика дверей

FBOX BIT FLAGS. 1; -------------------- багажника

FKAPOT BIT FLAGS. 2; ---------------------------------- капота

FMODE2 BIT FLAGS. 3; флаг режима 2 (да (1)/нет (0))

FALARM BIT FLAGS. 4; флаг попытки вторжения (да (1)/нет (0))

RSEG SEG_PROG; выбор сегмента

START: ; установка начальных значений параметров

MOV FLAGS,#00H; сброс флагов

MOV P0,#00H; установка режимов портов

MOV P2,#0FFH;

MOV R0,#00H; обнуление регистров

MOV R1,#00H;

MOV R2,#00H;

MOV R3,#00H;

MOV R4,#00H;

MOV OVER_B,#00H;

MOV OVER_K,#00H;

MOV OVER_D,#00H;

CLR A; обнуление аккумулятора

WAIT: JB P2. 0,WAIT; ждем сигнала постановки на охрану

JNB P2. 4,SIGNAL3; переходим на метку SIGNAL3,

JNB P2. 5,SIGNAL3; если открыты двери, капот

JNB P2. 6,SIGNAL3; или багажник

JMP BLOCKING; переход к п/п блокировки

SIGNAL3: MOV R0,#3; программа

LOOP3: CALL SIGNAL1; реализации трех

CALL DELAY; сигналов сиреной

DJNZ R0,LOOP3; с последующим переходом

JMP BEGIN; в начало

SIGNAL5: MOV R0,#5; программа

LOOP5: CALL SIGNAL1; реализации пяти

CALL DELAY; сигналов сиреной

DJNZ R0,LOOP5; с последующим переходом

JMP GAUGE_L; к опросу датчиков GAUGE_L

BLOCKING: SETB P0. 0; блокировка стартера

SETB P0. 1; закрытие дверей

SETB P0. 2; закрытие багажника

CALL SIGNAL11; сигнал сирены и габаритов — СИСТЕМА НА ОХРАНЕ!

GAUGE_L: JNB P2. 2,SIGNAL5; 5 сигналов сирены, если сработал датчик; слабого удара

GAUGE_S: JNB P2. 3,LABELB; переход на метку LABELB, если; сработал датчик сильного удара

IGN_BOX: JB FBOX,IGN_KAPOT; переход к IGN_KAPOT, если датчик; багажника игнорируется

BOX: JB P2. 5,IGN_KAPOT; переход к IGN_KAPOT, если датчик; багажника не срабатывает

INC OVER_B; если датчик багажника сработал, то +1 к; константе хранящей число срабатываний; этого датчика

JMP LABELB; переход на метку LABELB, включающую; сирену

IGN_KAPOT: JB FKAPOT,IGN_DOOR; 8 ниже следующих строк выполняют; аналогичную функцию,

KAPOT: JB P2. 4,IGN_DOOR; как при опросе датчика багажника (выше),

INC OVER_K; только для датчиков капота и дверей!

JMP LABELB;

IGN_DOOR: JB FDOOR,CHECK_ALARM;

DOOR: JB P2. 6,CHECK_ALARM;

INC OVER_D;

JMP LABELB;

CHECK_ALARM: JB FALARM,CHECK_MODE2; проверка на вторжение, если да, то; переходим на метку CHECK_MODE2

LIGHT_DIOD: MOV R4,#5; программа обеспечивающая мигание светодиода

D_CYCLE: CALL DELAY; мигание светодиода примерно

DJNZ R4,D_CYCLE; с интервалом в 1 секунду

CPL P0.5;

CHECK_MODE2: JNB P2. 1,LABELA; если происходит постановка в режим 2, то; переходим на метку LABELA

CLR FMODE2; сброс флага режима 2

MOV OVER_B,#00H; и констант

MOV OVER_K,#00H;

MOV OVER_D,#00H;

SETB P0. 2; закрытие багажника на случай если включался; режим 2

JNB P2. 0,GAUGE_L; если система не выключается, то переход к; опросу датчиков

JNB FALARM, EXIT; если не было вторжения в процессе работы,; то переход на EXIT

CALL SIGNAL44; если было вторжение, то 4 сигнала сирены и; габаритов

ANTIBLOKING: CLR P0. 0; разблокирование стартера

CLR P0. 1; открытие дверей

CLR P0. 2; открытие багажника

JMP BEGIN; переход в начало

LABELA: JB FMODE2,IGN_KAPOT; если режим 2 уже установлен, то переход; на IGN_KAPOT, если нет, то:

SETB FMODE2; уст. флага режима 2

CALL SIGNAL22; 2 сигнала сирены и габаритов при постановке в; режим 2

CALL DELAY;

CALL SIGNAL11;

CLR P0. 2; открытие багажника

JMP IGN_KAPOT; переход к проверке датчиков

LABELB: SETB P0. 3; включение сирены

MOV R0,#3; загрузка регистров для

LOOP1: MOV R4,#100; цикла в 60 секунд

LOOP0: JB P2. 0,STOP_PULT; переход если сирена отключается с пульта

JB P0. 6,STOP_VALET; переход если сирена отключается с Valet`а

CALL DELAY; задержка 0.2 секунды

CPL P0. 4; мигание габаритов

DJNZ R4,LOOP0; внутренний цикл

DJNZ R0,LOOP1; внешний цикл

JMP SHUTDOWN; пропускаем 2 строки

STOP_PULT: CLR P2. 0; сброс отключения с пульта

STOP_VALET: CLR P0. 6; сброс отключения с Valet`а

SHUTDOWN: CLR P0. 3; выключение сирены

CLR P0. 4; выключение габаритов

CJNE OVER_B,#5,SET_FKAPOT; установка флагов для

SETB FBOX; игнорирования датчиков

SET_FKAPOT: CJNE OVER_K,#5,SET_FDOOR; если воздействие было

SETB FKAPOT; 5 раз

SET_FDOOR: CJNE OVER_D,#5,SET_FALARM;

SETB FDOOR;

SET_FALARM: SETB FALARM; запомнили БЫЛА ПОПЫТКА ВТОРЖЕНИЯ!!!

SETB P0. 5; включаем светодиод на постоянное свечение

JNB P2. 1,TO_IGN_KAPOT; переход если режим 2 на TO_IGN_KAPOT

JMP GAUGE_S; переход к опросу датчиков GAUGE_S

TO_IGN_KAPOT: JMP IGN_KAPOT; переход на IGN_KAPOT

SIGNAL11: SETB P0. 3; вкл. сирены

SETB P0. 4; вкл. габаритов

CALL DELAY; задержка 0.2 секунды

CLR P0. 3; выкл. сирены

CLR P0. 4; выкл. габаритов

RET; возврат

SIGNAL22: CALL SIGNAL11; 1 сигнал сирены и габаритами

CALL DELAY; задержка 0.2 секунды

CALL SIGNAL11; 1 сигнал сирены и габаритами

RET; возврат

SIGNAL44: CALL SIGNAL22; 2 сигнала сирены и габаритами

CALL DELAY; задерка 0.2 секунды

CALL SIGNAL22; 2 сигнала сирены и габаритами

RET; возврат

EXIT: CALL SIGNAL22; 2 сигнала сирены и габаритами

JMP BEGIN; переход в начало

SIGNAL1: SETB P0. 3; вкл. сирены

CALL DELAY; задержка 0.2 секунды

CLR P0. 3; выкл. сирены

RET; возврат

DELAY: MOV R3,#2; задержка приблизительно 0.2 секунды

CYCLE2: MOV R2,#200; с помощь вложенных циклов

CYCLE0: MOV R1,#248;

CYCLE1: DJNZ R1,CYCLE1;

NOP;

DJNZ R2,CYCLE0;

DJNZ R3,CYCLE2;

RET; возвраты

END; конец

ПоказатьСвернуть
Заполнить форму текущей работой