Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка для лаб Арх_комп(Схемтех).doc
Скачиваний:
6
Добавлен:
08.05.2019
Размер:
1.76 Mб
Скачать

Інженерна інтерпретація

На рис. 16.1 показаний граф автомата ПОС, в якому є вісім станів, і дуги якого відмічені умовами переходів.

Р1 – дверцята водія. 1 / 0 – закриті/відкриті;

Р2 – всі інші дверцята та кришки. 1 / 0 – закриті/відкрита хоча б одна;

Р3 – потаємний вимикач системи охорони. 1 / 0 – система вкл./викл.

«Ввод» – потаємна кнопка введення коду. 1 / 0 – була натиснута/ненатиснута

Рис. 16.1. Граф автомата ПОС.

У стан ЧЕКАННЯ автомат переводиться тумблером РЗ і введенням секретного коду. В цьому стані ПОС буде знаходитись доки не будуть закриті всі дверцята, капот і багажник автомобіля. Після закриття автомобіля автомат переходить у стан ОХОРОНА. З цього стану автомат може перейти або в стан ТРИВОГА у разі появи сигналу Р2 = 0 або РЗ = 0 (відкрилось одне з дверцят, крім дверцят водія або була спроба відключити ПОС), або, у разі появи сигналу Р1 = 0, в стан РАХУНОК ЧАСУ, в якому запускається програмний таймер на 10 секунд. При цьому МП постійно сканує клавіатуру і контролює надходження сигналу від кнопки «Ввод». Подальші переходи автомату в стан ТРИВОГА або СИГНАЛ «ВИМКНУТИ» визначаються умовами, якими відмічені дуги графа.

Оцінка системи

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

ПРОГРАМА РОБОТИ МАКЕТУ МП-СИСТЕМИ ОХОРОННОЇ СИГНАЛІЗАЦІЇ НА БАЗІ “МІКРОЛАБ КР580ИК80”

Адреса

Команда

Мітка

Мнемокод

Коментар

8000

CD C2 80

BEGIN:

CALL BEG

програмування інтерфейсу:

8003

F3

DI

заборона переривань

Підготовлення (включення системи — включити тумблер Р3 та введення пароля)

8004

21 CA 80

START:

LXI H 80CA

форм. кода адреси 1-ї цифри пароля

8007

22 C8 80

SHLD 80C8

завант адр. в ОЗП за адресою 80C0

800A

DB FA

ST1:

IN FA

ввод інф. про стан тумбл. в Рг A

800C

E6 08

ANI 08

виділення стану Р3 (3-й розряд байту)

800E

FE 08

CPI 08

порівняння вмісу Рг A з кодом 00001000 (08)

8010

C2 0A 80

JNZ ST1

якщо Р3=0, перехід на ST1:

8013

2A C8 80

LHLD 80C8

читання в Рг HL адреси 1-ї цифри еталонного коду

8016

CD 16 02

PW:

CALL KEYIN

звертання до п/п читання клавіатури

8019

47

MOV B, A

копіювання повернутого коду в Рг В

801A

FE FF

CPI FF

порівняння з кодом FF

801C

CA 16 80

JZ PW

повер. до PW, якщо кл. не натиснута

801F

70

MOV M, B

завант в ОЗП цифри пароля

8020

78

MOV A, B

копіюван. коду цифри пароля в Рг А

8021

FE 17

CPI 17

порівняння з кодом 17 — кл “Ввод”

8023

CA 2A 80

JZ WAIT1

перехід на WAIT1, якщо ввод паролю закінчений

8026

23

INX H

збільшення адреси зчитаного коду

8027

C3 16 80

JMP PW

продовж. введеня пароля

Очікування (зачинити всі двері і кришки — включити тумблери Р2 та Р1)

802A

CD 50 03

WAIT1:

CALL BEEP

звуковий сигнал !

802D

CD C2 80

CALL BEG

відновлення інтерфейсу

8030

DB FA

WAIT:

IN FA

ввод інф. про стан тумбл. в Рг A

8032

D3 F9

OUT F9

вивод індикації про стан тумблерів

8034

E6 0E

ANI 0E

виділення стану P1,P2,Р3 (1,2,3-й розряд байту)

8036

FE 0E

CPI 0E

порівняння вмісу Рг A з кодом 00001110 (0E)

8038

C2 30 80

JNZ WAIT

якщо Р1 або Р2 або Р3  1, перехід на WAIT

Охорона (всі двері і кришки повинні бути закритими – тумблери Р1,Р2,Р3 включені)

803B

DB FA

GUARD:

IN FA

ввод інф. про стан тумбл. в Рг A

803D

E6 0E

ANI 0E

виділення стану P1,P2,Р3 (1,2,3-й розряд байту)

803F

FE 0E

CPI 0E

порівняння вмісу Рг A з кодом 00001110 (0E)

8041

CA 3B 80

JZ GUARD

якщо стан тмбл =1 - повтор. опиту

Аналіз збудження (який з тумблерів виключений)

8044

DB FA

IN FA

ввод інф. про стан тумбл. в Рг A

8046

FE 0C

CPI 0C

порівняння вмісу Рг A з кодом 00001100 (0C)

8048

C2 62 80

JNZ ALARM

якщо Р2 або Р3  1, перехід на ALARM

10-ти секундна затримка та введення парольного коду

804B

16 01

MVI D, 01

завантаж. в Рг D “1”, що циклічно зсувається

804D

CD 6D 02

CALL RESET

встановлення початкового стану портів інтерфейсу

8050

01 11 11

DELAY:

LXI B, 1111

завантаж. в Рг В “1111” — const циклу утворення тимчас. затримки

8053

0B

LOOP:

DCX B

початок циклу тимчасової затримки

8054

7A

MOV A, D

