HT46R064D/065D/066D
Enhanced A/D Type 8-Bit OTP MCU with LED Driver
Timer Program Example
The program shows how the Timer/Event Counter registers are setup along with how the interrupts are
enabled and managed. Note how the Timer/Event Counter is turned on, by setting bit 4 of the Timer
Control Register. The Timer/Event Counter can be turned off in a similar way by clearing the same bit.
This example program sets the Timer/Event Counters to be in the timer mode, which uses the internal
system clock as their clock source.
PFD Programming Example
org
04h
; external interrupt vector
org
jmp
:
08h
tmr0int
:
; Timer Counter 0 interrupt vector
; jump here when Timer 0 overflows
org
:
20h
:
; main program
;internal Timer 0 interrupt routine
tmr0int:
:
; Timer 0 main program placed here
:
:
begin:
;setup Timer 0 registers
mov
mov
mov
mov
a,09bh
tmr0,a
a,081h
tmr0c,a
; setup Timer 0 preload value
; setup Timer 0 control register
; timer mode and prescaler set to /2
;setup interrupt register
mov
mov
:
a,00dh
intc0,a
:
; enable master interrupt and both timer interrupts
; start Timer 0
set tmr0c.4
:
:
Time Base
The device includes a Time Base function which is used to generate a regular time interval signal.
The Time Base time interval magnitude is determined using an internal 13 stage counter sets the
division ratio of the clock source. This division ratio is controlled by both the TBSEL0 and TBSEL1
bits in the CTRL1 register. The clock source is selected using the T0S bit in the TMR0C register.
When the Time Base time out, a Time Base interrupt signal will be generated. It should be noted that as
the Time Base clock source is the same as the Timer/Event Counter clock source, care should be taken
when programming.
Rev. 1.00
52
January 12, 2011