找回密码
 立即注册

QQ登录

只需一步,快速开始

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

IIC模拟时序 用CY给单片机一个端口赋值该端口一直低电平

[复制链接]
跳转到指定楼层
楼主
ID:228572 发表于 2017-9-1 12:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机使用C8051F340,P0口设置为输出漏极开路(SDA,SCL上接上拉电阻到3.3V)
引脚定义如下:
sbit SDA = P0^6;                                                          //SDA ON P0.6
sbit SCL = P0^7;                                                          //SCL ON P0.7



主程序如下:

   temp=0xa0;
        while(1)                                                                //
        {  
       
           temp<<=1;               
                        SDA=CY;       
                NOP4();       
                SCL=1;                               
                                NOP4();
                SCL=0;                                                                  
        //}
测量时SCL这个波形正常,但SDA这个波形一直低电平。有没有大神遇到过这个情况?

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

使用道具 举报

沙发
ID:162622 发表于 2017-9-1 15:17 | 只看该作者
你保证测到了前四个周期???后面全为0了,当然SDA就只有为低了。用取反测试一下,也也确认硬件没问题!
回复

使用道具 举报

板凳
ID:228572 发表于 2017-9-2 08:47 | 只看该作者
我也喜欢 发表于 2017-9-1 15:17
你保证测到了前四个周期???后面全为0了,当然SDA就只有为低了。用取反测试一下,也也确认硬件没问题![e ...

硬件可以确认没有问题。因这个语句我是放在While中,因是不断循环,虽然后面4位是0,但一定会有高电平出现的。
回复

使用道具 举报

地板
ID:162622 发表于 2017-9-3 19:20 | 只看该作者
你的TEMP数值在后面还有值吗?把temp赋值放在while循环内?
回复

使用道具 举报

5#
ID:204609 发表于 2017-9-6 10:18 | 只看该作者
C中实现不了带进位循环移动  需要嵌入汇编
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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