.
Регистр INTCON.
Регистр доступен для записи и чтения, содержит биты разрешения прерываний, флаги прерываний и биты приоритета.
Важно:
Флаги прерываний устанавливаются вне зависимости от того разрешено прерывание или нет. Перед каждым разрешением , необходимо сбросить флаг прерывания.
К примеру, если включен (задействован) аппаратный модуль таймера , то флаг прерывания установится по "переполнению" вне зависимости от разрешения. В этом есть и определенные плюсы, можно в программном коде проверять соответствующий флаг и при наступлении события (поднятие флага) выполнять определенные действия без прерывания .
R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 | R/W-0 |
GIE/GIEH | PEIE/GIEL | TMR0IE | INT0IE | RBIE | TMR0IF | INT0IF | RBIF |
Бит7 | Бит6 | Бит5 | Бит4 | Бит3 | Бит2 | Бит1 | Бит0 |
Бит7 GIE/GIEH: Бит глобального разрешения прерываний.
IPEN=0
1= Разрешены все немаскированные прерывания.
0= Запрещены все прерывания.
IPEN=1
1= Разрешены прерывания с высоким приоритетом.
0= Все прерывания с высоким приоритетом запрещены.
Бит6 PEIE/GIEL: Разрешение периферийных прерываний
IPEN=0
1= Разрешены все периферийные немаскированные прерывания.
0= Запрещены все периферийные прерывания.
IPEN=1
1= Разрешены прерывания с низким приоритетом.
0= Все прерывания с низким приоритетом запрещены.
Бит5 TMR0IE: Разрешение прерывания по переполнению TMR0
1= Разрешено прерывание по переполнению TMR0
0= Прерывание по переполнению TMR0 запрещено.
Бит4 INT0IE: Разрешение внешнего прерывания INT0
1= Внешнее прерывание INT0 разрешено
0= Внешнее прерывание INT0 запрещено
Бит3 RB0IE: Разрешение прерывания по изменению уровня сигнала на входах PORTB
1= Разрешено прерывания по изменению уровня сигнала на входах PORTB
0=Запрещено прерывания по изменению уровня сигнала на входах PORTB
Бит2 TMR0IF: Флаг прерывания переполнения таймера TMR
1= Произошло переполнение таймера TMR0 (сбрасывается программно)
0= Переполнение таймера TMR0 не происходило
Бит1 TMR0IF: Флаг внешнего прерывания INT0
1= Выполнено условие внешнего прерывания INT0 (сбрасывается программно)
0= Условие внешнего прерывания INT0 не происходило
Бит0 INT0IE: Флаг прерывания по изменению уровня сигнала на входах PORTB
1= Зафиксировано изменение уровня сигнала на одном из входах RB7:RB4 (сбрасывается программно)
0= Уровень сигнала на входах RB7:RB4 не изменялся
Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2021 © ChipMK.ru
![]() |
|