АСЕМБЛЕР - 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.