HT46R22/HT46C22
Rev. 1.10
11
October 2, 2002
It is recommended that a program does not use the
CALL subroutine within the interrupt subroutine. In-
terrupts often occur in an unpredictable manner or
need to be serviced immediately in some applications.
If only one stack is left and enabling the interrupt is not
well controlled, the original control sequence will be dam-
aged once the CALL operates in the interrupt subrou-
tine.
Oscillator configuration
There are two oscillator circuits in the microcontroller.
Both are designed for system clocks, namely the RC os-
cillator and the Crystal oscillator, which are determined
by the options. No matter what oscillator type is se-
lected, the signal provides the system clock. The HALT
mode stops the system oscillator and ignores an exter-
nal signal to conserve power.
If an RC oscillator is used, an external resistor between
OSC1 and VSS is required and the resistance must
range from 30k
to 750k . The system clock, divided
by 4, is available on OSC2, which can be used to syn-
chronize external logic. The RC oscillator provides the
most cost effective solution. However, the frequency of
oscillation may vary with VDD, temperatures and the
chip itself due to process variations. It is, therefore, not
suitable for timing sensitive operations where an accu-
rate oscillator frequency is desired.
If the Crystal oscillator is used, a crystal across OSC1
and OSC2 is needed to provide the feedback and phase
shift required for the oscillator, and no other external
components are required. Instead of a crystal, a resona-
tor can also be connected between OSC1 and OSC2 to
get a frequency reference, but two external capacitors in
OSC1 and OSC2 are required (If the oscillating fre-
quency is less than 1MHz).
The WDT oscillator is a free running on-chip RC oscillator,
and no external components are required. Even if the sys-
tem enters the power down mode, the system clock is
stopped, but the WDT oscillator still works with a period of
approximately 65 s/5V. The WDT oscillator can be dis-
abled by options to conserve power.
Watchdog Timer
WDT
TheclocksourceoftheWDTisimplementedbyandedi-
cated RC oscillator (WDT oscillator) or instruction clock
(system clock divided by 4) decided by options. This
timer is designed to prevent a software malfunction or
sequence jumping to an unknown location with unpre-
dictable results. The watchdog Timer can be disabled by
an option. If the watchdog Timer is disabled, all the exe-
cutions related to the WDT result in no operation.
Once an internal WDT oscillator (RC oscillator with pe-
riod 65 s normally) is selected, it is divided by 2
12
~2
15
(by option to get the WDT time-out period). The mini-
mum period of WDT time-out period is about
300ms~600ms. This time-out period may vary with tem-
perature, VDD and process variations. By selection the
WDT options, longer time-out periods can be realized. If
theWDTtime-outisselected2
15
,themaximumtime-out
period is divided by 2
15
~2
16
about 2.3s~4.7s.
If the WDT oscillator is disabled, the WDT clock may still
come from the instruction clock and operate in the same
manner except that in the halt state the WDT may stop
counting and lose its protecting purpose. In this situation
the logic can only be restarted by external logic. If the
device operates in a noisy environment, using the
on-chip RC oscillator (WDT OSC) is strongly recom-
mended, since the HALT will stop the system clock.
The WDT overflow under normal operation will initialize
chip reset and set the status bit TO. Whereas in the
HALT mode, the overflow will initialize a warm reset only
the PC and SP are reset to 0. To clear the contents of
WDT, three methods are adopted; external reset (a low
level to RES), software instructions, or a HALT instruction.
The software instructions include CLR WDT and the other
set
instruction, only one can be active depending on the op-
CLR WDT1 and CLR WDT2. Of these two types of
System oscillator
!
" #
!
"
$
"
$
"
"
% &
'
'
'
'
(
)
!
"
(
*
*
Watchdog Timer