|
HT98R068-1 Datasheet, PDF (20/116 Pages) Holtek Semiconductor Inc – Two Way Radio 8-Bit MCU | |||
|
◁ |
HT98R068-1
Two Way Radio 8-Bit MCU
ââ Timer/Event 0/1/2 counter interrupt vector
This internal vector is used by the Timer/Event Counters. If a Timer/Event Counter overflow
occurs, the program will jump to its respective location and begin execution if the associated
Timer/Event Counter interrupt is enabled and the stack is not full.
ââ Time base interrupt vector
This internal vector is used by the internal Time Base. If a Time Base overflow occurs, the
program will jump to this location and begin execution if the Time Base counter interrupt is
enabled and the stack is not full.
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 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 âTABRDC[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â. The accompanying diagram illustrates the addressing data flow
of the look-up table.
LastP age or
T B H P R e g is te r
P ro g ra m M e m o ry
D a ta
T B L P R e g is te r
1 4 ~ 1 6 b its
R e g is te r T B L H
H ig h B y te
U s e r S e le c te d
R e g is te r
L o w B y te
Table Program Example
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 â3F00Hâ which refers to the
start address of the last page within the 16K 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 â3F06Hâ 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
âTABRDC [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 âTABRDL [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
Rev. 1.10
20
February 13, 2012
|
▷ |