欢迎来到天天文库
浏览记录
ID:39463463
大小:522.50 KB
页数:50页
时间:2019-07-03
《51单片机总线模拟方法集锦》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、51单片机总线模拟方法集锦关于SPI模拟时序的问题我想用51单片机的IO口模拟SPI串行通信请各位大侠指点一下代码思路等等小弟完全没有思路谢谢//*****************************************************************************************//函数名:SpisendByte(INT8Udat)//输入:发送的数据//输出:无//功能描述:SPI发送一个字节//*****************************************************************
2、************************INT8USpiTxRxByte(INT8Udat){INT8Ui,temp;temp=0;SCK=0;for(i=0;i<8;i++){if(dat&0x80){MOSI=1;}elseMOSI=0;dat<<=1;SCK=1;_nop_();_nop_();temp<<=1;if(MISO)temp++;SCK=0;_nop_();_nop_();}returntemp;}//************************************************************************
3、*****************//函数名:voidRESET_CC1100(void)//输入:无//输出:无//功能描述:复位CC1100//*****************************************************************************************voidRESET_CC1100(void){CSN=0;while(MISO);SpiTxRxByte(CCxxx0_SRES);//写入复位命令while(MISO);CSN=1;}//******************************
4、***********************************************************//函数名:voidPOWER_UP_RESET_CC1100(void)//输入:无//输出:无//功能描述:上电复位CC1100//*****************************************************************************************voidPOWER_UP_RESET_CC1100(void){CSN=1;halWait(1);CSN=0;halWait(1);CSN=1;
5、halWait(41);RESET_CC1100();//复位CC1100}//*****************************************************************************************//函数名:voidhalSpiWriteReg(INT8Uaddr,INT8Uvalue)//输入:地址和配置字//输出:无//功能描述:SPI写寄存器//********************************************************************************
6、*********voidhalSpiWriteReg(INT8Uaddr,INT8Uvalue){CSN=0;while(MISO);SpiTxRxByte(addr);//写地址SpiTxRxByte(value);//写入配置CSN=1;}//*****************************************************************************************//函数名:voidhalSpiWriteBurstReg(INT8Uaddr,INT8U*buffer,INT8Ucount)//输入:地址,写入
7、缓冲区,写入个数//输出:无//功能描述:SPI连续写配置寄存器//*****************************************************************************************voidhalSpiWriteBurstReg(INT8Uaddr,INT8U*buffer,INT8Ucount){INT8Ui,temp;temp=addr
8、WRITE_BURST;CSN=0;while(MISO);SpiTxRxByte(temp);for(i=0;i
此文档下载收益归作者所有