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
Page 101
102
Page 102
103
Page 103
104
Page 104
105
Page 105
106
Page 106
107
Page 107
108
Page 108
109
Page 109
110
Page 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 105/228

Download datasheet (5Mb)Embed
PrevNext
When setting up an asynchronous transmission, follow
these steps:
1.
Initialize the SPBRG register for the appropriate
baud rate. If a high-speed baud rate is desired,
set bit BRGH (Section 11.1 “AUSART Baud
Rate Generator (BRG)”).
2.
Enable the asynchronous serial port by clearing
bit SYNC and setting bit SPEN.
3.
If interrupts are desired, then set enable bit
TXIE.
FIGURE 11-2:
ASYNCHRONOUS MASTER TRANSMISSION
Write to TXREG
Word 1
BRG Output
(Shift Clock)
RB5/SS/TX/CK pin
Start Bit
TXIF bit
(Transmit Buffer
Reg. Empty Flag)
Word 1
TRMT bit
Transmit Shift Reg
(Transmit Shift
Reg. Empty Flag)
FIGURE 11-3:
ASYNCHRONOUS MASTER TRANSMISSION (BACK TO BACK)
Write to TXREG
Word 2
Word 1
BRG Output
(Shift Clock)
RB5/SS/TX/CK pin
Start Bit
TXIF bit
(Interrupt Reg. Flag)
TRMT bit
Word 1
(Transmit Shift
Transmit Shift Reg.
Reg. Empty Flag)
Note:
This timing diagram shows two consecutive transmissions.
TABLE 11-7:
REGISTERS ASSOCIATED WITH ASYNCHRONOUS TRANSMISSION
Address
Name
Bit 7
Bit 6
0Bh, 8Bh,
INTCON
GIE
PEIE
10Bh,18Bh
(1)
0Ch
PIR1
ADIF
18h
RCSTA
SPEN
RX9
19h
TXREG AUSART Transmit Data Register
(1)
8Ch
PIE1
ADIE
98h
TXSTA
CSRC
TX9
99h
SPBRG Baud Rate Generator Register
Legend:
x = unknown, - = unimplemented locations read as ‘0’. Shaded cells are not used for asynchronous transmission.
Note 1:
This bit is only implemented on the PIC16F88. The bit will read ‘0’ on the PIC16F87.
 2005 Microchip Technology Inc.
4.
If 9-bit transmission is desired, then set transmit
bit TX9.
5.
Enable the transmission by setting bit TXEN
which will also set bit TXIF.
6.
If 9-bit transmission is selected, the ninth bit
should be loaded in bit TX9D.
7.
Load data to the TXREG register (starts
transmission).
8.
If using interrupts, ensure that GIE and PEIE
(bits 7 and 6) of the INTCON register are set.
Bit 0
Bit 1
Word 1
Bit 0
Bit 1
Word 1
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
TMR0IE INT0IE
RBIE
TMR0IF
INT0IF
RCIF
TXIF
SSPIF
CCP1IF
TMR2IF
SREN
CREN ADDEN
FERR
OERR
RCIE
TXIE
SSPIE
CCP1IE TMR2IE
TXEN
SYNC
BRGH
TRMT
PIC16F87/88
Bit 7/8
Stop Bit
Start Bit
Bit 7/8
Bit 0
Stop Bit
Word 2
Word 2
Transmit Shift Reg.
Value on
Value on:
Bit 0
all other
POR, BOR
Resets
RBIF
0000 000x
0000 000u
TMR1IF
-000 0000
-000 0000
RX9D
0000 000x
0000 000x
0000 0000
0000 0000
TMR1IE
-000 0000
-000 0000
TX9D
0000 -010
0000 -010
0000 0000
0000 0000
DS30487C-page 103