;*****************MASTER SPI*****************
;*************************************
; DECLARE MASTER SPI :
LDI R16,(1<<DDB2)|(1<<DDB3)|(1<<DDB5)
OUT DDRB,R16
LDI R17,(1<<SPIE)|(1<<SPE)|(1<<MSTR)
OUT SPCR,R17
;*************************************
MAIN:
IN R19,PINC
SBI PORTB,2
RCALL SEND
RJMP MAIN
SEND:
CBI PORTB,2
OUT SPDR,R19
Wait:
sbis SPSR,SPIF
rjmp Wait
SBI PORTB,2
RET
;***************** SlAVE SPI*****************
;*************************************
;DECLARE SLAVE SPI:
LDI R16,(1<<DDB4)
OUT DDRB,R16
ldi R17,(1<<SPE)
out SPCR,R17
;*************************************
MAIN:
RCALL RECEIVE
OUT PORTC,R16
RJMP MAIN
RECEIVE:
sbic PORTB,2
RJMP RECEIVE
sbis SPSR,SPIF
rjmp RECEIVE
IN R16,SPDR
RET