
Rev. 1.10
22
March 02, 2020
Rev. 1.10
23
March 02, 2020
BS83A02L/BS83B04L
Ultra-Low Power Touch Key Flash MCU
BS83A02L/BS83B04L
Ultra-Low Power Touch Key Flash MCU
there using the ORG statement. The value at this ORG statement is “300H” which refers to the start
address of the last page within the 1K Program Memory of the BS83A02L 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 “306H” 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. 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.
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.
Table Read Program Example
tempreg1 db ? ; temporary register #1
tempreg2 db ? ; temporary register #2
:
:
mov a,06h ; initialise low table pointer - note that this address is referenced
mov tblp,a ; to the last page or present page
:
:
tabrdl tempreg1 ; transfers value in table referenced by table pointer,
;
data
at
program
memory
address
“306H”
transferred
to
tempreg1
dec tblp ; reduce value of table pointer by one
tabrdl tempreg2 ; transfers value in table referenced by table pointer,
;
data
at
program
memory
address
“305H”
transferred
to
tempreg2
; in this example the data “1AH” is transferred to tempreg1 and
;
data
“0FH”
to
register
tempreg2
:
:
org
300h
;
sets
initial
address
of
program
memory
dc 00Ah, 00Bh, 00Ch, 00Dh, 00Eh, 00Fh, 01Ah, 01Bh
In Circuit Programming – ICP
The provision of Flash type Program Memory provides the user with a means of convenient and
easy upgrades and modifications to their programs on the same device.
As an additional convenience, Holtek has provided a means of programming the microcontroller in-
circuit using a 4-pin interface. This provides manufacturers with the possibility of manufacturing
their circuit boards complete with a programmed or un-programmed microcontroller, and then
programming or upgrading the program at a later stage. This enables product manufacturers to easily
keep their manufactured products supplied with the latest program releases without removal and re-
insertion of the devices.