使用C51编写IO口模拟SPI通信程序
21ic 2024-05-15

/**************************
文件所用资源
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{
spi_clk=0;
if((spi_dat & 0x80)==0x80)spi_di=1;
else spi_di=0;
spi_clk=1;
spi_dat=(spi_dat}
spi_cs=1;
}
/********************************
从SPI器件读出一个字节数据
********************************/
unsigned char spi_read()
{
unsigned char i,spi_dat;
spi_cs=0;
for (i=0;i{
spi_clk=0;
spi_dat=(spi_dat spi_clk=1;
if(spi_do==1)spi_dat|=0x01;
else spi_dat&=~0x01;
}
spi_cs=1;
return spi_dat;
}

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 模拟
  • 模电
  • 运放
  • 放大
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告