STC89C52MCU--串行通信接口SPI

来源:互联网 发布:数据挖掘概念与技术 编辑:程序博客网 时间:2024/04/27 05:06

SPI是一种全双工、高速、、同步的通信总线。它有两种工作模式:主模式和从开模式;主模式下传输速率可达到3mbps, 在系统时钟位12 Mhz时, 如果CPU采用更高频率,则其速率可以更高;在从模式下,速度无法太快,通常在fsoc / 8以内较好;

STC12系列单片机与SPI接口相关的数据寄存器

名称地址功能描述D7D6D5D4D3D2D1D0SPCTL85HSPI控制寄存器SSIGGPEND0RDMSTRCP0LCPHASPR1SPR0SPSTAT84HSPI装填寄存器SPIFWCOL      SPDAT86HSPI数据寄存器        

SPCTL寄存器功能


SPSTAT寄存器功能


SPDAT.7 - SPDAT.0 -- 传输数据位Bit7~Bit0


查看SPI框架图,SPI有四个引脚:SPICLK/P1.7、MOSI/P1.5、MISO/P1.6和SS/P1.4


SPI时钟分频器选择是通过SPCTL的SPR1和SPR0 位实现的。

SPI写冲突:SPI在发送时位单缓冲,在接受时为双缓冲。如果在发送时将新数据写入移位寄存器则会导致WCOL置位以指示数据冲突;此时会丢失写入的数据而继续发送数据。当主机或者从机进行写冲突检测时,主机发生写冲突的几率很低,因为主机拥有数据传输的完全控制权,但是从机有可能发生写冲突,因为从机无法控制传输。接收数据时,接收到的数据传送到一个并行读数据缓冲区,这样将释放移位寄存器以进行下一个数据接收;但必须在下个字符完全移入之前读出已接收到的数据,否则将丢失上一次的数据。

具体主机连接配置模式图参考P299


原创粉丝点击