51单片机的简单IO读取操作

2020-02-05 09:26发布

你好:下面是我的部分程序:


sbit  SCL=P3^5;
sbit  SDA=P3^4;

SDA=0;
while(1)
{
          if(SDA)
        UartPutChar(i);
//        main1();
         i++;
}
P34口外接2K的上拉电阻
读取SDA一直是地电平,用万用表量也是地电平,只用用镊子将P34和电源短一下读出来的才是高,
是怎么回事
我的编译器是KEIL4
单片机的STC的89C52
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
ourdev850725
1楼-- · 2020-02-05 13:57
你上面都把SDA=0;还怎么可能读出高电平出来
vemfor6
2楼-- · 2020-02-05 16:53
 精彩回答 2  元偷偷看……
raxb
3楼-- · 2020-02-05 17:13
做输入时要先写1
szxszx
4楼-- · 2020-02-05 19:20
准双向口
answer_is_42
5楼-- · 2020-02-06 00:25
要不是你的大学老师没好好教,要不就是你没好好学。51单片机使用最基本的注意事项。
w1000
6楼-- · 2020-02-06 01:32
while(1)
{
           if(SDA)
         UartPutChar(i);
//        main1();
          i++;                  
}
//这个i你是要作为SDA高电平次数的计数用吧。如果是这样写也错了。
//UartPutChar(i++);去掉后面的i++

一周热门 更多>