[笔记]51单片机模拟spi串行接口程序.pdfVIP

  • 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)

1亿VIP精品文档

相关文档