单片机IO口电平转换问题求助

用89C52单片机与MMA7455传感器通过I2C通讯,52单片机的IO口电压为5V,而mma7455IO口的最大输入电压限制为3.3V,所以需要电压转换,I2C中的SDA为双向数据传输,如果仅在单片机的IO口上加一个5V转3.3V的芯片再接到7455的SDA端上,这样可行吗?具体应该怎么做呢?谢谢了

这样不行,SDA是双向,MMA7455给单片机响应信号是在SDA线上输出低(单片机悬空,SDA接上拉电阻),单片机检测到低后输出数据,你这样是单向的,单片机检测不到MMA7455拉低SDA的过程,无法通信的。
可以用电阻分压的方式,就是在单片机与MMA7455之间接4K电阻,在SDA靠MMA7455侧接10K电阻到地,这样单片机到MMA7455的电平接近3.3V,而MMA7455到单片机的几乎不受影响。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-29
直接电阻分压
相似回答