background image
宏晶科技: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     -      -      -      -      -      -