这是北京金木雨给的一段13.5M读写模块的通讯程序(89C52CPU),有二句看不懂<br />望各位指点一下(<font color=#FF0080>红字部分</font>),谢谢<br /><br /><br />#include <reg52.h> // 包含52寄存器函数reg52.h<br />#include <intrins.h> // 包含内部函数intrins.h<br />sbit SDA = P1^0; // 定义SDA为P1.0口<br />sbit SCL = P1^1; // 定义SCL为P1.1口<br /> // 对于11.0592MHz用这一行<br />#define NOPS _nop_(); // 定义NOPS=nop,等待1个时钟周期,在intrins.h中<br /><br /><br />/*****************************************************************************<br />* 宣告发送一个字节函数: send a byte over IIC bus<br />* 发送一个字节<br />*****************************************************************************/<br />void I2CSendByte(unsigned char cSendByte) // cSendByte为待发送字节<br />{<br />unsigned char data i = 8; // 定义i为直接寻址内部RAM,并赋值i=8<br />while (i--) // 计数器 i减1,≠"0"时,做下面循环<br />{<br /> SCL = 0; // 时钟脚 ̄_<br /> <font color=#FF0040>SDA = (bit)(cSendByte & 0x80);// 屏蔽出待发送字节的D7位<br /> cSendByte += cSendByte; // <br /></font> NOPS<br /> SCL = 1;<br />}<br />SCL = 0;<br />} |
|