设置MSP430单片机为主设备,24C256为从设备。IIC总线由SDA和SCL两条线组成,每根线都联结4.7K的上拉电阻。
主设备向24C56写:主设备发送start信号—>接着发送8位Device address(0xa0写)—>24C256比较受到的地址,发送应答信号ack->主设备受到ACK后,先发送First word address(高8位)—>24C256受到后返回ack应答—>主设备发送Second word address(低8位)—>24C256受到后返回ack应答->主设备发送数据data—>256返回ack,从设备每受到一个数据就返回一个ack,主设备受到ack后就接着发送下一个data,直到所有数据发送完毕,->最后由主设备发送stop信号。First word address(高8位)和Second word address(低8位)用来确定从设备中要写入数据的地址。
主设备读24c256:主设备发送start信号—>接着发送8位Device address(0xa0写)—>24C256比较受到的地址,发送应答信号ack->主设备受到ACK后,先发送要从24C256中读出数据的寄存器地址的First word address(高8位)—>24C256受到后返回ack应答—>主设备发送256寄存器地址的Second word address(低8位)—>24C256受到后返回ack应答->主设备发送star信号—>接着发送8位Device address(0xa1读)—>256返回ack->读从设备数据1,ack->读从设备数据2,ack->……->读从设备数据n,ack—>在接收最后一个字节时,主设备发送NO ACK信号,然后主设备发送stop信号。
扩展阅读:PC与DPTR各有哪些特点?有何异同?