16.1 Overview

Table 16-1. Port Availability per Device
DevicePORTAPORTBPORTC
8-pin devices
14/16-pin devices
20-pin devices

Each port has eight registers to control the operation. These registers are:

  • PORTx registers (reads the levels on the pins of the device)
  • LATx registers (output latch)
  • TRISx registers (data direction)
  • ANSELx registers (analog select)
  • WPUx registers (weak pull-up)
  • INLVLx (input level control)
  • SLRCONx registers (slew rate control)
  • ODCONx registers (open-drain control)

In this section, the generic names such as PORTx, LATx, TRISx, etc. can be associated with PORTA, PORTB, PORTC, etc., depending on availability per device.

A simplified model of a generic I/O port, without the interfaces to other peripherals, is shown in the following figure:

Figure 16-1. Generic I/O Port Operation