单片机IO模拟SPI的子程序

发布时间:2013-01-02 09:44:20   来源:文档文库   
字号:

C51模拟SPI的子程序。

//首先定义好I/O

sbit SDO=P1^0

sbit SDI=P1^1

sbit SCK=P1^ 2

sbit SCS=P1^3

sbit ACC_7= ACC^7

unsigned int SpiRead(unsigned char add)

{

unsigned char i

unsigned int datal6

add&=0x3f/*6位地址*/

add |=0x80/*读操作码l0*/

SDO=1/*发送1为起始位*/

SCK=0

SCK=1

for(i=0<8i++)/*发送操作码和地址*/

{

if(add&0x80==1)

SDO=1

else

SDO=0

SCK=0/*从设备上升沿接收数据*/

SCK=1

add<<= 1

}

SCK=1/*从设备时钟线下降沿后发送数据,空读1位数据*/

SCK=0

datal6<<= 1;/*16位数据*/

for(i=0<16i++)

{

SCK= 1

_nop_()

if(SDI==1)

datal6|=0x01

SCK =0

datal6< < =1

}

return datal6

}

本文来源:https://www.2haoxitong.net/k/doc/f91547d0d15abe23482f4d98.html

《单片机IO模拟SPI的子程序.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式