English
Language : 

PIC18F2331 Datasheet, PDF (228/396 Pages) Microchip Technology – 28/40/44-Pin Enhanced Flash Microcontrollers with nanoWatt Technology, High Performance PWM and A/D
PIC18F2331/2431/4331/4431
EXAMPLE 19-1: CALCULATING BAUD RATE ERROR
For a device with FOSC of 16 MHz, desired baud rate of 9600, Asynchronous mode, 8-bit BRG:
Desired Baud Rate= FOSC / (64 ([SPBRGH:SPBRG] + 1))
Solving for SPBRGH:SPBRG:
X = ((Fosc / Desired Baud Rate)/64) – 1
= ((16000000 / 9600) / 64) – 1
= [25.042] = 25
Calculated Baud Rate=16000000 / (64 (25 + 1))
= 9615
Error = (Calculated Baud Rate – Desired Baud Rate) / Desired Baud Rate
= (9615 – 9600) / 9600 = 0.16%
TABLE 19-2: REGISTERS ASSOCIATED WITH BAUD RATE GENERATOR
Name
Bit 7 Bit 6 Bit 5 Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value on Value on all
POR, BOR other Resets
TXSTA
CSRC TX9 TXEN SYNC SENDB BRGH TRMT TX9D 0000 -010
RCSTA
SPEN RX9 SREN CREN ADDEN FERR OERR RX9D 0000 -00x
BAUDCTL — RCIDL — SCKP BRG16 —
WUE ABDEN -1-1 0-00
SPBRGH Baud Rate Generator Register, High Byte
0000 0000
SPBRG Baud Rate Generator Register, Low Byte
0000 0000
Legend: x = unknown, – = unimplemented, read as ‘0’. Shaded cells are not used by the BRG.
0000 -010
0000 -00x
-1-1 0-00
0000 0000
0000 0000
TABLE 19-3: BAUD RATES FOR ASYNCHRONOUS MODES
BAUD
RATE
(K)
0.3
1.2
2.4
9.6
19.2
57.6
115.2
SYNC = 0, BRGH = 0, BRG16 = 0
FOSC = 40.000 MHz
Actual
Rate
(K)
%
Error
SPBRG
value
(decimal)
FOSC = 20.000 MHz
Actual
Rate
(K)
%
Error
SPBRG
value
(decimal)
FOSC = 10.000 MHz
Actual
Rate
(K)
%
Error
SPBRG
value
(decimal)
—
—
—
—
—
—
—
—
—
—
—
—
1.221 1.73
255 1.202 0.16
129
2.441 1.73
255 2.404 0.16
129 2.404 0.16
64
9.615 0.16
64
9.766 1.73
31
9.766 1.73
15
19.531 1.73
31 19.531 1.73
15 19.531 1.73
7
56.818 -1.36
10 62.500 8.51
4
52.083 -9.58
2
125.000 8.51
4 104.167 -9.58
2
78.125 -32.18
1
FOSC = 8.000 MHz
Actual
Rate
(K)
%
Error
SPBRG
value
(decimal)
—
—
—
1201 -0.16 103
2403 -0.16
51
9615 -0.16
12
—
—
—
—
—
—
—
—
—
BAUD
RATE
(K)
0.3
1.2
2.4
9.6
19.2
57.6
115.2
SYNC = 0, BRGH = 0, BRG16 = 0
FOSC = 4.000 MHz
FOSC = 2.000 MHz
FOSC = 1.000 MHz
Actual
Rate
(K)
%
Error
SPBRG Actual
value Rate
(decimal) (K)
%
Error
SPBRG Actual
value Rate
(decimal) (K)
%
Error
SPBRG
value
(decimal)
0.300 0.16
207
300
-0.16
103
300 -0.16
51
1.202 0.16
51
1201 -0.16
25
1201 -0.16
12
2.404 0.16
25
2403 -0.16
12
—
—
—
8.929 -6.99
6
—
—
—
—
—
—
20.833 8.51
2
—
—
—
—
—
—
62.500 8.51
0
—
—
—
—
—
—
62.500 -45.75
0
—
—
—
—
—
—
DS39616B-page 226
Preliminary
 2003 Microchip Technology Inc.