
PIC18CXX8
DS30475A-page 108
Advanced Information
2000 Microchip Technology Inc.
8.10
PORTK, LATK, and TRISK Registers
PORTK is an 8-bit wide, bi-directional port available
only on the PIC18C858 devices. The corresponding
Data Direction register is TRISK. Setting a TRISK bit
(=1) will make the corresponding PORTK pin an input
(i.e., put the corresponding output driver in a
hi-impedance mode). Clearing a TRISK bit (=0) will
make the corresponding PORTK pin an output (i.e., put
the contents of the output latch on the selected pin).
Read-modify-write operations on the LATK register
read and write the latched output value for PORTK.
PORTK is an 8-bit port with Schmitt Trigger input buff-
ers. Each pin is individually configurable as an input or
output.
EXAMPLE 8-10: INITIALIZING PORTK
FIGURE 8-19: PORTK BLOCK DIAGRAM
TABLE 8-19:
PORTK FUNCTIONS
TABLE 8-20:
SUMMARY OF REGISTERS ASSOCIATED WITH PORTK
Note:
This port is available on PIC18C858.
CLRF
PORTK
; Initialize PORTK by
; clearing output
; data latches
CLRF
LATK
; Alternate method
; to clear output
; data latches
MOVLW
0xCF
; Value used to
; initialize data
; direction
MOVWF
TRISK
; Set RK3:RK0 as inputs
; RK5:RK4 as outputs
; RK7:RK6 as inputs
Data
Bus
WR LATK
WR TRISK
RD PORTK
Data Latch
TRIS Latch
RD TRISK
Schmitt
Trigger
Input
Buffer
I/O Pin
Q
D
CK
Q
D
CK
EN
QD
EN
RD LATK
or
WR PORTK
Note:
I/O pins have diode protection to VDD and VSS.
Name
Bit#
Buffer Type
Function
RK0
bit0
ST
Input/output port pin.
RK1
bit1
ST
Input/output port pin.
RK2
bit2
ST
Input/output port pin.
RK3
bit3
ST
Input/output port pin.
RK4
bit4
ST
Input/output port pin.
RK5
bit5
ST
Input/output port pin.
RK6
bit6
ST
Input/output port pin.
RK7
bit7
ST
Input/output port pin.
Legend: ST = Schmitt Trigger input
Name
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value on:
POR, BOR
Value on all
other RESETS
TRISK
PORTK Data Direction Control Register
1111 1111
PORTK Read PORTK pin / Write PORTK Data Latch
xxxx xxxx
uuuu uuuu
LATK
Read PORTK Data Latch/Write PORTK Data Latch
xxxx xxxx
uuuu uuuu
Legend: x = unknown, u = unchanged