新闻中心

EEPW首页>嵌入式系统>设计应用> spi四种模式io模拟时序

spi四种模式io模拟时序

作者: 时间:2012-08-06 来源:网络 收藏
#endif/*********************************************模式一 写数据*********************************************/#if _CPOL==0_CPHA==1 //MODE 0 1void SPI_Send_Dat(unsigned char dat){unsigned char n;SCK_D(0);for(n=0;n8;n++){SCK_D(1);if(dat0x80)MOSI_D(1);else MOSI_D(0);dat=1;SCK_D(0);}}/*********************************************模式一 读数据*********************************************/unsigned char SPI_Receiver_Dat(void){unsigned char n ,dat,bit_t;for(n=0;n8;n++){SCK_D(1);dat=1;if(MISO_I())dat|=0x01;else dat=0xfe;SCK_D(0);}SCK_D(0);return dat;}#endif//////////////////////////////////////////////////////////////////////////////////////////////////////////////#if _CPOL==1_CPHA==1 //MODE 1 1void SPI_Send_Dat(unsigned char dat){unsigned char n;SCK_D(1);for(n=0;n8;n++){SCK_D(0);if(dat0x80)MOSI_D(1);else MOSI_D(0);dat=1;SCK_D(1);}}/************************************模式三 读数据************************************/unsigned char SPI_Receiver_Dat(void){unsigned char n ,dat,bit_t;SCK_D(0);for(n=0;n8;n++){ SCK_D(0);dat=1;if(MISO_I())dat|=0x01;else dat=0xfe;SCK_D(1);}SCK_D(1);return dat;}#endif/**************************************************************************/void main(){SPI_Init();DDRB = 0XFF;//#if _CPOL//SCK_D(0);//#endifwhile(1){//SSEL_D(0);//SPI_Send_Dat(0x01);//SPI_Send_Dat(0x31);//SSEL_D(1);SSEL_D(0);SPI_Send_Dat(0x81);PORTB =SPI_Receiver_Dat();SSEL_D(1);//delay();}}

51单片机相关文章:51单片机教程



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