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