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

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

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

Кафедра РЭИС

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

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

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

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


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


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

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

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

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


Оглавление

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

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

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

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

Цель курсовой работы состоит в развитии навыков проектирования специализированных цифровых радиоэлектронных систем с применением микропроцессорных комплектов. Изучить архитектуру однокристальных микроконтроллеров популярного семейства 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                    ; конец

Система криптозащиты в стандарте DES. Система взаимодействия ...
Рис.6.3. Подпрограмма обработки прерываний от INT1(низкий приоритет) Ввод байта ключа Через Р0 по @R1 Сохранание PSW Сохранение Аккумулятора Установка ...
Состоит из фильтра низкой частоты (ФНЧ), который предназначен для ограничения полосы частот передаваемого телефонного сигнала, амплитудноимпульсного модулятора и кодера ...
MOV A,P2 ;
Раздел: Рефераты по информатике, программированию
Тип: реферат
Разработка системы управления кондиционером
РЕФЕРАТ Пояснительная записка состоит из 63 страниц, включает в себя 29 рисунков и 5 таблиц. При работе были использованы 5 источников, из которых 2 ...
Микроконтроллер, Индикатор, Клавиатура, Регистр, Алгоритмизация, Кондиционер, Датчик, Программирование.
mov a, P0 ;считывание порта p0
Раздел: Рефераты по коммуникации и связи
Тип: курсовая работа
... поддержки к методическим указаниям Программирование микроконтроллеров
Министерство ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Воронежский Государственный Университет Физический факультет _ кафедральной регистрации "К ЗАЩИТЕ ...
В течении командного цикла микропроцессор или микроконтроллер выполняет необходимые операции, используя тактовые сигналы для синхронизации этих операций.
В реальной системе МК обычно "занимается" считыванием информации с подключенных к нему устройств (датчиков), обработкой ее и выдачи управляющих сигналов на исполнительные ...
Раздел: Рефераты по информатике, программированию
Тип: реферат
Подсчет и индикация деталей
З А Д А Н И Е № 13 на курсовую работу по дисциплине "Основы микропроцессорной техники" Разработать принципиальную схему и программу функционирования ...
Сигналы от них поступают на входы Р0.1 и Р0.0 порта Р0.
MOV P2,A
Раздел: Рефераты по коммуникации и связи
Тип: курсовая работа
Система автоматической подстройки частоты
СОДЕРЖАНИЕ СОДЕРЖАНИЕ.. 5 ВВЕДЕНИЕ..
Данная система предназначена для сравнения значений о текущей частоте, полученных с датчиков со значениями, заданными с пульта оператора, анализа и обработки отклонения и выдачи ...
OUT P0,A ;вывод в Р0 адреса
Раздел: Рефераты по коммуникации и связи
Тип: курсовая работа