Д і залежно від результатів порівняння (рис. 14) МКС виробляє двійкові керуючі впливи y2 або y3 тривалістю t2 або t3 відповідно (див. рис 15).
Рис. 15.обработка аналогових сигналів.
Завдання (Варіант № 1)
Функція Nu=f (Nu1 + Nu2 +, K):
Час t2: 20 мкс
Час t3: 20 мкс
Розробка алгоритму реалізації:
Ріс16. Алгоритм обробки аналогових сигналів
Текст програми:
$ MOD812
MOV R0,10H; введення сигналу Nu1 з пам'яті
MOV R1,11H; введення сигналу Nu2 з пам'яті
MOV R2, P3; введення К
MOV R3, 13H; введення константи Q
CLR P1.0; обнулити вихід Р1.0
CLR P1.1; обнулити вихід Р1.1
MOV A, R0; записати в акумулятор значення Nu1
ADD A, R1; додати Nu1 + Nu2
MOV R4, A; збереження результату (Nu1 + Nu2) з акумулятора в R4
MOV R2, A; записати в акумулятор значення К
ADD A, R4; Nu1 + Nu2 + К
MOV R5, A; зберегти результат (Nu1 + Nu2 + К) з акумулятора в R5
SUBB A, R3; порівняти отримане значення з константою.
JC M1; якщо А gt;=R3 перехід до наступної команді, інакше до М1
SETB P1.1; формування тривалості сигналу У2
MOV R6,20H; тривалість сигналу 20 мкс
DJNZ R6, $; повернутися на один і перевірити на 0. Якщо ні то слід крок
CLR P1.1; обнулити вихід Р1.1
JMP M2
M1: SETB P1.0; формування тривалості сигналу У3
MOV R6,20H; тривалість сигналу 20 мкс
DJNZ R6, $; повернутися на один і перевірити на 0. Якщо ні то слід крок.
CLR P1.0; обнулити вихід Р1.0
M2: JMP M2
Ріс.16.Модель симулятора (функція)
Час виконання: 89 мкс.
Розмір: Байт
. 5 Обробка запиту переривання
Дане завдання передбачає обробку зовнішнього запиту переривання, що надходить в контролер. Контролер виконує логічну функцію відповідно з першим завданням.
У роботі потрібно організувати обробку одного зовнішнього запиту від деякого аварійного датчика, підключеного до входу обробки переривання контролера INT0 (одна з ліній порту P3).
Переривання від сигналу аварійного датчика повинне забезпечити включення пристрою аварійної сигналізації, підключеного до вибраного порту. Також необхідно вивести на індикацію обраного порту поточного набору вхідних сигналів заданої логічної функції (перше завдання курсової роботи).
Побудувати структуру контроллерной системи самостійно, програма повинна містити основну програму і програму обробки запиту переривання, розміщених в пам'яті програм.
При надходженні запиту переривань контролер переривання формує в ЦПУ сигнал переривання INT. Після отримання сигналу переривання INT ЦПУ завершує виконання поточної команди переривається програми і формує сигнал підтвердження INTA. Після отримання INTA КП формує команду виклику підпрограми Call ADRi. Підпрограми обробки переривання обов'язково завершуються командою RETI, відповідно до якої в програмний лічильник з стека завантажується адреса раніше збережений командою CALL, збереженої в стеку, для повернення в перервану програму. Команда RET також повертає керування перерваної програмі, але не знімає при цьому блокування переривань.
Далі наведемо текст програми з використанням обробки переривань.
Рі??. Структура обробки переривання
· Розробка програми:
$ Mod812
ORG 00H
JMP 09H
ORG 03H
JMP 40H
ORG 09H
MOV IE, # 8fh
MOV IP, # 03H
MOV tcon, # 01h
M3: CLR P2.5; у=0
JB P1.0, M1; перевірка х1
JB P1.1, M1; перевірка х2: SETB P2.5; y=1
JMP M3; повернутися в початок
M1: JB P1.2, M3; перевірка х3
JB P1.3, M3; перевірка х4 M2
...