我訪問了一些鏈接並查找了I2C編程的一些示例程序。我想寫我自己的I2C協議代碼。假設DS1307 RTC和LCD連接到8051.我正在使用Keil軟件編寫一個C程序。這是非常難寫I2C的整個程序我,所以我試着在小零件打破程序:I2C協議如何工作
- 模塊1:定義和設置用於LCD和DS1307 RTC
- 模塊2引腳:用於編寫C代碼DS1307(使功能DS1307例如讀,寫)
- 模塊3:寫LCD C代碼(數據,命令初始化等)
- 模塊4:主函數
我明白模塊1,但我正在尋求幫助來理解模塊e 2.所以我再次想要在小部件中打破模塊2。
如何突破模塊2中,爲了便於理解小部件?模塊2中應該有多少個函數?
8051本身不包括一個I2C控制器。有許多器件具有8051以及其他片上器件,例如,一個I2C控制器。你的情況如何?如果你的芯片沒有內置的I2C控制器,你必須使用本地8051端口進行bit-bang。嘗試搜索「8051位bang I2C」之類的東西。它會給你多個代碼示例,例如https://www.8051projects.net/wiki/I2C_Implementation_on_8051如果您的芯片包含一個I2C控制器,數據表將告訴您如何使用它。 – 4386427