Datasheets»Microchip Technology»PIC16F87XATI/SP Datasheet

PIC16F87XATI/SP Datasheet - Page 118

Download or read online Microchip Technology PIC16F87XATI/SP 28/40/44-Pin Enhanced Flash Microcontrollers pdf datasheet.



Page
118 of 234
prevnext
PIC16F87XA
FIGURE 10-5:
ASYNCHRONOUS RECEPTION
Start
RX (pin)
bit
bit 0
bit 1
Rcv Shift
Reg
Rcv Buffer Reg
Read Rcv
Buffer Reg
RCREG
RCIF
(Interrupt Flag)
OERR bit
CREN
Note:
This timing diagram shows three words appearing on the RX input. The RCREG (Receive Buffer) is read after the third word,
causing the OERR (Overrun Error) bit to be set.
When setting up an Asynchronous Reception, 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 10.1 “USART 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
RCIE.
4.
If 9-bit reception is desired, then set bit RX9.
5.
Enable the reception by setting bit CREN.
TABLE 10-6:
REGISTERS ASSOCIATED WITH ASYNCHRONOUS RECEPTION
Address
Name
Bit 7
Bit 6
0Bh, 8Bh,
INTCON
GIE
PEIE
10Bh,18Bh
(1)
0Ch
PIR1
PSPIF
ADIF
18h
RCSTA
SPEN
RX9
1Ah
RCREG USART Receive Register
(1)
8Ch
PIE1
PSPIE
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 reception.
Note 1:
Bits PSPIE and PSPIF are reserved on 28-pin devices; always maintain these bits clear.
DS39582C-page 118
Start
bit 7/8
Stop
bit
bit 0
bit 7/8
bit
Word 2
Word 1
RCREG
RCREG
6.
Flag bit RCIF will be set when reception is com-
plete and an interrupt will be generated if enable
bit RCIE is set.
7.
Read the RCSTA register to get the ninth bit (if
enabled) and determine if any error occurred
during reception.
8.
Read the 8-bit received data by reading the
RCREG register.
9.
If any error occurred, clear the error by clearing
enable bit CREN.
10. If using interrupts, ensure that GIE and PEIE
(bits 7 and 6) of the INTCON register are set.
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
TMR0IE
INTE
RBIE
TMR0IF
INTF
RCIF
TXIF
SSPIF CCP1IF TMR2IF TMR1IF
SREN
CREN
FERR
OERR
RCIE
TXIE
SSPIE CCP1IE TMR2IE TMR1IE
TXEN
SYNC
BRGH
TRMT
Start
bit
Stop
Stop
bit 7/8
bit
bit
Value on
Value on:
Bit 0
all other
POR, BOR
Resets
R0IF
0000 000x
0000 000u
0000 0000
0000 0000
RX9D
0000 -00x
0000 -00x
0000 0000
0000 0000
0000 0000
0000 0000
TX9D
0000 -010
0000 -010
0000 0000
0000 0000
 2001-2013 Microchip Technology Inc.

Comments to this Datasheet