- 48
- 0
- 约4.01千字
- 约 8页
- 2021-06-09 发布于湖南
- 举报
[ 笔记 ]51 单片机模拟 spi 串行接口程序
51 单片机模拟 spi 串行接口程序
51 单片机模拟 spi 串行接口程序,在 keilc51 下编写
sbit CS=P3^5;
sbit CLK= P1^5;
sbit DataI=P1^7;
sbit DataO=P1^6;
#define SD_Disable() CS=1 // 片选关 #define SD_Enable() CS=0 // 片选开
unsigned char SPI_TransferByte(unsigned char val)
{
unsigned char BitCounter; for(BitCounter=8; BiCounter!=0;
BitCounter--) { CLK=0;
DataI=0; // write
if(val0x80) DataI=1;
val=1;
CLK=1;
if(DataO)val|=1; // read
}
CLK=0;
return val;
}
sbit CLK= P1^5;
sbit DataI=P1^7;
sbit DataO=P1^6;
#define SD_Disable() CS=1 // 片选关 #define SD_Enable() CS=0 // 片选开
unsigned char SPI_TransferByte(unsigned char val)
{
unsigned char BitCounter; for(BitCounter=8; BiCounter!=0;
BitCounter--) { CLK=0;
DataI=0; // write
if(val0x80) DataI=1;
val=1;
CLK=1;
if(DataO)val|=1; // read
}
CLK=0;
return val;
}
sbit CLK= P1^5;
sbit DataI=P1^7;
sbit DataO=P1^6;
#define SD_Disable() CS=1 // 片选关
#define SD_Enable() CS=0 // 片选开
unsigned char SPI_TransferByte(unsigned char val)
{
unsigned char BitCounter;
for(BitCounter=8; BiCounter!=0; BitCounter--)
{ CLK=0;
DataI=0; // write
if(val0x80) DataI=1;
val=1;
CLK=1;
if(DataO)val|=1; // read
}
CLK=0;
return val;
}
sbit CLK= P1^5;
sbit DataI=P1^7;
sbit DataO=P1^6;
#define SD_Disable() CS=1 // 片选关
#define SD_Enable() CS=0 // 片选开
unsigned char SPI_TransferByte(unsigned char val)
{
unsigned char BitCounter;
for(BitCounter=8; BiCounter!=0; BitCounter--)
{ CLK=0;
DataI=0; // write
if(val0x80) DataI=1;
val=1;
CLK=1;
if(DataO)val|=1; // read
}
CLK=0;
return val;
}
sbit CLK= P1^5;
sbit DataI=P1^7;
sbit DataO=P1^6;
#define SD_Disab
原创力文档

文档评论(0)