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
Page 91
92
Page 92
93
Page 93
94
Page 94
95
Page 95
96
Page 96
97
Page 97
98
Page 98
99
Page 99
100
Page 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
142
143
144
145
146
147
148
149
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 92/228

Download datasheet (5Mb)Embed
PrevNext
PIC16F87/88
FIGURE 10-1:
SSP BLOCK DIAGRAM
(SPI™ MODE)
Read
SSPBUF reg
RB1/SDI/SDA
SSPSR reg
bit0
RB2/SDO/RX/DT
RB5/SS/
TX/CK
SS Control
Enable
Edge
Select
2
Clock Select
SSPM3:SSPM0
4
Edge
Select
RB4/SCK/
SCL
TRISB<4>
TABLE 10-1:
REGISTERS ASSOCIATED WITH SPI™ OPERATION
Address
Name
Bit 7
Bit 6
0Bh,8Bh
INTCON
GIE
PEIE
10Bh,18Bh
(1)
0Ch
PIR1
ADIF
(1)
8Ch
PIE1
ADIE
86h
TRISB
PORTB Data Direction Register
13h
SSPBUF
Synchronous Serial Port Receive Buffer/Transmit Register
14h
SSPCON
WCOL SSPOV SSPEN
94h
SSPSTAT
SMP
CKE
Legend:
x = unknown, u = unchanged, - = unimplemented, read as ‘0’. Shaded cells are not used by the SSP in SPI™ mode.
Note 1:
This bit is only implemented on the PIC16F88. The bit will read ‘0’ on the PIC16F87.
DS30487C-page 90
To enable the serial port, SSP Enable bit, SSPEN
(SSPCON<5>), must be set. To reset or reconfigure
SPI mode, clear bit SSPEN, reinitialize the SSPCON
Internal
register and then set bit SSPEN. This configures the
Data Bus
SDI, SDO, SCK and SS pins as serial port pins. For the
Write
pins to behave as the serial port function, they must
have their data direction bits (in the TRISB register)
appropriately programmed. That is:
• SDI must have TRISB<1> set
• SDO must have TRISB<2> cleared
• SCK (Master mode) must have TRISB<4>
cleared
Shift
Clock
• SCK (Slave mode) must have TRISB<4> set
• SS must have TRISB<5> set
Note 1: When the SPI is in Slave mode with SS pin
control enabled (SSPCON<3:0> = 0100),
the SPI module will reset if the SS pin is
set to V
2: If the SPI is used in Slave mode with
CKE = 1, then the SS pin control must be
enabled.
TMR2 Output
2
T
Prescaler
CY
4, 16, 64
Bit 5
Bit 4
Bit 3
Bit 2
TMR0IE INT0IE
RBIE
TMR0IF
INT0IF
RCIF
TXIF
SSPIF
CCP1IF TMR2IF TMR1IF -000 0000 -000 0000
RCIE
TXIE
SSPIE
CCP1IE TMR2IE TMR1IE -000 0000 -000 0000
CKP
SSPM3 SSPM2
SSPM1
D/A
P
S
R/W
.
DD
Value on
Value on
Bit 1
Bit 0
all other
POR, BOR
Resets
RBIF
0000 000x 0000 000u
1111 1111 1111 1111
xxxx xxxx uuuu uuuu
SSPM0 0000 0000 0000 0000
UA
BF
0000 0000 0000 0000
 2005 Microchip Technology Inc.