ht82a836r Holtek Semiconductor Inc., ht82a836r Datasheet - Page 8

no-image

ht82a836r

Manufacturer Part Number
ht82a836r
Description
Usb Audio Mcu
Manufacturer
Holtek Semiconductor Inc.
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
HT82A836R
Manufacturer:
HOLTEK/合泰
Quantity:
20 000
However, it must be noted that only the lower 8 bits,
known as the Program Counter Low Register, are di-
rectly addressable by user.
When executing instructions requiring jumps to
non-consecutive addresses such as a jump instruction,
a subroutine call, interrupt or reset, etc., the
microcontroller manages program control by loading the
required address into the Program Counter. For condi-
tional skip instructions, once the condition has been
met, the next instruction, which has already been
fetched during the present instruction execution, is dis-
carded and a dummy cycle takes its place while the cor-
rect instruction is obtained.
The lower byte of the Program Counter, known as the
Program Counter Low register or PCL, is available for
program control and is a readable and writable register.
By transferring data directly into this register, a short
program jump can be executed directly, however, as
only this low byte is available for manipulation, the
jumps are limited to the present page of memory, that is
256 locations. When such program jumps are executed
it should also be noted that a dummy cycle will be in-
serted.
The lower byte of the Program Counter is fully accessi-
ble under program control. Manipulating the PCL might
cause program branching, so an extra cycle is needed
to pre-fetch. Further information on the PCL register can
be found in the Special Function Register section.
Note:
Rev. 1.00
Initial Reset
USB Interrupt
Timer/Event Counter 0
Overflow
Timer/Event Counter 1
Overflow
Play Interrupt
Multi Function Interrupt
Record Interrupt
Skip
Loading PCL
Jump, Call Branch
Return from Subroutine
PC12~PC8: Current Program Counter bits
@7~@0: PCL bits
#12~#0: Instruction code address bits
S12~S0: Stack register bits
Mode
PC12 PC11 PC10 PC9 PC8
S12
b12
#12
0
0
0
0
0
0
0
b11
S11
#11
0
0
0
0
0
0
0
S10
b10
#10
0
0
0
0
0
0
0
Program Counter
b9
#9
S9
0
0
0
0
0
0
0
b8
S8
#8
8
0
0
0
0
0
0
0
Program Counter Bits
Stack
This is a special part of the memory which is used to
save the contents of the Program Counter only. The
stack has 16 levels and is neither part of the data nor
part of the program space, and can neither be read from
nor written to. The activated level is indexed by the
Stack Pointer, SP, which can also neither be read from
nor written to. At a subroutine call or interrupt acknowl-
edge signal, the contents of the Program Counter are
pushed onto the stack. At the end of a subroutine or an
interrupt routine, signaled by a return instruction, RET or
RETI, the Program Counter is restored to its previous
value from the stack. After a device reset, the Stack
Pointer will point to the top of the stack.
If the stack is full and an enabled interrupt takes place,
the interrupt request flag will be recorded but the ac-
knowledge signal will be inhibited. When the Stack
Pointer is decremented, by RET or RETI, the interrupt
will be serviced. This feature prevents stack overflow al-
lowing the programmer to use the structure more easily.
However, when the stack is full, a CALL subroutine in-
struction can still be executed which will result in a stack
overflow. Precautions should be taken to avoid such
cases, which might cause unpredictable program
branching.
Program Counter + 2
@7
S7
b7
#7
0
0
0
0
0
0
0
@6
b6
S6
#6
0
0
0
0
0
0
0
@5
S5
b5
#5
0
0
0
0
0
0
0
@4
b4
#4
S4
0
0
0
0
1
1
1
@3
b3
S3
#3
0
0
1
1
0
0
1
@2
HT82A836R
S2
b2
#2
0
1
0
1
0
1
0
March 20, 2008
@1
b1
S1
#1
0
0
0
0
0
0
0
@0
S0
b0
#0
0
0
0
0
0
0
0

Related parts for ht82a836r