1.I2C簡單介紹
I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設備開發(fā),如今主要在服務器管理中使用,其中包括單個組件狀態(tài)的通信。 I2C總線最主要的優(yōu)點是其簡單性和有效性。是一種多主機總線;當主機競爭時,有主機沖裁機制。
2.I2C總線原理
I2c總線只有兩根雙向信號線,一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。
I2C通過上拉電阻接正電源。當總線處于空閑狀態(tài)下,兩條信號線為高電平。連接到總線任意一個器件輸出為低電平,都會使總線的信號變低,即每個器件的SDA和SCL都是線“與”關系。
3.I2C傳輸規(guī)范
<1>數(shù)據(jù)位的有效性
I2C總線進行數(shù)據(jù)傳送時,時鐘信號為高電平期間,數(shù)據(jù)線上的數(shù)據(jù)必須保持穩(wěn)定,只有時鐘線上的信號為低電平期間,數(shù)據(jù)線上的高電平和低電平狀態(tài)才允許變化。
<2>起始信號和終止信號
起始信號:當 SCL 為高電平時,SDA 由高變低。
終止信號:當 SCL 為高電平時,SDA 由低變高。
4.I2C總線傳輸格式
發(fā)送到SDA線上的每個字節(jié)必須是8位,每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制,每個字節(jié)后必須跟一個ACK應答位,數(shù)據(jù)從最高有效位(MSB)開始傳輸。
以上是對IIC總線大致介紹,下面回到我們藍橋杯單片機開發(fā)的正題上來。
一.I2C驅(qū)動程序(包含六個函數(shù))
1.起始信號 2.產(chǎn)生應答 3.停止信號 4.等待應答 5.發(fā)送數(shù)據(jù) 6.接收數(shù)據(jù)其中設備地址為PCF8591(可以自行修改,僅供參考之用)
讀操作地址為:0x91 寫操作地址:0x90
若使用24C02 EEPROM 時,相應設備地址:
讀操作地址為:0xA1 寫操作地址:0xA0
[注意]
要在主函數(shù)中讀取相應通道 電位器 Rb2 接AIN3 : 0X03
光敏傳感器接AIN1: 0X01
---------------------
|