English
Language : 

PIC24FJ128GC010 Datasheet, PDF (191/472 Pages) Microchip Technology – 16-Bit Flash Microcontrollers with 12-Bit Pipeline A/D, Sigma-Delta A/D, USB On-The-Go and XLP Technology
PIC24FJ128GC010 FAMILY
11.3 Input Change Notification (ICN)
The Input Change Notification function of the I/O ports
allows the PIC24FJ128GC010 family of devices to gen-
erate interrupt requests to the processor in response to
a Change-of-State (COS) on selected input pins. This
feature is capable of detecting input Change-of-States,
even in Sleep mode, when the clocks are disabled.
Depending on the device pin count, there are up to
82 external inputs that may be selected (enabled) for
generating an interrupt request on a Change-of-State.
Registers, CNEN1 through CNEN6, contain the interrupt
enable control bits for each of the Change Notification
(CN) input pins. Setting any of these bits enables a CN
interrupt for the corresponding pins.
Each CN pin has both a weak pull-up and a weak
pull-down connected to it. The pull-ups act as a current
source that is connected to the pin, while the pull-downs
act as a current sink that is connected to the pin. These
eliminate the need for external resistors when push but-
ton or keypad devices are connected. The pull-ups and
pull-downs are separately enabled using the CNPU1
through CNPU6 registers (for pull-ups) and the CNPD1
through CNPD6 registers (for pull-downs). Each CN pin
has individual control bits for its pull-up and pull-down.
Setting a control bit enables the weak pull-up or
pull-down for the corresponding pin.
When the internal pull-up is selected, the pin pulls up to
VDD – 1.1V (typical). When the internal pull-down is
selected, the pin pulls down to VSS.
Note:
Pull-ups on Change Notification pins
should always be disabled whenever the
port pin is configured as a digital output.
EXAMPLE 11-1: PORT WRITE/READ IN ASSEMBLY
MOV
MOV
NOP
BTSS
0xFF00, W0
W0, TRISB
PORTB, #13
; Configure PORTB<15:8> as inputs
; and PORTB<7:0> as outputs
; Delay 1 cycle
; Next Instruction
EXAMPLE 11-2: PORT WRITE/READ IN ‘C’
TRISB = 0xFF00;
Nop();
If (PORTBbits.RB13){ };
// Configure PORTB<15:8> as inputs and PORTB<7:0> as outputs
// Delay 1 cycle
// Next Instruction
 2012-2013 Microchip Technology Inc.
DS30009312B-page 191