因为51单片机没有spi的接口,只能用io口模拟一个,自己做了一个SPI.H头文件,仅供参考!
全部资料51hei下载地址:
SPI.zip
(475 Bytes, 下载次数: 39)
SPI.H头文件单片机源程序如下:
- #ifndef __SPI_H__
- #define __SPI_H__
- #include<intrins.h>
- void spiinti()
- {
- spi_sck=0; //始终置低
- spi_mosi=1; //数据输出
- spi_miso=1; //数据输入
- spi_nss=1; //控制信号
- }
- uchar spi_zw_r(uchar ms)
- {
- uchar i=0,data=0;
- spi_sck=0;
- for(i=0;i<8;i++)
- {
- if(0x80==(ms&0x80))
- spi_mosi=1;
- else
- spi_mosi=0;
- ms<<=1;
- _nop_();
- spi_sck=1;
- data<<=1;
- if(1==spi_miso)
- data|=0x01;
- _nop_();
- spi_sck=0;
- }
- return data;
- }
- uchar spi_cw_r(uchar md)
- {
- uchar i=0,data=0;
- for(i=0;i<8;i++)
- {
- if(0x80==(md&0x80))
- spi_miso=1;
- else
- spi_miso=0;
- md<<=1;
- while(spi_sck==0);
- if(1==spi_mosi)
- data|=0x01;
- while(spi_sck==1);
- }
- return data;
- }
- #endif
复制代码
|