Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Опитування дискретних сигналів





Для введення інформації широко застосовуються кнопкові перемикачі та контактні клавіатури. Сигнал таких перемикачів формується шляхом замикання (розмикання) електричного кола. Сигнал, що формується контактною парою, супроводжується брязкотом, тривалість якого складає ~ 8-12 мс (рисунок 64).

Рисунок 64 – Сигнал контактної пари

Для усунення брязкоту в вихідному сигналі на виході контактної пари встановлюють спеціальні формувачі, робота яких ґрунтується на принципі безпосередньої установки RS-тригера. Приклад такого формувача наведено на рисунку 65.

Рисунок 65 – Схема усунення брязкоту за допомогою RS-тригера

Для зменшення апаратних витрат застосовують програмне придушення брязкоту. Воно полягає в повторному опитуванні контактної пари з затримкою в 12мс, при збігу результатів опитування кнопка була натиснута, інакше в результаті першого опитування був зафіксований брязкіт.

 

Система переривань ОЭОМ 1816ВЕ31

Регістр пріоритетів переривання (IP) призначений для установки рівня пріоритету переривання для кожного з 5-ти джерел переривання.

Позначення розрядів регістра IP показано в таблиці 33, а призначення зазначено нижче.

  Таблиця 33 – Регістр пріоритетів переривань IP
Х Х Х PSP PT1 PX1 PT0 PX0

PX0 - установка рівня пріоритету переривання від зовнішнього джерела / INTO.

PT0 - установка рівня пріоритету переривання від Т/С0.

PX1 - установка рівня пріоритету переривання від зовнішнього джерела. / INT1.

PT1 - установка рівня пріоритету переривання від Т /Л 1.

PS - встановити рівень пріоритету переривання від послідовного порту.

X - резервний розряд.

Наявність в розряді IP "1" встановлює для відповідного джерела високий рівень пріоритету, а наявність в розряді IP "0"-низький рівень пріоритету. При читанні резервних розрядів, відповідні лінії магістралі даних не визначені.



Регістр дозволу переривання (IE) призначений для дозволу або заборони переривань від відповідних джерел. Позначення розрядів регістра IE показано в таблиці 34, а призначення зазначено нижче.

Таблиця 34 – Регістр дозволу переривань IE
EA X X ES ET1 EX1 ET0 EX0

ЕА - керування всіма джерелами переривань одночасно. Якщо ЕА = 0, то переривання заборонені. Якщо ЕА = 1, то переривання можуть бути дозволені індивідуальними дозволами EXO, ETO, EXI, ETI, ES.

Х - резервний розряд.

ES - керування перериванням від послідовного порту. ES = 1 дозвіл. ES = 0 - заборона.

ETI - керування перериванням від т /л 1. ЕТ = 1-дозвіл. ЕТI = 0 - заборона.

EXI - керування перериванням від зовнішнього джерела / INT1. EXI = 1 - дозвіл. EXI = 0 - заборона.

ЕТО - керування перериванням від т /л 0. ЕТО = 1 - дозвіл. ЕТО = 0 - заборона.

EXO - керування перериванням від зовнішнього джерела / INTO. EXO = 1 - дозвіл. EXO = 0 - заборона.

При читанні резервних розрядів відповідні лінії магістралі не визначені.

Структура переривань

Механізм переривань в ОМЕОМ дозволяє автоматично реагувати на зовнішні і внутрішні події (переповнення таймерів/лічильників; завершення послідовного обміну).

Кожне із зовнішніх переривань /INT0, /INT1 може бути активізовано за рівнем або по фронту сигналів Р3.2, Р3.3 за допомогою бітів IT0 і IT1 регістра TCON. При надходженні запиту зовнішнього переривання /INTх встановлюється прапорець IEх регістра TCON. Очищення прапорця IEх проводиться апаратно: при перериванні по фронту IEх скидається при зверненні до відповідної підпрограми обробки переривання; при перериванні за рівнем прапорця очищається при знятті запиту зовнішнього переривання, тобто в IEх відстежується стан виводу /INTх.

Щоб зовнішнє переривання за рівнем було розпізнано, необхідно, щоб низький рівень на виводі INTх утримувався протягом не менше 12 періодів сигналу тактової частоти. Якщо ж переривання активізується по переходу зі стану високого рівня в стан низького рівня, то циклу низького рівня повинен передувати цикл високого рівня на виводі /INTх. Якщо зовнішнє переривання активізується за рівнем, запит повинен утримуватися до початку обслуговуючої підпрограми і зніматися перед завершенням цієї підпрограми для запобігання повторного обслуговування.

