SPI总线的软件模拟

时间:2023-03-11作者:佚名

对于没有提供SPI接口的单片机而言,通常可使用软件的办法来模拟SPI的总线操作,包括串行时钟、数据输入和输出。

Atmel公司生产的EEPROM具有SPI接口,存储容量为4Kb的AT25040就有SPI接口,80C51系列单片机与AT25040的SPI总线接口接线如图所示。

SPI总线的软件模拟

图 SPI总线接口接线图

图9-6中,P1.0模拟SPI的数据输出端(MOSI),P1.1模拟SPI的SCK输出端,P1.2模拟SPI的从机选择端(SS),P1.3模拟SPI的数据输入端(MISO)。下面给出模拟SPI串行输入、串行输出和串行输入/输出的3个子程序。

1.MCU串行输入子程序SPIIN

从AT25040的SO端接收8位数据并放入寄存器R0中。参考程序如下:

SPIIN: SETB P1.1 ;使P1.1(时钟)输出为1

CLR P1.2 ;选择从机

MOV R1, #08H ;置循环次数

SPIIN1: CLR P1.1 ;使P1.1(时钟)输出为0

NOP ;延时

NOP

MOV C, P1.3 ;从机输出送进位C

RLC A ;左移至累加器A

SETB P1.1 ;使P1.1(时钟)输出为1

DJNZ R1, SPIIN1 ;判断是否循环8次(8位数据)

MOV R0, A ;8位数据送R0

RET

2.MCU串行输出子程序SPIOUT

将80C51单片机中R0寄存器的内容传送到AT25040的SI端。参考程序如下:

SPIOUT: SETB P1.1 ;使P1.1(时钟)输出为1

CLR P1.2 ;选择从机

MOV R1, #08H ;置循环次数

MOV A, R0 ;8位数据送累加器A

SPIOUT1: CLR P1.1 ;使P1.1(时钟)输出为0

NOP ;延时

NOP

RLC A ;左移至累加器A,最高为至C

MOV P1.0, C ;进位C送从机输入

SETB P1.1 ;使P1.1(时钟)输出为1

DJNZ R1, SPIOUT1 ;判断是否循环8次(8位数据)

RET

3.MCU串行输入/输出子程序 SPIIO

将80C51单片机R0寄存器的内容传送到AT25040的SI端,同时从AT25040的SO端接收8位数据。参考程序如下:

SPIIO: SETB P1.1 ;使P1.1 (时钟)输出为1

CLR P1.2 ;选择从机

MOV R1, #08H ;置循环次数

MOV A, R0 ;8位数据送累加器A

SPIIO1: CLR P1.1 ;使P1.1(时钟)输出为0

NOP ;延时

NOP

MOV C, P1.3 ;从机输出送进位C

RLC A ;左移至累加器A,最高为至C

MOV P1.0, C ;进位C送从机输入

SETB P1.1 ;使P1.1(时钟)输出为1

DJNZ R1, SPIIO1 ;判断是否循环8次(8位数据)

RET

这些子程序适用于在串行时钟的上升沿输入和下降沿输出的各种串行外围接口芯片(如D/A和A/D转换芯片、实时时钟芯片、LED显示驱动芯片等)。对于下降沿输入、上升沿输出的各种串行外围接口芯片,只要改变P1.1的输出电平顺序,这些子程序也同样适用。

如先置P1.1为低电平,之后再次置P1.1为高电平,再置P1.1为低电平等等。

相关阅读

电工常见电路接线图10例,90%电工都收藏了!

一、带指示灯的电动机起动停止电路 带指示灯的电动机起动停止线路在工作生产中是最常见的一种控制线路,它具有单方向控制电动机起停,并有自锁、短路保护和过载动作保护作用。...
2023-06-11
电工常见电路接线图10例,90%电工都收藏了!

配电箱(柜)安装工艺讲解和质量通病

配电箱柜安装 流程图: 低压成套开关设备验收规程 CECS49:93 《建筑电气工程施工质量验收规范》 GB50303-2015 5.1.1 柜、台、箱的金属框架及基础型钢应与保护导体可靠连接;对于装有...
2023-06-11
配电箱(柜)安装工艺讲解和质量通病

热继电器和熔断器的区别?

【免费下载】 PLC软件下载_PLC软件安装教程_PLC手册下载_PLC案例下载! 【免费学习】 变频器精品课程_西门子PLC精品教程_三菱PLC精品教程! 热过载继电器和熔断器都是电气材料中最常用...
2023-06-27

三菱PLC置位与复位指令

三菱FX系列plc 有基本逻辑指令20或27条、步进指令2条、功能指令100多条(不同系列有所不同)。本节以FX2N为例,介绍其基本逻辑指令和步进指令及其应用。 FX2N的共有27条基本逻辑指令,...
2023-03-21
三菱PLC置位与复位指令

傻傻分不清电路?专业电气学姐为你全方面解读(二十二)

我是如何学习电工基础之 Part.22:物质的磁性 不知大家对铁磁物质的了解有多少?或者这样问,为什么电机的铁芯或变压器的铁芯都是由硅钢片制成?如下图 22-1所示,变压器的以硅钢...
2023-06-27
傻傻分不清电路?专业电气学姐为你全方面解读(二十二)

热销商品

德国进口雅马哈风力灭火机大功率手提森林灭火器落叶工地吹雪机汽

德国进口雅马哈风力灭火机是一款高效、可靠的森林灭火和清理设备。它拥有大功率风机,能够迅速吹散落叶、杂草和积雪,有效清理工地和森林地面。这款灭火机采用先进技...
¥ 692.5

12V星空顶筒灯嵌入式阳台卧室客厅氛围迷你呼吸小射灯满天星天花

12V星空顶筒灯是一款专为营造浪漫氛围而设计的迷你嵌入式射灯,适用于阳台、卧室、客厅等空间。采用低功耗LED光源,安全节能,光线柔和均匀,支持呼吸模式与满天星效果,可...
¥ 7.65

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

电位器旋钮电流调节螺帽直流逆变电焊机二保焊送丝机通用旋钮B102

电位器旋钮电流调节螺帽适用于直流逆变电焊机和二保焊送丝机,是一款通用的旋钮B102。该旋钮采用优质材料制造,具有耐磨损、耐高温、耐腐蚀等特点,能够长时间稳定运行...
¥ 0.7

喜美诺排插插座面板多孔排插家用宿舍接线板插排国标线板延长线

喜美诺排插,一款精心设计的多孔插座面板,专为家庭和宿舍环境而造。它不仅提供便捷的接线体验,更符合国标安全标准,确保使用过程中的安全与稳定。这款排插采用高质量材...
¥ 11.9

网站栏目