我访问了一些链接并查找了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