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