宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 单片机中文指南
123
JZ SPI_Send_Byte_Wait
SETB EADC_SPI ;开 ADC 中断和 SPI 中断共享的总中断控制位
RET
;------------------------------------------------------------------------------
Get_Byte_From_RS232: ;取 RS-232 串口中收到的数据送累加器 A
MOV A, SBUF
CLR RI
RET
;------------------------------------------------------------------------------
END
;------------------------------------------------------------------------------
;更详细的资料可以参阅 STC12C5410AD.pdf (中文使用说明)。
;
;SPI 控制寄存器
; 7 6 5 4 3 2 1 0
;SPCTL SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0
;
;SSIG: 忽略 SS 脚, 如果 SSIG=1, 由 MSTR 位决定 SPI 主模式或从模式,
; 如果 SSIG=0, 由 SS 脚决定 SPI 主模式或从模式。
;SPEN:SPI 使能位。如果 SPEN=0,SPI 功能被禁止,SPI 脚用作普通 IO 口
;DORD:SPI 数据传输顺序。
; 1:先传低位 LSB
; 0:先传高位 MSB
;MSTR:SPI 主 / 从模式选择位
;CPOL:SPI 时钟信号极性选择位
; 1:SPI 空闲时 SPICLK = 1,前跳变沿是下降沿,后跳变沿是上升沿。
; 0:SPI 空闲时 SPICLK = 0,前跳变沿是上升沿,后跳变沿是下降沿。
;CPHA:SPI 时钟信号相位选择位
; 1:数据由 SPICLK 前跳变沿驱动到 SPI 口线,SPI 模块在后跳变沿采样数据。
; 0:当 SS 脚为低(SSIG=0)时数据被驱动到口线,并且在 SPICLK 后跳变沿数据
; 被改变(被驱动到口线),在 SPICLK 前跳变沿数据被采样。注意:SSIG = 1
; 时操作未定义。
;SPR1-SPR0:主模式时 SPI 时钟源选择
; 00:fosc/4
; 01:fosc/16
; 10:fosc/64
; 11:fosc/128
;
; 当 CPHA=0,SSIG 必须等于零并且在传输时 SS 脚也必须一直保持为低。当 SS 有效
;(=0)时向 SPDATA 寄存器写数据就会发生写冲突错误,WCOL 标志被置 1。
; 当 CPHA=1,SSIG 可以等于 0 或 1。如果 SSIG=0,SS 脚在连续的传输时为 0(可以
;一直保持为 0)。当系统中只有一个主和一个从 SPI 时,这是首选配置。
;--------------------
;SPI 状态寄存器
; 7 6 5 4 3 2 1 0
;SPSTAT SPIF WCOL - - - - - -