SPI总线的软件模拟

时间:2023-03-11来源:佚名

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

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

SPI总线的软件模拟

SPI总线接口接线图

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

1MCU串行输入子程序SPIIN

AT25040SO端接收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

2MCU串行输出子程序SPIOUT

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

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

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

80C51单片机R0寄存器的内容传送到AT25040SI端,同时从AT25040SO端接收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/AA/D转换芯片、实时时钟芯片、LED显示驱动芯片等)。对于下降沿输入、上升沿输出的各种串行外围接口芯片,只要改变P1.1的输出电平顺序,这些子程序也同样适用。

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

    相关阅读

    电工必备知识:兆欧表测量电动机、电缆、低压电容器绝缘电阻测量方法详细图解

    兆欧表外形如图1所示,兆欧表俗称绝缘摇表、麦格表。兆欧表主要用来测 量电气设备的绝缘电阻,如电动机、电气线路的绝缘电阻,判断设备或线路有无漏电现象、 绝缘损坏或短路。...
    2024-08-19
    电工必备知识:兆欧表测量电动机、电缆、低压电容器绝缘电阻测量方法详细图解

    配电网的简介、主要组成部分与工作过程

    在现代电力系统中,配电网扮演着连接输电系统和终端用户的重要角色。其功能不仅是将电力从高压输电网传输到用户端,还包括分配、保护和控制等多方面工作。随着科技的不断发展和...
    2024-08-19
    配电网的简介、主要组成部分与工作过程

    S7-200的远距离通讯有哪些方式?

    1)RS-485网络通讯:PPI、MPI、PROFIBUS-DP协议都可以在RS-485网络上通讯,通过加中继,最远可以达到9600米 2)光纤通讯:光纤通讯除了抗干扰、速率高之外,通讯距离远也是一大优点。S7-...
    2023-03-21

    LED灯带

      LED灯带简称灯带,它是一种将LED(发光二极管)组装在带状FPC(柔性线路板)或PCB硬板上而构成的形似带子一样的光源。LED灯带具有节能环保、使用寿命长(可达8万~10万h)等优点。   ...
    2023-06-27
    LED灯带

    N60-5.6/0.56/527/255型汽轮机启动说明(哈尔滨产汽轮机)

    一、启动和带负荷的建议 目的 :阐述“启动和带负荷”的目的是为了保护汽轮机各零件防止由于内部温度的变化而产生的热疲劳裂纹,这些建议的目的是以转子热应力为基础,它为选择合...
    2023-06-13
    N60-5.6/0.56/527/255型汽轮机启动说明(哈尔滨产汽轮机)

    热销商品

    加厚abs安全帽电工建筑工地程施工领导监理透气防砸头盔可印字V型

    这款加厚ABS安全帽专为电工、建筑工地施工人员、领导及监理设计,采用高强度ABS工程塑料,抗冲击、防砸性能优异,有效保障头部安全。帽体加厚设计,增强耐用性与防护等级...
    5.8

    水口钳高硬度模型剪钳电子钳工业级口水剪斜嘴钳偏口斜口专用钳子

    水口钳高硬度模型剪钳是一款工业级精密工具,专为电子、模型制作及精细作业设计。采用优质高碳钢材质,经热处理工艺打造,具备卓越的硬度和耐磨性,可轻松剪切金属引脚、...
    4.8

    170电子剪钳II 如意斜口钳 工业斜嘴钳水口钳 模型剪塑胶钳尖嘴钳

    170电子剪钳II如意斜口钳是一款专业级精密工具,集工业斜嘴钳、水口钳、模型剪、塑胶钳与尖嘴钳功能于一体,适用于电子维修、模型制作、手工艺及精密作业。其采用优...
    4.5

    安全帽国标工地加厚施工领导透气安全头盔建筑工程监理免费印字

    本款安全帽严格遵循国家GB 2811-2019标准,专为建筑工程、工地施工及监理人员设计。采用高强度ABS工程塑料,加厚壳体有效抗冲击,保障头部安全。帽体轻盈透气,内置可调...
    10

    包邮三角型简易螺丝刀三角十字螺丝刀螺丝批改锥起子五金工具5mm

    这款5mm三角型简易螺丝刀,专为拧紧或拆卸三角形螺丝设计,适用于电子维修、家电维护及精密仪器装配等场景。采用优质合金钢材质,刀头硬度高、耐磨损,确保长久使用不变...
    3.64

    网站栏目