АСЕМБЛЕР - InterruptGB - Interrupt51GB

7.1.1 8XC51GB система за прекъсване

Микроконтролерите 8XC51GB поддържат 15 вектора за прекъсване, показани в таблица 1. 7.5.

Таблица 7.5. Прекъсващи вектори

Външно събитие на пин INTO

Външно събитие на pin INT1

Сериен порт: приемане или предаване

Прекъсване от T/S2

RSA прекъсване

PCA1 прекъсване

Прекъсване на SEP порт

Външно събитие на pin INT2

Външно събитие на pin INT3

Външно събитие на pin INT4

Външно събитие на pin INT5

Външно събитие на пин INT6

Първите 5 вектора присъстват във всички кристали от серията MCS-51. 6-ти - поддържа 3-ти таймер/брояч и е специфичен за 8052/BH, 8XC5X и по-високи кристали. 7-ми вектор обслужва PCA и присъства само в чипове от 8XC51FX и по-нови. Crystal 8XC51GB допълнително поддържа 8

прекъсвания от 5 външни събития INT2 - INT6, 2-ра матрица на програмируеми броячи РСА1, ADC и порт за разширение на серийни канали.

"1" - прекъсванията са разрешени

"0" - прекъсванията са деактивирани

Функция за деактивиране/разрешаване на прекъсване

забранява прекъсванията от всички източници

прекъсване от PCA

2-ро препълване на таймера

1-во препълване на таймера

външно прекъсване INT1

0-то препълване на таймера

външно прекъсване INT0

Ориз. 5.3. Регистрирайте IE кристали 87XC51GB

"1" - прекъсванията са разрешени

"0" - прекъсванията са деактивирани

Функция за деактивиране/разрешаване на прекъсване

ADC прекъсване

Външно прекъсване - pin INT6

Външно прекъсване - pin INT5

Външно прекъсване - pin INT4

Външно прекъсване - pin INT3

Външно прекъсване - pin INT2

PCA1 прекъсване

SEP прекъсване

Фиг.5.4. Регистрирайте IEA кристали 87XC51GB

Прекъснете управлението на приоритетите

Функция за приоритет на прекъсване

запазени за бъдеща употреба

PCA прекъсва LSB

2-ро препълване на таймера, нисък бит

нисък бит на сериен порт

1-во препълване на таймера, нисък бит

външно прекъсване INT1 LSB

0-то препълване на таймера, нисък бит

външно прекъсване INT0 LSB

Ориз. 7.5. Crystal IP регистър 8XC51GB

Функция за приоритет на прекъсване

запазени за бъдеща употреба

PCA прекъсва висок бит

2-ро препълване на таймера, най-значимият бит

висок бит на сериен порт

Първо препълване на таймера, най-значимият бит

външно прекъсване INT1 висок бит

0-то препълване на таймера, най-важният бит

външно прекъсване INT0 висок бит

ниво 0, най-ниско

ниво 3, по-високо

Ориз. 7.6. Кристален регистър IPH 8XC51GB

Флаговете, които задействат тези прекъсвания, се задават в състояние S5P2 всеки машинен цикъл. Изключение е третият таймер/брояч T/C2, чийто флаг за прекъсване е зададен в състояние S2P2.

Има 4 нива на приоритет. За тази цел микросхемите 8ХС5Х съдържат допълнителен регистър за приоритет на прекъсване IРН, който не е предвиден от основната архитектура MCS-51, която е показана на фиг. 7.6. Неговото присъствие увеличава броя на възможните нива на прекъсване до 4. Този регистър съдържа горните битове на двубитовите полета за приоритет на прекъсването, докато стандартният IP регистър съдържа долните битове на същите позиции. Тази схема се използва заподдържане на съвместимост с по-старите кристали от семейството. Подобни правила се прилагат за прекъсвания, които използват допълнителни приоритетни регистри IPA и IPHA.

Функция за приоритет на прекъсване

ADC прекъсване

Външно прекъсване - pin INT6

Външно прекъсване - pin INT5

Външно прекъсване - pin INT4

Външно прекъсване - pin INT3

Външно прекъсване - pin INT2

PCA1 прекъсване

Прекъсване от SEP

Ориз. 7.7. Чип IPA регистър 8XC51GB

Функция за приоритет на прекъсване

ADC прекъсване

Външно прекъсване - pin INT6

Външно прекъсване - pin INT5

Външно прекъсване - pin INT4

Външно прекъсване - pin INT3

Външно прекъсване - pin INT2

PCA1 прекъсване

SEP прекъсване

Ориз. 7.8. Регистрирайте IPHA кристали 8XC51GB

7.1.2 Външни прекъсвания

Външните прекъсвания INT0 и INT1 на микроконтролера 87C51GB напълно съответстват на подобни прекъсвания на всички микроконтролери от семейството MCS-51 и в зависимост от състоянието на битовете IT0 и IT1 на регистъра TCON могат да бъдат фиксирани както на ниво, така и на отрицателен ръб.

Външните изводи INT2 и INT3 могат да реагират както на положителни, така и на отрицателни ръбове на сигнала. Микросхемата има регистър EXICON, съдържащ IT2 и ITZ битове, които определят активния ръб на сигнала на щифтовете P5.2 / INT2 и P5.3 / INT3. Когато битът ITn е настроен на "0", прекъсването се задейства по отрицателен фронт, а когато ITn=1, се задейства по положителен фронт. Външните събития INT4-INT6 се фиксират само на положителен фронт на изходите P5.4/INT4-P5.6/INT6.

Всички външни прекъсвания обаче се генерират от съответния инсталиран хардуерзнамена; за събития INT0/INT1 това са битове IE0 и IE1 на регистъра TCON. Регистърът EXICON съдържа 4

флаг IE2-IE6, иницииращ изпълнение на прекъсване при събития INT2-INT4. Всички тези флагове също се изчистват от хардуера при преход към рутинната услуга за прекъсване. Както беше отбелязано в Глава 2, прекъсването на ниво INT0/INT1 не изчиства флаговете IE0/IE1.

Външните изводи за прекъсване се запитват веднъж на машинен цикъл. Поради тази причина сигналът, приложен към предния вход INTn, трябва да бъде висок и нисък за поне 1 цикъл (12 тактови цикъла).

Забраняването или разрешаването на външни прекъсвания се извършва чрез съответните битове на регистрите IE и IEA.