BS85B12-3 HOLTEK [Holtek Semiconductor Inc], BS85B12-3 Datasheet - Page 26

no-image

BS85B12-3

Manufacturer Part Number
BS85B12-3
Description
Touch Key Flash Type 8-Bit MCU with LCD/LED Driver
Manufacturer
HOLTEK [Holtek Semiconductor Inc]
Datasheet
Rev. 1.00
Special Vectors
Look-up Table
Table Program Example
Within the Program Memory, certain locations are reserved for the reset and interrupts. The location
000H is reserved for use by the device reset for program initialisation. After a device reset is initiated,
the program will jump to this location and begin execution.
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 and TBHP. These registers define 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
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 .
The accompanying diagram illustrates the addressing data flow of the look-up table.
The following example using the BS85B12-3 shows how the table pointer and table data is defined and
retrieved from the microcontroller. This example uses raw table data located in the Program Memory
which is stored there using the ORG statement. The value at this ORG statement is 700H which
refers to the start address of the last page within the 2K words Program Memory of the device. The
table pointer is setup here to have an initial value of 06H . This will ensure that the first data read from
the data table will be at the Program Memory address 706H or 6 locations after the start of the last
page. Note that the value for the table pointer is referenced to the first address of the present page if the
zero will be transferred to the TBLH register automatically when the TABRD [m] instruction is
executed.
Because the TBLH register is a read-only register and cannot be restored, care should be taken to
ensure its protection if both the main routine and Interrupt Service Routine use table read instructions.
If using the table read instructions, the Interrupt Service Routines may change the value of the TBLH
and subsequently cause errors if used again by the main routine. As a rule it is recommended that
simultaneous use of the table read instructions should be avoided. However, in situations where
simultaneous use cannot be avoided, the interrupts should be disabled prior to the execution of any
main routine table-read instructions. Note that all table related instructions require two instruction
cycles to complete their operation.
TABRD[m] or TABRDL[m] instructions, respectively. When the instruction is executed, the
TABRD [m] instruction is being used. The high byte of the table data which in this case is equal to
Touch Key Flash MCU with LCD/LED Driver
20
BS85B12-3/BS85C20-3
February 1, 2011

Related parts for BS85B12-3