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 періодів тактового генератора).

Заборона або дозвіл зовнішніх переривань здійснюється за допомогою відповідних бітів регістрів ІЕ та ІЕА.