本章作为51单片机的结尾,教51主要是让你们懂原理。此篇内容结束后,由于我要出差,将由另外两位学长教你们stm32(stm32是我们主要使用的单片机)。
spi协议
单片机主要的通讯协议有IIC SPI UART这三种,51的UART其实没有那么大的必要去教。所以这期以spi协议作为51单片机的结尾,而后内容以stm32为主。
SPI协议是串行通信协议,速度要比IIC快,支持同时输入和接收。主要由(3+n)根线组成。

SCLK (Serial Clock) : 时钟线,每次时钟跳变进行采样,时钟沿再次跳变进行输出
MOSI(Master Output, Slave Input):主机输出(OUT),从机输入信号(数据由主机发出)
MISO(Master Input, Slave Output):主机输入(IN),从机输出信号(数据由从机发出)
SS(Slave Select):片选信号,由主机发出,一般是低电位有效, 只有对应元件的SS激活,才会进行通讯。如果两个从设备的SS同时被激活,则两个SS设备占用一条总线进行通讯(最好不要这样,可能会导致很严重的问题)。
我们很容易的可以注意到,SPI与IIC相比,通过增加两根线路的方式实现了双向传输和设备选择。在IIC通信中我们需要向设备输入地址,之后再进行数据输入,而SPI只需要激活对应片选信号,即可进行通讯。而MOSI \ MISO 将一条共用数据线分为输入和输出的专用数据线,这样也不需要确认主从谁发送谁输出了。同时SPI通讯协议并不需要每字节进行一次 确认 ,虽然这可能导致出错,但确实提高了效率 精简了通信内容。
由于protues spi器件仅有EPROM,演示效果不好。所以暂时搁置,等到STM32将进行详细介绍。
作业
观看视频 SPI