RL78/G10 CHAPTER 4 PORT FUNCTIONS
R01UH0384EJ0311 Rev. 3.11 73
Dec 22, 2016
4.6 Cautions When Using Port Function
4.6.1 Cautions on 1-bit manipulation instruction for port register n (Pn)
When a 1-bit manipulation instruction is executed on a port that provides both input and output functions, the output
latch value of an input port that is not subject to manipulation may be written in addition to the targeted bit.
Therefore, it is recommended to rewrite the output latch when switching a port from input mode to output mode.
Example When P00 is an output port, P01 to P07 are input ports (all pin statuses are high level), and the port
latch value of port 0 is 00H, if the output of output port P00 is changed from low level to high level via a
1-bit manipulation instruction, the output latch value of port 0 is FFH.
Explanation: The targets of writing to and reading from the Pn register of a port whose PMmn bit is 1 are the output
latch and pin status, respectively.
A 1-bit manipulation instruction is executed in the following order in the RL78 microcontroller.
<1> The Pn register is read in 8-bit units.
<2> The targeted one bit is manipulated.
<3> The Pn register is written in 8-bit units.
In step <1>, the output latch value (0) of P00, which is an output port, is read, while the pin statuses of
P01 to P07, which are input ports, are read. If the pin statuses of P01 to P07 are high level at this time,
the read value is FEH.
The value is changed to FFH by the manipulation in <2>.
FFH is written to the output latch by the manipulation in <3>.
Figure 4-8. Bit Manipulation Instruction (P00)
1-bit manipulation
instruction (set1 P0.0)
is executed for P00
bit.
Low-level output
0
0
0
0
0
0
0
0
Port 0 output latch
P01 to P07
P00
1
1
1
1
1
1
1
1
P01 to P07
P00
1-bit manipulation instruction for P00 bit
<1> Port register 0 (P0) is read in 8-bit units.
• For P00, an output port, the value of the port output latch (0) is read.
• For P01 to P07, input ports, the pin status (1) is read.
<2> Set the P00 bit to 1.
<3> Write the results of <2> to the output latch of port register 0 (P0) in 8-bit units.
Pin status: High
High-level output
Pin status: High
Port 0 output latch