📄 spi-send.asm
字号:
;双机通信之单接受单片机,接受来自发送方的数据,并把其送到D口显示
LIST P=16F877
INCLUDE<P16F877.INC>
W_TEMP EQU 7FH
ORG 0X00
GOTO MAIN
;中断程序
ORG 004H
JEISHOU MOVWF W_TEMP
BCF PIR1,SSPIF
MOVF SSPBUF,0
BCF PIR1,SSPIF
MOVF SSPBUF,0
BCF STATUS,RP0
MOVWF PORTD
movlw 0xff
movwf 77h
lp0 movlw 0xff
movwf 78h
lp1 movlw 0xff
movwf 79h
lp2 nop
nop
nop
nop
nop
decfsz 78h,1
goto lp2
decfsz 77h,1
goto lp1
decfsz 79h,1
goto lp0
MOVF W_TEMP,W
RETFIE
;SPI的初始化,即相关寄存器的设置
MAIN BCF STATUS,RP1 ;在体1里面设置TRISC和SSPSTAT
BSF STATUS,RP0
MOVLW 0X18
MOVWF TRISC
MOVLW 0X00
MOVWF TRISD
BCF TRISE,4
MOVLW 0X0F
MOVWF ADCON1
BSF TRISA,5
MOVLW 0X00
MOVWF SSPSTAT
BCF STATUS,RP0 ;在体0里面设置SSPCON,从机的工作于从动方式,时钟等于SCK,从动选择引脚势能
CLRF PORTD
MOVLW 0X40
MOVWF SSPCON
BSF INTCON,7 ;开全局中断
BCF PIR1,SSPIF
BSF PIE1,SSPIE
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -