оді порту.
Рис.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 SEGMENTDATA 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, LOOP 5 ; із наступним переходом
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 _ MODE 2 ; перевірка на вторгнення, якщо так, то;переходимо на мітку 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;відкриття баг...