HT46R068B/HT46R069B
Enhanced A/D Type 8-bit OTP MCU
Accumulator – ACC
The Accumulator is central to the operation of any microcontroller and is closely related with
operations carried out by the ALU. The Accumulator is the place where all intermediate results
from the ALU are stored. Without the Accumulator it would be necessary to write the result of
each calculation or logical operation such as addition, subtraction, shift, etc., to the Data Memory
resulting in higher programming and timing overheads. Data transfer operations usually involve
the temporary storage function of the Accumulator; for example, when transferring data between
one user defined register and another, it is necessary to do this by passing the data through the
Accumulator as no direct transfer between two registers is permitted.
Program Counter Low Register – PCL
To provide additional program control functions, the low byte of the Program Counter is made
accessible to programmers by locating it within the Special Purpose area of the Data Memory. By
manipulating this register, direct jumps to other program locations are easily implemented. Loading
a value directly into this PCL register will cause a jump to the specified Program Memory location,
however, as the register is only 8-bit wide, only jumps within the current Program Memory page
are permitted. When such operations are used, note that a dummy cycle will be inserted.
Bank Pointer – BP
In the HT46R068B and HT46R069B devices, the Data Memory is divided into several Banks,
from Bank 0 to Bank 7. A Bank Pointer is used to select the required Data Memory bank. Only
data in Bank 0 can be directly addressed as data in Bank 1~Bank 7 must be indirectly addressed
using Memory Pointer MP1 and Indirect Addressing Register IAR1. Using Memory Pointer MP0
and Indirect Addressing Register IAR0 will always access data from Bank 0, irrespective of the
value of the Bank Pointer. Memory Pointer MP1 and Indirect Addressing Register IAR1 can
indirectly address data in either Bank 0 or Bank 1~Bank 7 depending upon the value of the Bank
Pointer.
The Data Memory is initialised to Bank 0 after a reset, except for the WDT time-out reset in the Idle/
Sleep Mode, in which case, the Data Memory bank remains unaffected. It should be noted that Special
Function Data Memory is not affected by the bank selection, which means that the Special Function
Registers can be accessed from within either Bank 0 or Bank 1~Bank 7. Directly addressing the Data
Memory will always result in Bank 0 being accessed irrespective of the value of the Bank Pointer.
● HT46R068B
Bit
Name
R/W
7
6
5
PMBP0
R/W
0
4
3
2
1
DMBP1
R/W
0
0
DMBP0
R/W
0
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
POR
Bit 7~6
unimplemented, read as "0"
Bit 5
PMBP0: Program Memory Bank Pointer
0: Bank 0
1: Bank 1
Bit 4~2
Bit 1,0
unimplemented, read as "0"
DMBP1, DMBP0: Data Memory Bank Pointer
00:Bank 0
01:Bank 1
10:Bank 2
11:Bank 3
Rev. 1.00
ꢃ3
�anꢀaꢁꢂ ꢃꢄꢅ ꢃ011