ASSEMBLER - Перерва GB - Перерва51GB
7.1.1 Система переривань 8XC51GB
Мікроконтролери 8XC51GB підтримують 15 векторів переривань, показані у табл. 7.5.
Таблиця 7.5. Вектор переривань
Зовнішня подія на висновку INTO
Зовнішній висновок INT1
Послідовний порт: прийом або передача
Переривання від Т/С2
Переривання від РСА
Переривання від РСА1
Переривання від порту SEP
Зовнішній висновок INT2
Зовнішній висновок INT3
Зовнішній висновок INT4
Зовнішній висновок INT5
Зовнішній висновок INT6
Перші 5 векторів є у всіх кристалах серії MCS-51. 6-й - підтримує 3-й таймер/лічильник і специфічний для кристалів 8052/ВН, 8ХС5Х та вище. 7-й вектор обслуговує РСА та присутній тільки в чіпах від 8XC51FX та вище. Кристал 8XC51GB додатково підтримує 8
переривань від 5 зовнішніх подій INT2 - INT6, 2-ї матриці програмованих лічильників РСА1, АЦП та порту розширення послідовних каналів.
"1" - переривання дозволені
"0" - переривання заборонені
Функція заборони/дозволення переривання
забороняє переривання від усіх джерел
переривання від РСА
переповнення 2-го таймера
переповнення 1-го таймера
зовнішнє переривання INT1
переповнення 0-го таймера
зовнішнє переривання INT0
Мал. 5.3. Реєстр IЕ кристалів 87XC51GB
"1" - переривання дозволені
"0" - переривання заборонені
Функція заборони/дозволення переривання
Переривання від АЦП
Зовнішнє переривання – висновок INT6
Зовнішнє переривання – висновок INT5
Зовнішнє переривання – висновок INT4
Зовнішнє переривання – висновок INT3
Зовнішнє переривання – висновок INT2
Переривання від РСА1
Переривання від SEP
Рис.5.4. Реєстр IЕА кристалів 87XC51GB
Управління пріоритетами переривань
Функція присвоєння пріоритету переривання
зарезервовано для подальшого використання
переривання від РСА, молодший біт
переповнення 2-го таймера, молодший біт
послідовний порт, молодший біт
переповнення 1-го таймера, молодший біт
зовнішнє переривання INT1, молодший біт
переповнення 0-го таймера, молодший біт
зовнішнє переривання INT0, молодший біт
Мал. 7.5. Реєстр IP кристалів 8XC51GB
Функція присвоєння пріоритету переривання
зарезервовано для подальшого використання
переривання від РСА, старший біт
переповнення 2-го таймера, старший біт
послідовний порт, старший біт
переповнення 1-го таймера, старший біт
зовнішнє переривання INT1, старший біт
переповнення 0-го таймера, старший біт
зовнішнє переривання INT0, старший біт
рівень 0, нижчий
рівень 3, вищий
Мал. 7.6. Реєстр IРН кристалів 8XC51GB
Прапори, що ініціюють дані переривання, виставляються у стані S5P2 кожен машинний цикл. Виняток становить 3-й таймер/лічильник Т/С2, прапор переривання якого встановлюється у стані S2P2.
Є 4 рівня пріоритету. З цією метою у складі мікросхем 8ХС5Х є додатковий регістр пріоритетів переривань IРН, не передбачений базовою архітектурою MCS-51, який показаний на рис. 7.6. Його наявність збільшує кількість можливих рівнів переривань до 4-х. Цей регістр містить старші біти двобітних полів пріоритету переривань, тоді як стандартний регістр IP у тих самих позиціях містить молодші. Подібна схема використовується з метоюзбереження сумісності з старшими кристалами сімейства. Аналогічні правила поширюються і переривання, використовують додаткові регістри пріоритетів IРА і IРНА.
Функція присвоєння пріоритету переривання
Переривання від АЦП
Зовнішнє переривання – висновок INT6
Зовнішнє переривання – висновок INT5
Зовнішнє переривання – висновок INT4
Зовнішнє переривання – висновок INT3
Зовнішнє переривання – висновок INT2
переривання від РСА1
Переривання від SEP
Мал. 7.7. Реєстр IPА кристала 8XC51GB
Функція присвоєння пріоритету переривання
Переривання від АЦП
Зовнішнє переривання – висновок INT6
Зовнішнє переривання – висновок INT5
Зовнішнє переривання – висновок INT4
Зовнішнє переривання – висновок INT3
Зовнішнє переривання – висновок INT2
переривання від РСА1
Переривання від SEP
Мал. 7.8. Реєстр IРНА кристалів 8XC51GB
7.1.2 Зовнішні переривання
Зовнішні переривання INT0 і INT1 мікроконтролера 87C51GB повністю відповідають аналогічним перериванням всіх мікроконтролерів сімейства MCS-51 і можуть залежно від стану бітів ІТ0 і ІТ1 регістра TCON фіксуватися як за рівнем, так і негативним фронтом.
Зовнішні висновки INT2 і INT3 можуть реагувати як у позитивний, і на негативний фронти сигналу. Мікросхема має регістр EXICON, що містить біти ІТ2 та ІТЗ, що визначають активний фронт сигналу на висновках P5.2/INT2 та P5.3/INT3. При встановленні біта IТn в "0" переривання ініціюється негативним фронтом, а при ITn=1 - по позитивному. Зовнішні події INT4-INT6 фіксуються лише за позитивним фронтом на висновках P5.4/INT4-P5.6/INT6.
Однак усі зовнішні переривання генеруються відповідними апаратно-встановлюванимипрапорами; для подій INT0/INT1 - це біти IЕ0 та IЕ1 регістра TCON. Регістр EXICON містить 4
прапора IЕ2-IЕ6, що ініціюють виконання переривання за подіями INT2-INT4. Всі ці прапори очищаються також апаратно переходу на підпрограму обробки переривання. Як зазначалося у другому розділі, рівневе переривання по входах INT0/INT1 не очищає прапори IЕ0/IЕ1.
Висновки зовнішніх переривань опитуються один раз за кожен машинний цикл. З цієї причини сигнал, що подається на фронтовий вхід INTn повинен перебувати у високому та низькому рівні, як мінімум, протягом 1 циклу (12 періодів тактового генератора).
Заборона або дозвіл зовнішніх переривань здійснюється за допомогою відповідних бітів регістрів ІЕ та ІЕА.