Microchip Technology AC164112 Data Sheet

Page of 302
PIC16F72X/PIC16LF72X
DS41341E-page 170
© 2009 Microchip Technology Inc.
FIGURE 17-3:
SPI MASTER MODE WAVEFORM        
EXAMPLE 17-1:
LOADING THE SSPBUF (SSPSR) REGISTER      
SCK
(CKP = 0
SCK
(CKP = 1
SCK
(CKP = 0
SCK
(CKP = 1
4 Clock
Modes
Input
Sample
Input
Sample
SDI
bit 7
bit 0
SDO
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
bit 7
bit 0
SDI
SSPIF
(SMP = 1)
(SMP = 0)
(SMP = 1)
CKE = 1)
CKE = 0)
CKE = 1)
CKE = 0)
(SMP = 0)
Write to
SSPBUF
SSPSR to
SSPBUF
SDO
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
(CKE = 0)
(CKE = 1)
BANKSEL
SSPSTAT
;
LOOP
BTFSS
SSPSTAT, BF
;Has data been received(transmit complete)? 
GOTO
LOOP
;No 
BANKSEL
SSPBUF
;
MOVF
SSPBUF, W
;WREG reg = contents of SSPBUF 
MOVWF
RXDATA
;Save in user RAM, if data is meaningful
MOVF
TXDATA, W
;W reg = contents of TXDATA 
MOVWF
SSPBUF
;New data to xmit