i2c 总线

来源:百度知道 编辑:UC知道 时间:2024/05/12 05:44:20
i2c 总线中说主器件产生串行时钟(scl),这个串行时钟(scl)是不是就是时钟信号,现在要做一个电子时钟并且利用i2c,i2c两端连接的是单片机和时钟器件,这时候是单片机作为主器件,而且必须是主器件产生那个串行时钟(scl),那么时钟器件有什么用呢。不是时钟器件产生时钟信号给单片机,单片机再给译码器并驱动显示器显示出来的么

SCL是单片机给时钟器件的信号,时钟器件和单片机通信时要根据SCL上的高低电平,从而在SDA上传输数据或命令,从时钟器件传回的数据(这个数据就是你做电子钟所需要的信息了)要你去解读它的意思。
SCL的时钟信号是你根据时序图自己写的,是两机通信必须的,跟你那个电子钟的时钟是两码事。

SCL 是由程序来控制高低信号的,
不是由晶振控制,

如下面代码:
void I2C_Write(unsigned char dat)
{
unsigned char t = 8;
do
{
I2C_SDA = (bit)(dat & 0x80);
dat <<= 1;
I2C_SCL = 1; I2C_Delay();
I2C_SCL = 0; I2C_Delay();
} while ( --t != 0 );
}