
5. I/O ports
MC97F6108A User’s manual
36
5
I/O ports
MC97F6108A has three groups of I/O ports (P0 ~ 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. P1 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 ~ P4 and a bit for P5. 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)
P0[7:0], P1[7:0], P2[1:0] support debounce function. Debounce time of each ports are 1/2/4/8us.
5.1.6
Port Selection Register (psrx)
These registers define alternative functions of ports. Please remember that these registers should be
set properly for alternative port function. A reset clears the PSRx register to
‘
00H
’
, which makes all pins
to normal I/O ports. PSR0 is port de-bounce selection register that can select one of four de-bounce
length of all port. And PSR2 and PSR3 are digital input port selection register that can select use of
port's digital input or not.