⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spi.c

📁 模拟SPI程序(C语言)
💻 C
字号:
//"首先定义好IO口
sbit sck=P1^0;
sbit si=P1^1;
sbit so=P1^2;

//"通用SPI串口模拟程序 byte=unsigned char
byte spi(byte x)
{ byte i,j;

  j=sck=0;so=1;
  for(i=0;i<8;i++)  //"发数据
  { if(x&0x80)si=1;
    else si=0;
    x=x<<1;
    _nop_();        //"根据芯片速度与单片机时钟调整延时
    _nop_();        //"适当增加或减少NOP指令
    sck=1;
    j=j<<1;
    if(so)j=j|0x01; //"读数据
    _nop_();
    _nop_();
    sck=0;
  }
  return j;
}

* SPI 串 行 总 线 是 68 系 列 单 片 机 的 接 口, 具 有 节 约 IO 口, 减 少 连 接 线 等 一 些 特 点。 现 在 使 用 SPI 总 线 接 口 的 芯 片 越 来 越 多, 但 是 51 单 片 机 没 有 SPI 总 线, 所 以 需 要 用 IO 口 来 模 拟。 上 面 的 程 序 模 拟 了 一 个 通 用 的 SPI 总 线, 只 需 要 定 义 好 sck/si/so, 就 可 以 使 用 了。
其 中 sck 是 串 行 时 钟
      si  输 出
      so  输 入


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -