STC15W4K58S4单片机SPI通讯实验1

本文详细介绍了STC15W4K58S4单片机进行SPI通信实验的过程,包括硬件连接、波特率设置、SPI控制寄存器配置、主从机功能区分以及主从机各自的编程实现,还涉及了中断服务程序的编写。

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

                                      STC15W4K58S4单片机SPI通讯实验1

SPI通讯实验1:

一个主机,一个从机,三线连接,不需要片选线。PC机通过串行口向主单片机发送一个字节的数据,主单片机接收到后向从机发送这个字节,从机接收后将数据返回给主机,主机再将数据通过串行口发送回PC机。

串行口波特率9600bps 无奇偶校验 8个数据位 1个停止位

单片机系统时钟频率SYS_clk=22.1184MHz

SPI通信速率SYS_clk/4

电路连接图:

两个单片机可以使用不同的供电电源,但是要共地,串行口的地线也要与两个单片机共起来。

两块单片机的SPI引脚连接时,中间一定要串联上240欧的电阻,以防止程序失误出现端口短路烧毁的情况!

采用寄存器引脚切换,SPI_S1  SPI_S0

                                                    0            1

 /SS:P2.4  MOSI:P2.3  MISO:P2.2  SCLK:P2.1

主机从机都使用这组引脚作为SPI通信端口。主机采用查询方式,从机采用SPI中断方式。

使用SPI通讯需要设置  SPCTL寄存器

位号

D7

D6

D5

D4

D3

D2

D1

D0

位名称

SSIG

SPEN

DORD

MSTR

CPOL

CPHA

SPR1

SPR0

1

1

1

1

0

0

0

0

对于主机,永远无需使用片选线所以SSIG位置1(不使用片选SS)

启动SPI硬件通讯,SPEN=1

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值