?? sspi.asm
字號:
; SPI從機
; 使用LPC932的SPI總線和主機進行通訊。
; 接收主機發送的地址,并取出對應內存地址的數據發送回主機。
;定義LPC932的部分特殊寄存器
DIVM DATA 95H ; CPU分頻設置寄存器
P2M1 DATA 0A4H
P2M2 DATA 0A5H
SPCTL DATA 0E2H ; SPI設置寄存器
SPSTAT DATA 0E1H ; SPI狀態寄存器
SPDAT DATA 0E3H ; SPI數據寄存器
SSIN BIT P2.4
ORG 000H
MAIN:
MOV R7,#0
DJNZ R7,$
MOV DIVM,#2 ; 設置分頻,使其總線頻率與主機一置。否則最低位發送會為0
MOV P2M1,#00H ; 設置SS為準雙向口,以使主機能操作從機
MOV P2M2,#00H
MOV A,#SLAVEMODE ; 初化從機
ACALL SETSPI
READ_DAT:
ACALL SRCV_DAT ; 讀出主機發送過來的數據
JNC READ_DAT
MOV R1,A
MOV A,@R1
JNB SSIN,$ ; 等待總線放開。
ACALL SSEND_DAT ; 將要發送的數據寫入SPI數據寄存器
SJMP READ_DAT
$INCLUDE (LPC932SPI.INC) ; 使用LPC932的SPI軟件包
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -