HT68F14 HOLTEK [Holtek Semiconductor Inc], HT68F14 Datasheet - Page 20

no-image

HT68F14

Manufacturer Part Number
HT68F14
Description
Enhanced I/O Flash Type MCU
Manufacturer
HOLTEK [Holtek Semiconductor Inc]
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
HT68F14
Quantity:
310
Rev. 1.10
Table Program Example
Table Read Program Example
The accompanying diagram illustrates the addressing data flow of the look-up table.
The following example 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 Program Memory of the HT68F14. 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 ²TABRD [m]²
instruction is being used. The high byte of the table data which in this case is equal to 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.
tempreg1
tempreg2
mov
mov
mov
mov
tabrd tempreg1
dec tblp
tabrd tempreg2
:
:
org 700h
dc 00Ah, 00Bh, 00Ch, 00Dh, 00Eh, 00Fh, 01Ah, 01Bh
:
:
:
:
a,06h
tblp,a
a,07h
tbhp,a
:
:
db ?
db ?
; temporary register #1
; temporary register #2
; initialise low table pointer - note that this address
; is referenced
; initialise high table pointer
; transfers value in table referenced by table pointer data at
; program memory address ²706H² transferred to tempreg1 and TBLH
; reduce value of table pointer by one
; transfers value in table referenced by table pointer data at
; program memory address ²705H² transferred to tempreg2 and TBLH
; in this example the data ²1AH² is transferred to tempreg1 and
; data ²0FH² to register tempreg2
; sets initial address of program memory
20
Enhanced I/O Flash Type MCU
HT68F13/HT68F14/HT68F15
February 9, 2011

Related parts for HT68F14