AT90S8515

Manufacturer Part NumberAT90S8515
Description8-bit microcontroller with 8K bytes in-system programmable flash, 2.7-6.0V
ManufacturerATMEL Corporation
AT90S8515 datasheet
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Page 31
32
Page 32
33
Page 33
34
Page 34
35
Page 35
36
Page 36
37
Page 37
38
Page 38
39
Page 39
40
Page 40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
Page 39/112:

Timer/Counter1 Output Compare Register OCR1BH

Download datasheet (3Mb)Embed
PrevNext
Timer/Counter1 Output
Compare Register – OCR1BH
AND OCR1BL
Timer/Counter1 Input Capture
Register – ICR1H AND ICR1L
0841G–09/01
Bit
15
14
13
$29 ($49)
MSB
$28 ($48)
7
6
5
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
Initial Value
0
0
0
0
0
0
The output compare registers are 16-bit read/write registers.
The Timer/Counter1 Output Compare registers contain the data to be continuously com-
pared with Timer/Counter1. Actions on compare matches are specified in the
Timer/Counter1 Control and Status registers. A compare match only occurs if
Timer/Counter1 counts to the OCR value. A software write that sets TCNT1 and OCR1A
or OCR1B to the same value does not generate a compare match.
A compare match will set the compare interrupt flag in the CPU clock cycle following the
compare event.
Since the Output Compare Registers (OCR1A and OCR1B) are 16-bit registers, a tem-
porary register (TEMP) is used when OCR1A/B are written to ensure that both bytes are
updated simultaneously. When the CPU writes the high byte, OCR1AH or OCR1BH, the
data is temporarily stored in the TEMP register. When the CPU writes the low byte,
OCR1AL or OCR1BL, the TEMP register is simultaneously written to OCR1AH or
OCR1BH. Consequently, the high byte OCR1AH or OCR1BH must be written first for a
full 16-bit register write operation.
The TEMP register is also used when accessing TCNT1 and ICR1. If the main program
and interrupt routines perform access to registers using TEMP, interrupts must be dis-
abled during access from the main program (and from interrupt routines if interrupts are
allowed from within interrupt routines).
Bit
15
14
13
$25 ($45)
MSB
$24 ($44)
7
6
5
Read/Write
R
R
R
R
R
R
Initial Value
0
0
0
0
0
0
The input capture register is a 16-bit read-only register.
When the rising or falling edge (according to the input capture edge setting [ICES1]) of
the signal at the input capture pin (ICP) is detected, the current value of the
Timer/Counter1 is transferred to the Input Capture Register (ICR1). At the same time,
the input capture flag (ICF1) is set (one).
Since the Input Capture Register (ICR1) is a 16-bit register, a temporary register
(TEMP) is used when ICR1 is read to ensure that both bytes are read simultaneously.
When the CPU reads the low byte ICR1L, the data is sent to the CPU and the data of
the high byte ICR1H is placed in the TEMP register. When the CPU reads the data in
the high byte ICR1H, the CPU receives the data in the TEMP register. Consequently,
the low byte ICR1L must be accessed first for a full 16-bit register read operation.
AT90S8515
12
11
10
9
LSB
4
3
2
1
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
12
11
10
9
LSB
4
3
2
1
R
R
R
R
R
R
R
R
R
R
0
0
0
0
0
0
0
0
8
OCR1BH
OCR1BL
0
0
0
8
ICR1H
ICR1L
0
0
0
39