Controlling and Resetting the Port
10-15
Asynchronous Serial Port

10.3.5 Using I/O Pins IO3, IO2, IO1, and IO0

Pins IO3, IO2, IO1, and IO0 can be individually configured as inputs or outputs
and can be used as handshake control for the asynchronous serial port or as
general-purpose I/O pins. They are software-controlled through the asynchro-
nous serial port control register (ASPCR) and the I/O status register (IOSR),
as shown in Figure 10–5.
Figure 10–5. Example of the Logic for Pins IO0–IO3
Level change
detect
CIO0bit=1 CIO0bit =0
General-purpose
I/O pin
IO0
DIO3 DIO2 DIO1 DIO0 IO3 IO2 IO1 IO0
Delta interrupt
I/O status register (IOSR)
DIM bit
The four LSBs of the ASPCR, bits CIO0–CIO3, are for configuring each pin as
an input or an output. For example, as shown in the figure, setting CIO0 to 1
configures IO0 as an output; setting CIO0 to 0 configures IO0 as an input. At
reset, CIO0–CIO3 are all cleared to 0, making all four of the the pins inputs.
Table 10–3 summarizes the configuration of the pins.
Table 10–3. Configuring Pins IO0–IO3 with ASPCR Bits CIO0–CIO3
CIO0
Bit IO0
Pin CIO1
Bit IO1
Pin CIO2
Bit IO2
Pin CIO3
Bit IO3
Pin
0 Input 0 Input 0 Input 0 Input
1 Output 1 Output 1 Output 1 Output