我一直致力于将24lc512
和pcf8563
连接在一起的代码。在pcf8563
的分解板中,SDA
和SCL
线上有两个1K上拉电阻,因此我计划在eeprom上使用相同的电阻。
我有一个eeprom代码,之前使用4.7K上拉电阻完美工作,所以我使代码适用于1K上拉电阻我做了以下更改。(使用XC8编译器对PIC16f877a
进行编码)
SSPSTAT=0x80
SSPADD=(_XTAL_FREQ/(4*c))-1 //where c is 400,000
但遗憾的是,代码没有按预期工作。有人可以借助我说明我应该在早期代码中带来的所有更改,以便它可以使用1K上拉电阻。
提前致谢:)
答案 0 :(得分:1)
数据表说 R = tr / Cb 哪里 tr是上升时间(最大值指定为1us) Cb是每条总线的容性负载,具有指定的最大值。 400 pF。
1x10 ^ 6 / 400x10 ^ 12 = 2500,因此如果接近最大电容,2.7K将是最佳选择。
1K欧姆听起来有点低,我试着拆焊电阻并使用2.7到4.7k欧姆代替。如果总线保持短路,则只需要一组。
使用示波器检查信号形状。如果走线不好而且方形则需要调整电阻或缩短总线。如果上升时间超过1us,也可能有问题。
使用更低的总线速度会更有意义,电容也不是什么大问题。在大多数情况下,对于压光机和100K甚至更低的小型eeprom足够快。