找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2714|回复: 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这个波形一直低电平。有没有大神遇到过这个情况?

回复

使用道具 举报

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循环内?
回复

使用道具 举报

ID:204609 发表于 2017-9-6 10:18 | 显示全部楼层
C中实现不了带进位循环移动  需要嵌入汇编
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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