Intel 80C188EC User Manual page 281

Hide thumbs Also See for 80C188EC:
Table of Contents

Advertisement

TIMER/COUNTER UNIT
$mod186
name example_80186_family_timer_code
;FUNCTION:
This function sets up the timer and interrupt controller
;
to cause the timer to generate an interrupt every
;
10 milliseconds and to service interrupts to
;
implement a real time clock.
;
;
Timer 2 is used in this example because no input or
;
output signals are required.
;
;SYNTAX:
extern void far set_time(hour, minute, second, T2Compare)
;
;INPUTS:
hour - hour to set time to.
;
minute - minute to set time to.
;
second - second to set time to.
;
T2Compare - T2CMPA value (see note below)
;
;OUTPUTS:
None
;NOTE:
Parameters are passed on the stack as required by
;
high-level languages
;
;
For a CLKOUT of 16Mhz,
;
;
f(timer2)
;
;
;
;
T2CMPA(10ms)
;
;
;substitute register offsets
T2CON
equ xxxxh
T2CMPA equ xxxxh
T2CNT
equ xxxxh
TCUCON equ xxxxh
EOI
equ xxxxh
INTSTS equ xxxxh
timer_2_int equ 19
data segment public 'data'
public _hour, _minute, _second, _msec
_hour
db ?
_minute
db ?
_second
db ?
_msec
db ?
data ends
9-18
= 16Mhz/4
= 4Mhz
= 0.25us for T2CMPA = 1
= 10ms/0.25us
= 10e-3/0.25e-6
= 40000
;Timer 2 Control register
;Timer 2 Compare register
;Timer 2 Counter register
;Int. Control register
;End Of Interrupt register
;Interrupt Status register
;timer 2:vector type 19
Example 9-1. Configuring a Real-Time Clock

Advertisement

Table of Contents
loading

This manual is also suitable for:

80c186ec

Table of Contents