завантаж. “1”, що циклічно зсувається в Рг А

8055

07

RLC

зсув “1” для вибору лінійки клавіш

8056

57

MOV D, A

завантаж. в Рг D нового положення “1”, що циклічно зсувається

8057

CD 9B 80

CALL READ

читання клавіатури

805A

78

MOV A, B

копіювання 1-го байту Рг ВС в Рг А

805B

B1

ORA C

порівняння Рг-ів А та В з “0”

805C

C2 53 80

JNZ LOOP

якщо лічильник  0, продовження внутрішнього циклу

805F

00 00 00

Формування сигналу “Тривога”

8062

31 C7 37

ALARM:

LXI SP 37C7

відновл. початк. знач. вказів-ка стеку

8065

DB FA

IN FA

ввод інф. про стан тумбл. в Рг A

8067

E6 08

ANI 08

виділення знач-я 3-го біту (стан Р3)

8069

32 C7 80

STA 80C7

копіювання стану тмбл. в 80C7

806C

CD 50 03

CONT1:

CALL BEEP

звуковий сигнал

806F

CD C2 80

CALL BEG

відновлення інтерфейсу

8072

DB FA

IN FA

ввод інф. про стан тумбл. в Рг A

8074

E6 08

ANI 08

виділення знач-я 3-го біту (стан Р3)

8076

47

MOV B,A

копіювання стану тмбл. в Рг B

8077

3A C7 80

LDA 80C7

копіювання вих. стану тмбл. з 80BC

807A

90

SUB B

порівняння стану тмбл. з їх вих. станом

807B

CA 6C 80

JZ CONT1

якщо стан Р3 незмінено - повтор циклу “Тривога”

807E

C3 04 80

JMP START

повернення до нового циклу роботи

Формування сигналу “Вимкнути охорону”

8081

31 C7 37

OFF:

LXI SP 37C7

відновл. початк. знач. вказів-ка стеку

8084

CD C2 80

CALL BEG

відновлення інтерфейсу

8087

DB FA

IN FA

ввод інф. про стан тумбл. в Рг A

8089

E6 08

ANI 08

виділення знач-я 3-го біту (стан Р3)

808B

47

MOV B, A

копіювання стану тмбл. в Рг В

808C

3E 01

CONT2:

MVI A, 01

форм. коду для вкл 8-го світлодіода

808E

D3 F9

OUT F9

вивод коду на світлодіоди

8090

DB FA

IN FA

ввод інф. про стан тумбл. в Рг A

8092

E6 08

ANI 08

виділення знач-я 3-го біту (стан Р3)

8094

B8

CMP B

порівн. стану тумбл. Р3 з вих. станом

8095

CA 90 80

JZ CONT2

якщо стан Р3 незмінено, перехід на CONT2:

8097

C3 04 80

JMP START

повернення до нового циклу роботи

П/п опиту клавіатури та введення пароля

809B

OF

READ:

RRC

зсув “1” вправо в Рг-і А

809C

OF

RRC

зсув “1” вправо в Рг-і А

809D

E6 18

ANI 18

виділення 3, 4 бітів в Рг-і А

809F

67

MOV H, A

копіювання вмісту Рг А в Рг-і Н

80A0

7A

MOV A, D

завантаж. в Рг А “1”, що пересува-ся

80A1

F6 8F

ORI 8F

поєднання “1”, що пересува-ся з кодом 1000 1111 (8F)

80A3

D3 FA

OUT FA

вивод в порт С

80A5

CD 62 02

CALL WAT

звертання до вбудов. п/п тимчас. затримки

80A8

DB F8

IN F8

ввод з порту А

80AA

FE FF

CPI FF

порівняння з кодом ненатис. кл.—FF

80AC

C8

RZ

вихід, якщо клавіша ненатиснута

80AD

2E 08

MVI L, 08

завантаження в Рг L “8”

80AF

2D

M1:

DCR L

зменшення вмісту Рг L

80B0

17

RAL

зсув вліво через Тг С

80B1

DA AF 80

JC M1

повтор зсуву та зменш. якщо Тг С  0

80B4

CD 6D 02

CALL RESET

встановлення початкового стану портів інтерфейсу

80B7

7C

MOV A, H

відновл. в Рг А вмісту, що зберіг Рг Н

80B8

B5

ORA L

поєднання в Рг-і А вмісту Рг-ів А і L

80B9

2A D8 80

LHLD 80D8

завантаж. в Рг HL адреси поточ. цифри паролю

80BC

5E

MOV E, M

копіюван. в Рг Е коду поточ. цифри паролю

80BD

BB

CMP E

порівн. оригіналу та зформов. коду

80BE

C2 62 80

JNZ ALARM:

якщо неспівпадання - перехід на ALARM:

80C1

7B

MOV A, E

відновл. в Рг А коду поточ. цифри паролю

80C2

FE 17

CPI 17

порівн. зформов. коду з кодом клавіши “Ввод” - 17

80C4

CA 81 80

JZ OFF:

якщо співпадання - перехід на OFF:

80C7

23

INX H

збільш. в Рг HL адреси поточ. цифри паролю - перехід до наступної цифри

80C8

22 D8 80

SHLD 80D8

завантаж. в ОЗП адреси поточ. цифри паролю

80CB

C9

RET

вихід

П/п програмування інтерфейсу

80D2

3E 91

BEG:

MVI A, 91

програмування інтерфейсу:

80D4

D3 FB

OUT FB

завантаження в РКС коду 1001 0001

80D6

C9

RET

80D7

вічко тимчасового зберігання

80D8

2-й байт адреси 1-ї цифри пароля

80D9

1-й байт адреси 1-ї цифри пароля

80DA

1-а цифра пароля

80DB

2-а цифра пароля

80DC

80DD

80DE