2001 Microchip Technology Inc.
DS35007B-page 29
PIC16F84A
6.8
Interrupts
The PIC16F84A has 4 sources of interrupt:
External interrupt RB0/INT pin
TMR0 overflow interrupt
PORTB change interrupts (pins RB7:RB4)
Data EEPROM write complete interrupt
The interrupt control register (INTCON) records
individual interrupt requests in flag bits. It also contains
the individual and global interrupt enable bits.
The global interrupt enable bit, GIE (INTCON<7>),
enables (if set) all unmasked interrupts or disables (if
cleared) all interrupts. Individual interrupts can be
disabled through their corresponding enable bits in
INTCON register. Bit GIE is cleared on RESET.
The “return from interrupt” instruction, RETFIE, exits
interrupt routine as well as sets the GIE bit, which
re-enables interrupts.
The RB0/INT pin interrupt, the RB port change interrupt
and the TMR0 overflow interrupt flags are contained in
the INTCON register.
When an interrupt is responded to, the GIE bit is
cleared to disable any further interrupt, the return
address is pushed onto the stack and the PC is loaded
with 0004h. For external interrupt events, such as the
RB0/INT pin or PORTB change interrupt, the interrupt
latency will be three to four instruction cycles. The
exact latency depends when the interrupt event occurs.
The latency is the same for both one and two cycle
instructions. Once in the Interrupt Service Routine, the
source(s) of the interrupt can be determined by polling
the interrupt flag bits. The interrupt flag bit(s) must be
cleared in software before re-enabling interrupts to
avoid infinite interrupt requests.
FIGURE 6-10:
INTERRUPT LOGIC
6.8.1
INT INTERRUPT
External interrupt on RB0/INT pin is edge triggered:
either rising if INTEDG bit (OPTION_REG<6>) is set,
or falling if INTEDG bit is clear. When a valid edge
appears
on
the
RB0/INT
pin,
the
INTF
bit
(INTCON<1>) is set. This interrupt can be disabled by
clearing control bit INTE (INTCON<4>). Flag bit INTF
must be cleared in software via the Interrupt Service
Routine before re-enabling this interrupt. The INT
interrupt can wake the processor from SLEEP
(Section 6.11) only if the INTE bit was set prior to going
into SLEEP. The status of the GIE bit decides whether
the processor branches to the interrupt vector
following wake-up.
6.8.2
TMR0 INTERRUPT
An overflow (FFh
→ 00h) in TMR0 will set flag bit T0IF
(INTCON<2>). The interrupt can be enabled/disabled
by setting/clearing enable bit T0IE (INTCON<5>)
6.8.3
PORTB INTERRUPT
An input change on PORTB<7:4> sets flag bit RBIF
(INTCON<0>). The interrupt can be enabled/disabled
by setting/clearing enable bit RBIE (INTCON<3>)
6.8.4
DATA EEPROM INTERRUPT
At the completion of a data EEPROM write cycle, flag
bit EEIF (EECON1<4>) will be set. The interrupt can be
enabled/disabled by setting/clearing enable bit EEIE
(INTCON<6>) (Section 3.0).
Note:
Individual
interrupt
flag
bits
are
set
regardless
of
the
status
of
their
corresponding mask bit or the GIE bit.
RBIF
RBIE
T0IF
T0IE
INTF
INTE
GIE
EEIE
Wake-up
(If in SLEEP mode)
Interrupt to CPU
EEIF
Note:
For a change on the I/O pin to be
recognized, the pulse width must be at
least TCY wide.
相关PDF资料
PIC16F84A-04E/SO IC MCU CMOS 4MHZ 1K FLASH 18SOIC
PIC16F785-I/SS IC PIC MCU FLASH 2KX14 20SSOP
PIC16C433T-I/SO IC MCU CMOS 8BIT 10MHZ 2K 18SOIC
PIC16C773T-E/SO IC MCU OTP 4KX14 A/D PWM 28SOIC
PIC16CE623T-30/SO IC MCU OTP 512X14 EE COMP 18SOIC
PIC16F1825-E/ML MCU PIC 14K FLASH 1K RAM 16QFN
PIC16F1828-I/SO IC PIC MCU 8BIT 14KB FLSH 20SOIC
PIC16F688-I/SL IC PIC MCU FLASH 4KX14 14SOIC
相关代理商/技术参数
PIC16F84A-04I/P 功能描述:8位微控制器 -MCU 1.75KB 68 RAM 13 I/O 4MHz Ind Temp PDIP18 RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F84A-04I/P 制造商:Microchip Technology Inc 功能描述:IC 8BIT FLASH MCU 16F84 DIP18
PIC16F84A-04I/SO 功能描述:8位微控制器 -MCU 1.75KB 68 RAM 13 I/O 4MHz Ind Temp SOIC18 RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F84A-04I/SO 制造商:Microchip Technology Inc 功能描述:8BIT FLASH MCU SMD 16F84 SOIC18
PIC16F84A-04I/SS 功能描述:8位微控制器 -MCU 1.75KB 68 RAM 13 I/O 4MHz IndTemp SSOP20 RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F84A-04I/SS 制造商:Microchip Technology Inc 功能描述:8BIT FLASH MCU SMD 16F84 SSOP20
PIC16F84A-20/P 功能描述:8位微控制器 -MCU 1.75KB 68 RAM 13 I/O 20MHz PDIP18 RoHS:否 制造商:Silicon Labs 核心:8051 处理器系列:C8051F39x 数据总线宽度:8 bit 最大时钟频率:50 MHz 程序存储器大小:16 KB 数据 RAM 大小:1 KB 片上 ADC:Yes 工作电源电压:1.8 V to 3.6 V 工作温度范围:- 40 C to + 105 C 封装 / 箱体:QFN-20 安装风格:SMD/SMT
PIC16F84A-20/P 制造商:Microchip Technology Inc 功能描述:IC 8BIT FLASH MCU 16F84 DIP18