📄 spist.asm
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; SPIST.ASM MPB Ver:1.0 14-9-05
;...............................................................
;
; SPI Slave Transmitter program
;
; Waits for !SS and transmits switch BCD data
;
;
;
;
;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PROCESSOR 16F877 ; define MPU
__CONFIG 0x3731 ; XT clock (4MHz)
; LABEL EQUATES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INCLUDE "P16F877.INC" ; Standard register labels
; Initialise ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0 ; Place machine code
NOP ; Required for ICD mode
BANKSEL TRISC
BCF TRISC,5 ; Serial data output
CLRW SSPSTAT ; Default clock timing
BANKSEL PORTD
MOVLW B'00000100' ; SPI slave mode with SS
MOVWF SSPCON ; SPI clock = 1MHz
BSF SSPCON,SSPEN ; Enable SPI mode
; MAIN LOOP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
start MOVF PORTD,W ; Read BCD switch
MOVWF SSPBUF ; Write SPI buffer
wait BTFSS PIR1,SSPIF ; wait for SPI interrupt
GOTO wait
BCF PIR1,SSPIF ; clear interrupt flag
GOTO start ; repeat main loop
END ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -