IO口模拟SPI通信C51程序

电子元件 4年前 (2022) aysz01
0

/**************************
文件所用资源
1.端口:P0.4,P0.5,P0.6,P0.7
2.调用delay_ms函数
**************************/
/*************************
模拟SPI接口I/O定义
*************************/
sbit spi_cs=P0^1;
sbit spi_di=P0^2;
sbit spi_clk=P0^3;
sbit spi_do=P0^4;
/*******************************
向SPI器件写入一个字节数据
*******************************/
void spi_write(unsigned char spi_dat)
{
unsigned char i;
spi_cs=0;
for (i=0;i<8;i++)
{
spi_clk=0;
if((spi_dat & 0x80)==0x80)spi_di=1;
else spi_di=0;
spi_clk=1;
spi_dat=(spi_dat<<1);
}
spi_cs=1;
}
/********************************
从SPI器件读出一个字节数据
********************************/
unsigned char spi_read()
{
unsigned char i,spi_dat;
spi_cs=0;
for (i=0;i<8;i++)
{
spi_clk=0;
spi_dat=(spi_dat<<1);
spi_clk=1;
if(spi_do==1)spi_dat|=0x01;
else spi_dat&=~0x01;
}
spi_cs=1;
return spi_dat;
}

版权声明:aysz01 发表于 2022-08-06 11:36:28。
转载请注明:IO口模拟SPI通信C51程序 | 鳌游电工

暂无评论

暂无评论...