找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2166|回复: 2
打印 上一主题 下一主题
收起左侧

关于STC98C52控制AT24C02存储器的问题

[复制链接]
跳转到指定楼层
楼主
        存储器停止工作程序、、、、、、、
        sda=0;
        delay1();
        scl=1;
        delay1();
        sda=1;
        delay1();  存储器能正常工作。

             scl=1;
        delay1();
        sda=1;
       delay1();
        sda=1;
        delay1(); 存储器无法正常工作。

       存储器开始工作程序、、、、、、、、
              scl=1;
        delay1();
        sda=1;
        delay1();
        sda=0;
        delay1();可以正常工作


        sda=1;
        delay1();
        scl=1;
        delay1();
        sda=0;
        delay1();也可以正常工作
  我想问为啥啊停止程序调换scl和sda的启动顺序,其中一个程序就不能正常工作。但是开始程序调换scl和sda的启动次序两个程序都可以正常工作?

]BM]8CHVMVP{1RJ0((NW6O1.png (18.45 KB, 下载次数: 39)

停止程序时序图

停止程序时序图

H28U9N8[U8AYB{0[45YIL8T.png (18.65 KB, 下载次数: 31)

开始程序时序图

开始程序时序图
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:164602 发表于 2018-11-19 08:20 | 只看该作者
时序说得很清楚。
你在开始工作时,虽然调换了SDA、SCL的顺序,但不违背时序中的关键——双高时间大于4,7us。
在停止工作时序中,你就没能保证一高一低大于4us,你直接双高了——如果你的延时delay1的时间够长的话,也是可以的嘛。
通常我们都是先让双低出现,再按需要,设置一高一低,或双高。如果你先设置了双低,可能也是行得通的。
你试试看。
回复

使用道具 举报

板凳
ID:419921 发表于 2018-11-19 17:17 | 只看该作者
HC6800-ES-V2.0 发表于 2018-11-19 08:20
时序说得很清楚。
你在开始工作时,虽然调换了SDA、SCL的顺序,但不违背时序中的关键——双高时间大于4,7u ...

谢谢 学习了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表