Прерывания в семействе PIC18 xxxx

Автор: Super User Просмотров: 16915

 

Регистр 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-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru