English
Language : 

HT86B03_10 Datasheet, PDF (31/83 Pages) Holtek Semiconductor Inc – Enhanced Voice 8-Bit MCU
HT86BXX/HT86BRXX
²SET [m].i² and ²CLR [m].i² instructions individual bits
can be set or reset under program control giving the
user a large range of flexibility for bit manipulation in the
Data Memory.
Special Purpose Data Memory
This area of Data Memory, is located in Bank 0, where
registers, necessary for the correct operation of the
microcontroller, are stored. Most of the registers are
both readable and writable but some are protected and
are readable only, the details of which are located under
the relevant Special Function Register section. Note
that for locations that are unused, any read instruction to
these addresses will return the value ²00H². Although
the Special Purpose Data Memory registers are located
in Bank 0, they will still be accessible even if the Bank
Pointer has selected Bank 1.
Special Function Registers
To ensure successful operation of the microcontroller,
certain internal registers are implemented in the RAM
Data Memory area. These registers ensure correct op-
eration of internal functions such as timers, interrupts,
watchdog, etc., as well as external functions such as I/O
data control. The location of these registers within the
RAM Data Memory begins at the address ²00H². Any
unused Data Memory locations between these special
function registers and the point where the General Pur-
pose Memory begins is reserved for future expansion
purposes, attempting to read data from these locations
will return a value of ²00H².
Indirect Addressing Register - IAR0, IAR1
The Indirect Addressing Registers, IAR0 and IAR1, al-
though having their locations in normal RAM register
space, do not actually physically exist as normal regis-
ters. The method of indirect addressing for RAM data
manipulation uses these Indirect Addressing Registers
and Memory Pointers, in contrast to direct memory ad-
dressing, where the actual memory address is speci-
fied. Actions on the IAR0 and IAR1 registers will result in
no actual read or write operation to these registers but
rather to the memory location specified by their corre-
sponding Memory Pointer, MP0 or MP1. Acting as a
pair, IAR0 and MP0 can together only access data from
Bank 0, while the IAR1 and MP1 register pair can ac-
cess data from both Bank 0 and Bank 1. As the Indirect
Addressing Registers are not physically implemented,
reading the Indirect Addressing Registers indirectly will
return a result of ²00H² and writing to the registers indi-
rectly will result in no operation.
H T86B 03
00H
IA R 0
01H
M P0
02H
IA R 1
03H
M P1
04H
05H
ACC
06H
PCL
07H
TB LP
08H
TB LH
09H W D TS
0A H S TA TU S
0B H
IN T C
0C H
0D H TM R 0
0E H TM R 0C
0FH
10H TM R 1
11H TM R 1C
12H
PA
13H
PAC
14H
PB
15H
PBC
16H
17H
18H LA TC H 0H
19H LA TC H 0M
1A H LA TC H 0L
1B H LA TC H 1H
1C H LA TC H 1M
1D H LA TC H 1L
1 E H IN T C H
1FH TB H P
20H
21H
22H
23H
24H TM R 3
25H TM R 3C
2 6 H V O IC E C
27H
DAL
28H
DAH
29H
VO L
2A H LA TC H D
H T86B 10
H T86B R 10
H T86B 20
H T86B 30
H T86B R 30
00H
IA R 0
01H
M P0
02H
IA R 1
03H
M P1
04H
05H
ACC
06H
PCL
07H
TB LP
08H TB LH
09H W D TS
0A H S TA TU S
0B H
IN T C
0C H
0D H TM R 0
0E H TM R 0C
0FH
10H TM R 1
11H TM R 1C
12H
PA
13H
PAC
14H
PB
15H
PBC
16H
17H
18H LA TC H 0H
19H LA TC H 0M
1A H LA TC H 0L
1B H LA TC H 1H
1C H LA TC H 1M
1D H LA TC H 1L
1 E H IN T C H
1FH TB H P
20H
21H
22H
23H
24H TM R 3
25H TM R 3C
2 6 H V O IC E C
27H
DAL
28H
DAH
29H
VO L
2A H LA TC H D
2B H P W M C
2C H P W M L
2D H P W M H
H T86B 40
H T86B 50
H T86B 60
H T86B R 60
H T86B 70
H T86B 80
H T86B 90
00H
IA R 0
01H
M P0
02H
IA R 1
03H
M P1
04H
BP
05H
ACC
06H
PCL
07H
TB LP
08H TB LH
09H W D TS
0A H S TA TU S
0B H
IN T C
0C H
0D H TM R 0
0E H TM R 0C
0FH
10H TM R 1
11H TM R 1C
12H
PA
13H
PAC
14H
PB
15H
PBC
16H
17H
18H LA TC H 0H
19H LA TC H 0M
1A H LA TC H 0L
1B H LA TC H 1H
1C H LA TC H 1M
1D H LA TC H 1L
1 E H IN T C H
1FH TB H P
20H TM R 2H
21H TM R 2L
22H TM R 2C
23H
24H TM R 3
25H TM R 3C
2 6 H V O IC E C
27H
DAL
28H
DAH
29H
VO L
2A H LA TC H D
2B H P W M C
2C H P W M L
2D H P W M H
H T86B 40
H T86B 50
H T86B 60
H T86B R 60
H T86B 70
H T86B 80
H T86B 90
2E H
PD
2FH
PDC
30H
31H
32H
33H
34H
35H A S C R
36H R C O C C R
37H TM R 4H
38H TM R 4L
39H R C O C R
:U nknow n
Special Purpose Data Memory Structure
Memory Pointer - MP0, MP1
For all devices, two Memory Pointers, known as MP0
and MP1 are provided. These Memory Pointers are
physically implemented in the Data Memory and can be
manipulated in the same way as normal registers pro-
viding a convenient way with which to address and track
data. When any operation to the relevant Indirect Ad-
dressing Registers is carried out, the actual address that
the microcontroller is directed to, is the address speci-
fied by the related Memory Pointer. MP0, together with
Indirect Addressing Register, IAR0, are used to access
data from Bank 0 only, while MP1 and IAR1 are used to
access data from both Bank 0 and Bank 1.
The following example shows how to clear a section of
four RAM locations already defined as locations adres1
to adres4.
Rev. 1.80
31
March 12, 2010