LCD Type MCU
ext1_int:
mov bp_ext1,a
mov a,status
mov statusbuf1,a
:
:
mov a,statusbuf1
mov status,a
mov a,bp_ext1
mov bp,a
mov a,accbuf1
reti
:
:
; external 1 interrupt subroutine
; backup Bank Pointer
; backup status register
; restore status register
; restore Bank Pointer
; restore accumulator
; return to main program and original
; calling bank
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
lower-order address of the look-up data to be retrieved in the Table Pointer Register TBLP. This
register defines the lower 8-bit address of the look-up table. After setting up the table pointer, the
table data can be retrieved from the current Program Memory page or last Program Memory page
using the
²TABRDC
[m]² or
²TABRDL
[m]² instructions respectively. When these instructions are
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².
With the exception of the HT49RU80/HT49CU80, the following diagram illustrates the address-
ing/data flow of the look-up table:
P ro g ra m C o u n te r
H ig h B y te
T B L P
P ro g ra m
M e m o ry
T B L H
H ig h b y te o f ta b le c o n te n ts
S p e c ifie d b y [m ]
L o w b y te o f ta b le c o n te n ts
Table Program Example
The following example shows how the table pointer and table data is defined and retrieved from
the HT49R30A-1/HT49C30-1/HT49C30L LCD Type microcontroller. This example uses raw table
data located in the last page 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 HT49R30A-1/HT49C30-1/HT49C30L microcontroller. 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
²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.
30
Home Index Bookmark Pages Text
Previous Next
Pages: Home Index