STC15W4K58S4单片机SPI通讯

本文详细介绍了STC15W4K58S4单片机的SPI通讯,包括SPI与外围设备的广泛应用,通信线路配置,时钟极性和相位设置,以及硬件接口寄存器的功能和使用。还涵盖了移位寄存器和缓冲寄存器的区别以及SPI接口管脚切换的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                        SPI通讯以STC15W4K58S4为例

串行口主要用于单片机与计算机和其它单片机进行通讯,SPI主要用于单片机与外围芯片之间的通讯。

例如:可以和DS1302芯片进行数据通讯,与SD卡进行通讯,与VS1003音乐播放芯片进行通讯,可以和串行移位芯片74HC595进行通讯,与AD转换芯片MCP3202-B通讯,与DA转换芯片TLC5615进行通讯,与其它单片机通讯,因此SPI接口的应用是非常广泛的。

通信线路:

SPI通讯最多需要4根数据线,片选线SS(低电平有效),SCLK(时钟线,由主机控制),MOSI(主机输出从机输入),MISO(主机输入从机输出)。

其中,如果是单主机单从机的话,片选线可以不要,将SS直接接地,使它始终保持低电平。当SS为高电平时,从器件的各个通讯管脚呈高阻态,相当于从通讯线路上断开。

重要概念:

(1)时钟极性(CPOL):定义了时钟处于空闲状态时的电平。

CPOL=0:时钟空闲状态为低电平

CPOL=1:时钟空闲状态为高电平

(2)时钟相位(CPHA):定义了数据的采样时刻

CPHA=0:前沿采样,后沿输出。单片机在每个时钟周期的第一个跳变沿(上升沿或下降沿)采样外部数据,在第二个跳变沿输出数据。

CPHA=1:前沿输出,后沿采样。单片机在每个时钟周期的第一个跳变沿(上升沿或下降沿)输出数据,在第二个跳变沿对外部数据进行采样。

时钟极性(CPOL)和时钟相位(CPHA)的组合可形成四种不同的数据传输时序:

不使用片选时,两种时钟相位(CPHA)的通讯波形

CPHA=0

CPHA=1

时序图的解读:

以时钟相位CPHA=1时为例子,CPHA=1时,是前沿输出,后沿采样。

可以看到,在红圈标示的地方,表示数据生成(或者说是改变也可以,也就是数据开始建立),当数据稳定后,在后沿,也就是绿线标明的虚线处,数据被采样。主机从机都遵从此时序。

一般,如果采用软件模拟SPI通讯,我们需要尽量设置在数据信号的中心位置进行读取,因为这时数据是最稳定的。如果使用SPI硬件通讯,则不必关心这些细节,硬件会自动控制时序。

硬件SPI接口相关寄存器:

<

位号

D7

D6

D5

D4

D3

D2

D1

D0

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值