English
Language : 

PIC24FJ256DA210 Datasheet, PDF (163/408 Pages) Microchip Technology – 64/100-Pin, 16-Bit Flash Microcontrollers with Graphics Controller and USB On-The-Go (OTG)
PIC24FJ256DA210 FAMILY
10.3 Input Change Notification
The input change notification function of the I/O ports
allows the PIC24FJ256DA210 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
84 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 a 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.
Note:
To use CN83 and CN84, which are on the
D+ and D- pins, the UTRDIS bit
(U1CNFG2<0>) should be set.
EXAMPLE 10-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 10-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
 2010 Microchip Technology Inc.
DS39969B-page 163