Datasheet
2010 Microchip Technology Inc. DS39635C-page 137
PIC18F6310/6410/8310/8410
11.5 PORTE, TRISE and
LATE Registers
PORTE is an 8-bit wide, bidirectional port. The
corresponding Data Direction register is TRISE. Setting
a TRISE bit (= 1) will make the corresponding PORTE
pin an input (i.e., put the corresponding output driver in
a High-Impedance mode). Clearing a TRISE bit (= 0)
will make the corresponding PORTE pin an output (i.e.,
put the contents of the output latch on the selected pin).
The Output Latch register (LATE) is also memory
mapped. Read-modify-write operations on the LATE
register read and write the latched output value for
PORTE.
All pins on PORTE are implemented with Schmitt
Trigger input buffers. Each pin is individually
configurable as an input or output.
When the device is operating in Microcontroller mode,
pin RE7 can be configured as the alternate peripheral
pin for the CCP2 module. This is done by clearing the
CCP2MX Configuration bit.
In 80-pin devices, PORTE is multiplexed with the
system bus as part of the external memory interface.
I/O port and other functions are only available when the
interface is disabled by setting the EBDIS bit
(MEMCON<7>). When the interface is enabled (80-pin
devices only), PORTE is the high-order byte of the
multiplexed address/data bus (AD<15:8>). The TRISE
bits are also overridden.
When the Parallel Slave Port is active on PORTD, three
of the PORTE pins (RE0/AD8/RD
, RE1/AD9/WR and
RE2/AD10/CS
) are configured as digital control inputs
for the port. The control functions are summarized in
Tab le 11 - 9 . The reconfiguration occurs automatically
when the PSPMODE Control bit (PSPCON<4>) is set.
Users must still make certain the corresponding TRISE
bits are set to configure these pins as digital inputs.
EXAMPLE 11-5: INITIALIZING PORTE
Note: On a Power-on Reset, these pins are
configured as digital inputs.
CLRF PORTE ; Initialize PORTE by
; clearing output
; data latches
CLRF LATE ; Alternate method
; to clear output
; data latches
MOVLW 03h ; Value used to
; initialize data
; direction
MOVWF TRISE ; Set RE<1:0> as inputs
; RE<7:2> as outputs