
A96G166/A96A166/A96S166 User’s manual
5. I/O ports
39
5
I/O ports
A96G166/A96A166/A96S166 has ten groups of I/O ports (P0 to P2). Each port can be easily
configured by software as I/O pin, internal pull up and open-drain pin to meet various system
configurations and design requirements. P0 includes a function that can generate interrupt signals
according to state of a pin.
5.1
Port register
5.1.1
Data register (Px)
Data register is a bidirectional I/O port. If ports are configured as output ports, data can be written to
the corresponding bit of the Px. If ports are configured as input ports, the data can be read from the
corresponding bit of the Px.
5.1.2
Direction register (PxIO)
Each I/O pin can be independently used as an input or an output through the PxIO register. Bits
cleared in this register will make the corresponding pin of Px to input mode. Set bits of this register will
make the pin to output mode. Almost bits are cleared by a system reset, but some bits are set by a
system reset.
5.1.3
Pull-up register selection register (PxPU)
The on-chip pull-up resistor can be connected to I/O ports individually with a pull-up resistor selection
register (PxPU). The pull-up register selection controls the pull-up resister enable/disable of each port.
When the corresponding bit is 1, the pull-up resister of the pin is enabled. When 0, the pull-up resister
is disabled. All bits are cleared by a system reset.
5.1.4
Open-drain Selection Register (PxOD)
There are internally open-drain selection registers (PxOD) for P0 ~ P1 and a bit for P2. The open-
drain selection register controls the open-drain enable/disable of each port. Almost ports become
push-pull by a system reset, but some ports become open-drain by a system reset.
5.1.5
De-bounce Enable Register (PxDB)
All I/O Ports support debounce function. Debounce clocks of each ports are fx/1, fx/4, and fx/4096.
5.1.6
Port Function Selection Register (PxFSR)
These registers define alternative functions of ports. Please remember that these registers should be
set properly for alternative port function. A reset clears the PxFSR register to
‘
00H
’
, which makes all
pins to normal I/O ports.