Rev. 1.71
22
April 11, 2017
Rev. 1.71
23
April 11, 2017
HT66F002/HT66F0025/HT66F003/HT66F004
Cost-Effective A/D Flash MCU with EEPROM
HT66F002/HT66F0025/HT66F003/HT66F004
Cost-Effective A/D Flash MCU with EEPROM
Flash Program Memory
The Program Memory is the location where the user code or program is stored. For these devices the
Program Memory
are
Flash type, which means it can be programmed and re-programmed a large
number of times, allowing the user the convenience of code modification on the same device. By
using the appropriate programming tools, these Flash devices offer users the flexibility to conveniently
debug and develop their applications while also offering a means of field programming and updating.
Device
Capacity
HT66F002/HT66F003
1K
×
14
HT66F0025
2K
×
14
HT66F004
2K
×
15
Structure
The Program Memory has a capacity of
1K×1
4, 2
K×1
4 or 2K×15 bits. The Program Memory is
addressed by the Program Counter and also contains data, table information and interrupt entries. Table
data, which can be setup in any location within the Program Memory, is addressed by a separate table
pointer register.
000H Initialisation Vector
004H
3FFH
14 bits
Interrupt Vectors
Look-up Table
n00H
nFFH
HT66F002
Initialisation Vector
14 bits
Interrupt Vectors
Look-up Table
Initialisation Vector
15 bits
Interrupt Vectors
Look-up Table
7FFH
01CH
HT66F003
HT66F004
018H
Initialisation Vector
14 bits
Interrupt Vectors
Look-up Table
HT66F0025
7FFH
Program Memory Structure
Special Vectors
Within the Program Memory, certain locations are reserved for the reset and interrupts. The location
000H is reserved for use by these devices reset for program initialisation. After a device reset is
initiated, the program will jump to this location and begin execution.
Look-up Table
Any location within the Program Memory can be defined as a look-up table where programmers can
store fixed data. To use the look-up table, the table pointer must first be setup by placing the address
of the look up data to be retrieved in the table pointer register, TBLP. This register defines the total
address of the look-up table.
After setting up the table pointer, the table data can be retrieved from the Program Memory using
the “TABRD[m]” or “TABRDL[m]” instructions, respectively. When the instruction is executed,
the lower order table byte from the Program Memory will be transferred to the user defined
Data Memory register [m] as specified in the instruction. The higher order table data byte from
the Program Memory will be transferred to the TBLH special register. Any unused bits in this
transferred higher order byte will be read as “0”.