Призначення та принципи функціонування системи переривань
Обробка асинхронних подій, які відбуваються в довільні моменти часу, в МК51, як і в інших МП, реалізована через систему переривань, яка функціонує згідно з логікою, показаної на мал. 16.1: rn rn Джерелами запиту на переривання в МК51 можуть бути: rn - зовнішні пристрої, які подають сигнали запиту на переривання через входи # INT0 і # INT1 (аварійні ситуації, готовність даних); rn - таймери шляхом встановлення прапорів запиту TF0 і TF1 у разі переповнення; rn - УАПП, шляхом формування прапорів TI і RI при завершенні передачі і прийому відповідно. rn Використання системи переривань дозволяє організувати паралельну і незалежну роботу процесора і периферійних пристроїв (T /С, УАПП, зовнішні схеми) таким чином, що ці пристрої, працюючи одночасно з процесором, інформують його про закінчення чергового циклу (фази) своєї роботи сигналами запиту на переривання. Схематично і спрощено логіка роботи системи переривань МК51 показана на ріс.16.2 або рис 29 в комплекті. rn Зовнішні запити на переривання, що надходять на входи # INT0 і # INT1, фіксуються або за рівнем сигналу (0), або за зріз (з 1 в 0) в залежності від значення бітів IT0 і IT1 регістру TCON. У будь-якому випадку від зовнішніх переривань встановлюються прапори-фіксатори запиту IE0 і IE1 в регістрі TCON. rn Встановлення прапорів-фіксаторів IE0 і IE1 в 1 ініціює виклик процедури обробки переривання, тобто формує апаратну команду LCALL 0003H або 0013Н. За адресою 0003H і 0013H зазвичай знаходиться команда JMP на відповідну процедуру. rn Скидання IE0 і IE1 виконується апаратно, якщо переривання викликане зрізом сигналу (тобто при IT0 = 1 і IT1 = 1) або повинно виконуватися програмою обслуговування переривання шляхом впливу на джерело переривання з метою скасування ім сигналу запиту. rn Прапори переривання від таймерів TF0 і TF1 встановлюються апаратно при переповнення таймерних регістрів і скидаються апаратно при передачі управління процедуру обслуговування. Вектори переходу на відповідні процедури (тобто команда JMP adr) повинні перебувати за адресами 000ВН для переривання TF0 та 001BH для переривання TF1. rn Прапори запитів переривання при завершенні передачі з УАПП - TI і завершення прийому в УАПП - RI встановлюються апаратно блоком керування УАПП. Запити обєднуються за АБО в загальний запит переривання від УАПП. Ідентифікація джерела запиту повинна виконуватися у процедурі обробки (обробка переривання з програмним пошуком джерела). Прапори TI і RI також повинні сбрасываться процедурою обробки. Вектор переходу при перериванні від УАПП повинен знаходитися за адресою 0023Н. rn переривання також можуть бути викликані або відмінені програмно, оскільки всі перераховані прапори програмно доступні і можуть змінюватися програмою з тим же ефектом, що й апаратними засобами. rn
|