Переривання від таймерів/лічильників виконуються по прапорцях TF0 і TF1 регістра TCON, які встановлюються при переповненні відповідних регістрів таймерів/лічильників (за винятком режиму 3). Очищення прапорців TF0 і TF1 відбувається при переході до підпрограми обслуговування переривання.

Переривання від послідовного порту виконується по прапорцю закінчення прийому RI або по прапорцю закінчення передачі TI, які встановлюються в регістрі SCON.

На відміну від усіх інших прапорців, RI і TI скидаються тільки програмним шляхом зазвичай в межах підпрограми обробки переривання, де визначається, якому з прапорців RI або TI відповідає переривання.

У разі одночасного надходження запитів переривання з однаковим рівнем пріоритету, рівним 0 або 1, обробка їх проводиться в порядку внутрішнього опитування прапорців:

IEO –> TFO –> TE1 –> TF1 –> (TI + RI)

Установка прапорців переривання відбувається в кінці машинного циклу, а їх опитування в наступному циклі. І тільки після виконання останнього циклу поточної команди здійснюється апаратний виклик відповідної підпрограми обслуговування, еквівалентний команді LCALL.

У загальному випадку, звернення до підпрограми обслуговування затримується при виконанні хоча б однієї з таких умов:

- проводиться обробка переривання з таким же або вищим пріоритетом;

- поточний машинний цикл (цикл опитування прапорця) не є останнім циклом виконуваної команди;

- виконувана команда поточної програми RETI або будь-яка команда звернення до регістрів IE, IP.

За цих умов після закінчення однієї з вищевказаних команд обов'язково виконається ще одна команда поточної програми перед викликом підпрограми обслуговування переривання.

Прапорець переривання, встановлений під час дії блокування переривання по одному з трьох зазначених умов і скинутий до їх зняття, не викличе обслуговування відповідного запиту переривання.

Підпрограма обслуговування переривання триває до виконання команди RETI за якою відновлюється стан логіки переривання і стан програмного лічильника PC з двох верхніх осередків стека. При використанні команди RET відновлюється тільки стан програмного лічильника, а стан логіки переривання залишається незмінним.

У складі навчально-налагоджувального стенда є дві окремі кнопки S10-S11, які можуть опитуватися, як програмно, так і за допомогою використання функцій переривань INT0-INT1 відповідно.

В таблиці 35 наведені початкові адреси векторів переривань в ОМЕОМ.

Таблиця 35 – Початкові адреси векторів переривань
Джерело переривання Адреса  
Зовнішнє переривання 0 0003H  
Переповнення таймера 0 000BH  
Зовнішнє переривання 1 0013H  
Переповнення таймера 1 001BH  
Послідовний порт 0023H  

У складі навчально-налагоджувального стенда є матрична 3x4 клавіатура SW3-SW14. Клавіатура підключена до шини даних ОЕОМ за допомогою мікросхеми буфера DD1 74245 (АП6).

Опитування всієї клавіатури проводиться за три рази (за один раз зчитується стан лише одного стовпця клавіатури). Щоб зробити опитування стовпця клавіатури (SW3, SW6, SW9, SW12; SW4, SW7, SW10, S13, або SW5, SW8, SW11, SW14) необхідно виставити на відповідній лінії адреси (A0, A1, A2 для першого, другого і третього стовпця відповідно) рівень логічного нуля, а на інших лініях рівень логічної одиниці і прочитати стан буфера клавіатури, що підключений до шини даних ОЕОМ, як доступна для читання комірка пам'яті з адресою 9000h. Якщо кнопка натиснута то відповідний біт у зчитаному байті дорівнюватиме нулю, якщо ж не натиснута то одиниці. Адреси кнопок SW3.. SW14 наведено в таблиці 36.

Таблиця 36 – Адреси кнопок SW3.. SW14
Столбец (кнопки) Адрес
1 (SW3,SW6,SW9,SW12) 9006h
2 (SW4,SW7,SW10,SW13) 9005h
3 (SW5,SW8,SW11,SW14) 9003h

 









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2019 zdamsam.ru Размещенные материалы защищены законодательством РФ.