EM78P350N
8-Bit Microprocessor with OTP ROM
6.5.6 SPI Software Application
;for master
SPIRB == 0X0A
SPIWB == 0X0B
SPIS == 0X0C
RBF == 0
SCK_OD == 2
SDO_OD == 3
TD0 == 5
TD1 == 6
DORD == 7
SPIC == 0X0D
SBRS0 == 0
SBRS1 == 1
SBRS2 == 2
SDOC == 3
SSE == 4
SRO == 5
SPIE == 6
CES == 7
TC4CR == 0X09
TM4P0 == 0
TM4P1 == 1
TM4E == 2
TM4IF == 4
TM4IE == 5
SPIF == 6
SPIE == 7
ORG 0X00
JMP INITIAL
ORG 0X08
BANK 0
; reset vector
; SPI interrupt vector
IOR
AND
IOW
RETI
TC4CR
A,@0B10111111
TC4CR
; Clear SPI interrupt flag
ORG 0X50
INITIAL:
MOV A,@0X80
IOW TC4CR
; enable SPI interrupt
; clear SPI interrupt flag
MOV A,@0X55
MOV SPIWB,A
; Transmit data
; SPI shift enable bit
; shift left
BS
SPIC,SPIE
BC SPIS,DORD
BC SPIS,TD0
BC SPIS,TD1
BC SPIC,CES
BC SPIC,SBRS0
BC SPIC,SBRS1
BC SPIC,SBRS2
BC SPIC,SDOC
ENI
;SDOstatusoutputdelaytimes:8clocks
; rising edge
; set baud rate: Fc/2
; SDO output status control bit: high
; enable interrupt
MAIN:
BS
SPIC,SSE
SPIC,SSE
$-1
; SPI start transmit
JBC
JMP
NOP
NOP
MOV A,@0X55
MOV SPIWB,A
NOP
NOP
JMP MAIN
; transmit data
46 •
Product Specification (V1.0) 09.14.2006
(This specification is subject to change without further notice)