📄 sspi.asm.bak
字号:
; 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 + -