background image
宏晶科技:www.MCU-Memory.com   Mobile:13922805190(姚永平)   Tel:0755-82948409    Fax: 0755-82944243
宏晶科技:专业单片机 / 存储器供应商   www.MCU-Memory.com   STC12C5410AD 系列 1T 8051 单片机中文指南
131
    CLR   TI                        ;清零串口发送中断标志
    RET
;------------------------------------------------------------------------------
;此段程序只有主 MCU  调用
SPI_Send_Byte:                      ;SPI 发送一个字节
    CLR   EADC_SPI                  ;关 ADC 中断和 SPI 中断共享的总中断控制位
    MOV   SPDAT, A                  ;SPI 发送数据
SPI_Send_Byte_Wait:
    MOV   A, SPSTAT                 ;等待 SPIF=1 即等待 SPI 发送完毕
    ANL   A, #80H
    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 位决定主模式或从模式,
;      如果 SSIG=0,  由 SS  脚决定主模式或从模式。
 ;SPEN:SPI 使能位。如果 SPEN=0,SPI 功能被禁止,SPI  脚用作普通 IO 口
;DORD:SPI  数据传输顺序。
;      1:先传低位 LSB
;      0:先传高位 MSB
;MSTR:主 / 从模式选择位
;CPOL:SPI  时钟信号极性选择位
;      1:SPI 空闲时 SPICLK = 1,前跳变沿是下降沿,后跳变沿是上升沿。
;      0:SPI 空闲时 SPICLK = 0,前跳变沿是上升沿,后跳变沿是下降沿。
;CPHA:SPI  时钟信号相位选择位
;      1:数据由 SPICLK 前跳变沿驱动到口线,后跳变沿采样。
;      0:当 SS 脚为低(SSIG=0)时数据被驱动到口线,并且在 SPICLK 后跳变沿数据
;         被改变(被驱动到口线),在 SPICLK 前跳变沿数据被采样。注意:SSIG = 1
;         时操作未定义。
;SPR1-SPR0:主模式时 SPI  时钟速率选择
;      00:fosc/4
;      01:fosc/16
;      10:fosc/64