PIC16F88

Manufacturer Part NumberPIC16F88
ManufacturerMicrochip Technology Inc.
PIC16F88 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
32
33
34
35
36
37
38
39
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
Page 141
142
Page 142
143
Page 143
144
Page 144
145
Page 145
146
Page 146
147
Page 147
148
Page 148
149
Page 149
150
Page 150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
Page 147/228:

Power-Down Mode (Sleep)

Download datasheet (5Mb)Embed
PrevNext
15.12.4.2
FSCM and the Watchdog Timer
When a clock failure is detected, SCS<1:0> will be
forced to ‘10’ which will reset the WDT (if enabled).
15.12.4.3
POR or Wake From Sleep
The FSCM is designed to detect oscillator failure at any
point after the device has exited Power-on Reset
(POR) or low-power Sleep mode. When the primary
system clock is EC, RC or INTRC modes, monitoring
can begin immediately following these events.
For Oscillator modes involving a crystal or resonator
(HS, LP or XT), the situation is somewhat different.
Since the oscillator may require a start-up time consid-
erably longer than the FSCM sample clock time, a false
clock failure may be detected. To prevent this, the
internal oscillator block is automatically configured as
the system clock and functions until the primary clock
is stable (the OST timer has timed out). This is identical
to Two-Speed Start-up mode. Once the primary clock is
stable, the INTRC returns to its role as the FSCM
source.
Note:
The same logic that prevents false oscilla-
tor failure interrupts on port or wake from
Sleep, will also prevent the detection of
the oscillator’s failure to start at all follow-
ing these events. This can be avoided by
monitoring the OSTS bit and using a
timing routine to determine if the oscillator
is taking too long to start. Even so, no
oscillator failure interrupt will be flagged.
15.12.4.4
Example Fail-Safe Conditions
1.
CONDITIONS:
The device is clocked from a crystal, crystal
operation fails and then Sleep mode is entered.
OSTS = 0
SCS = 00
OSFIF = 1
USER ACTION:
Sleep mode will exit the fail-safe condition.
Therefore, if the user code did not handle the
detected fail-safe prior to the SLEEP command,
then upon wake-up, the device will try to start
the crystal that failed and a fail-safe condition
will not be detected. Monitoring the OSTS bit will
determine if the crystal is operating. The user
should not enter Sleep mode without handling
the fail-safe condition first.
 2005 Microchip Technology Inc.
PIC16F87/88
2.
CONDITIONS:
After a POR (Power-on Reset), the device is
running in Two-Speed Start-up mode. The crys-
tal fails before the OST has expired. If a crystal
fails during the OST period, a fail-safe condition
will not be detected (OSFIF will not get set).
OSTS = 0
SCS = 00
OSFIF = 0
USER ACTION:
Check the OSTS bit. If it’s clear and the OST
should have expired at this point, then the user
can assume the crystal has failed. The user
should change the SCS bit to cause a clock
switch which will also release the 10-bit ripple
counter for WDT operation (if enabled).
3.
CONDITIONS:
The device is clocked from a crystal during
normal operation and it fails.
OSTS = 0
SCS = 00
OSFIF = 1
USER ACTION:
Clear the OSFIF bit. Configure the SCS bits for
a clock switch and the fail-safe condition will be
cleared. Later, if the user decides to, the crystal
can be retried for operation. If this is done, the
OSTS bit should be monitored to determine if
the crystal operates.
15.13 Power-Down Mode (Sleep)
Power-Down mode is entered by executing a SLEEP
instruction.
If enabled, the Watchdog Timer will be cleared but
keeps running, the PD bit (STATUS<3>) is cleared, the
TO (STATUS<4>) bit is set and the oscillator driver is
turned off. The I/O ports maintain the status they had
before the SLEEP instruction was executed (driving
high, low or high-impedance).
For lowest current consumption in this mode, place all
I/O pins at either V
or V
, ensure no external cir-
DD
SS
cuitry is drawing current from the I/O pin, power-down
the A/D and disable external clocks. Pull all I/O pins
that are high-impedance inputs, high or low externally,
to avoid switching currents caused by floating inputs.
The T0CKI input should also be at V
DD
est current consumption. The contribution from on-chip
pull-ups on PORTB should also be considered.
The MCLR pin must be at a logic high level (V
DS30487C-page 145
or V
for low-
SS
).
IHMC