Qdatasheet_Logo
Integrated circuits, Transistor, Semiconductors Search and Datasheet PDF Download Site

HT48R065G View Datasheet(PDF) - Holtek Semiconductor

Part Name
Description
MFG CO.
HT48R065G
Holtek
Holtek Semiconductor Holtek
'HT48R065G' PDF : 126 Pages View PDF
HT48R064G/065G/066G/0662G
Enhanced I/O Type 8-Bit OTP MCU with OPA
Special Function Registers
To ensure successful operation of the microcontroller, certain internal registers are implemented in the
Data Memory area. These registers ensure correct operation of internal functions such as timers,
interrupts, etc., as well as external functions such as I/O data control. The location of these registers
within the Data Memory begins at the address ²00H² and are mapped into both Bank 0 and Bank 1.
Any unused Data Memory locations between these special function registers and the point where the
General Purpose Memory begins is reserved and attempting to read data from these locations will
return a value of ²00H².
Indirect Addressing Registers - IAR0, IAR1
The Indirect Addressing Registers, IAR0 and IAR1, although having their locations in normal RAM
register space, do not actually physically exist as normal registers. The method of indirect addressing
for RAM data manipulation uses these Indirect Addressing Registers and Memory Pointers, in
contrast to direct memory addressing, where the actual memory address is specified. 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 corresponding Memory Pointer, MP0 or MP1. Acting as a pair,
IAR0 with MP0 and IAR1 with MP1 can together access data from the Data Memory. 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 indirectly will result in no operation.
Memory Pointers - MP0, MP1
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
providing a convenient way with which to indirectly address and track data. MP0 can only be used to
indirectly address data in Bank 0 while MP1 can be used to address data in Bank 0 and Bank1. When
any operation to the relevant Indirect Addressing Registers is carried out, the actual address that the
microcontroller is directed to, is the address specified by the related Memory Pointer. Note that for the
HT48R064G device, bit 7 of the Memory Pointers is not required to address the full memory space.
When bit 7 of the Memory Pointers for these devices is read, a value of ²1² will be returned. Note that
indirect addressing using MP1 and IAR1 must be used to access any data in Bank 1. The following
example shows how to clear a section of four Data Memory locations already defined as locations adres1
to adres4.
· Indirect Addressing Program Example
data .section ¢data¢
adres1 db ?
adres2 db ?
adres3 db ?
adres4 db ?
block db ?
code .section at 0 code
org 00h
start:
mov a,04h
mov block,a
mov a,offset adres1
mov mp0,a
; setup size of block
; Accumulator loaded with first RAM address
; setup memory pointer with first RAM address
loop:
clr IAR0
inc mp0
sdz block
jmp loop
; clear the data at address defined by MP0
; increment memory pointer
; check if last memory location has been cleared
continue:
The important point to note here is that in the example shown above, no reference is made to specific
Data Memory addresses.
Rev. 1.10
31
October 23, 2012
Share Link: GO URL

All Rights Reserved © qdatasheet.com  [ Privacy Policy ] [ Contact Us ]