English
Language : 

PIC24FJ128GA310-I Datasheet, PDF (172/406 Pages) Microchip Technology – 64/80/100-Pin, General Purpose, 16-Bit Flash Microcontrollers with LCD Controller and nanoWatt XLP Technology
PIC24FJ128GA310 FAMILY
11.3 Input Change Notification
The input change notification function of the I/O ports
allows the PIC24FJ128GA310 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 inter-
rupt enable control bits for each of the 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 button 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
DS39996F-page 172
 2010-2011 Microchip Technology Inc.