
Rev. 1.40
28
March 29, 2019
Rev. 1.40
29
March 29, 2019
HT45F23A/HT45F24A
TinyPower
TM
Flash MCU with OPA & Comparators
HT45F23A/HT45F24A
TinyPower
TM
Flash MCU with OPA & Comparators
Bank Pointer – BP
The Data Memory is divided into two Banks, known as Bank 0 and Bank 1. A Bank Pointer, which
is bit 0 of the Bank Pointer register is used to select the required Data Memory bank. Only data in
Bank 0 can be directly addressed as data in Bank 1 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 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. Directly addressing the
Data Memory will always result in Bank 0 being accessed irrespective of the value of the Bank
Pointer.
BP Register
Bit
7
6
5
4
3
2
1
0
Name
—
—
—
—
—
—
—
DMBP0
R/W
—
—
—
—
—
—
—
R/W
POR
—
—
—
—
—
—
—
0
Bit 7 ~ 1
Unimplemented, read as “0”
Bit 0
DMBP0
: Select Data Memory Banks
0: Bank 0
1: Bank 1
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.