設置MSP430單片機為主設備,24C256為從設備。IIC總線由SDA和SCL兩條線組成,每根線都聯結4.7K的上拉電阻。
主設備向24C56寫:主設備發(fā)送start信號—>接著發(fā)送8位Device address(0xa0寫)—>24C256比較受到的地址,發(fā)送應答信號ack->主設備受到ACK后,先發(fā)送First word address(高8位)—>24C256受到后返回ack應答—>主設備發(fā)送Second word address(低8位)—>24C256受到后返回ack應答->主設備發(fā)送數據data—>256返回ack,從設備每受到一個數據就返回一個ack,主設備受到ack后就接著發(fā)送下一個data,直到所有數據發(fā)送完畢,->最后由主設備發(fā)送stop信號。First word address(高8位)和Second word address(低8位)用來確定從設備中要寫入數據的地址。
主設備讀24c256:主設備發(fā)送start信號—>接著發(fā)送8位Device address(0xa0寫)—>24C256比較受到的地址,發(fā)送應答信號ack->主設備受到ACK后,先發(fā)送要從24C256中讀出數據的寄存器地址的First word address(高8位)—>24C256受到后返回ack應答—>主設備發(fā)送256寄存器地址的Second word address(低8位)—>24C256受到后返回ack應答->主設備發(fā)送star信號—>接著發(fā)送8位Device address(0xa1讀)—>256返回ack->讀從設備數據1,ack->讀從設備數據2,ack->……->讀從設備數據n,ack—>在接收最后一個字節(jié)時,主設備發(fā)送NO ACK信號,然后主設備發(fā)送stop信號。
擴展閱讀:PC與DPTR各有哪些特點?有何異同?