|
C51编写的AD7416驱动程序-绝对可用
/*-------------------------------------------------------------------------------- 调用方式:void SendAck(void) 私有函数,I2C专用,主器件为接收方,从器件为发送方时,非应答信号。 ---------------------------------------------------------------------------------*/ void AD7416_SendNotAck(void) { AD7416_SDA=1; AD7416_delay(); AD7416_SCL=1; AD7416_delay(); AD7416_SCL=0; AD7416_delay(); } /*-------------------------------------------------------------------------------- 调用方式:void I2CSend(unsigned char ch) 函数说明:私有函数,I2C专用 ---------------------------------------------------------------------------------*/ void AD7416_I2CSendByte(unsigned char ch) { unsigned char i=8; while(i--) { AD7416_SCL=0; _nop_(); AD7416_delay(); AD7416_SDA=(bit)(ch&0x80); ch<<=1; AD7416_delay(); AD7416_SCL=1; AD7416_delay(); } AD7416_SCL=0; AD7416_delay(); } /*-------------------------------------------------------------------------------- 调用方式:unsigned char I2CReceive(void) 函数说明:私有函数,I2C专用 ---------------------------------------------------------------------------------*/ unsigned char AD7416_I2CReceiveByte(void) { unsigned char i=8; unsigned char dat=0; AD7416_SDA=1; while(i--) { dat<<=1; AD7416_SCL=0; AD7416_delay(); AD7416_SCL=1; AD7416_delay(); dat|=AD7416_SDA; } AD7416_SCL=0; AD7416_delay(); return(dat); } 本文转自网络,经“单片机之路”(www.mcuway.com)摘选整理,版权归原作者所有
上一页 [1] [2] [3] 下一页 |
|