51单片机在读取数据前为什么要置高?

如题所述

电路中存在的一个普遍的现象:高电平很容易被低电平拉低,而低电平一般不可能被高电平拉高。所以在读数据之前将单片机IO口拉高才不会影响原来数据线上的数据!
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-09
这是由于51单片机本身IO口的硬件配置导致的缺陷,如果不置高,可能导致读取的数据始终为低电平。

参考资料:http://www.go-gddq.com/html/51DanPianJi/2011-12/854045.htm

第2个回答  2012-04-09
单片机在一个时间点只能干一件事情,你置高就相当于在这个时间点把单片机拿来做读的功能了。

51单片机在读取数据前为什么要置高?
电路中存在的一个普遍的现象:高电平很容易被低电平拉低,而低电平一般不可能被高电平拉高。所以在读数据之前将单片机IO口拉高才不会影响原来数据线上的数据!

51单片机读取引脚的数据时,要先将IO口输出设置为高电平。为什么?
是的, 51单片机作输入时就直接让他输出高电平,看看外设有没有将其拉低。这是因为51的高电平输出电流很小,随便一个低电平就能将其拉低的缘故,但低电平不能被拉高。

单片机..为什么IO口输入的时候要置成高电平后才能读取正确..?
这个跟单片机的端口有关,比如说P0口,P0口当IO口时,CUP发出控制信号,使控制=0,这样Q非就和T2连起来了,当P0口中内容为0时,Q非为1,T2导通,这时P0口是接地的,这时输入高电平时会被拉低,导致误读,读出为0,这显然不对的,所以一般输出1让T2截止,这样相当于让P0口变成高阻状态。其他端口...

51单片机4个I\/O口初始化时,分别作为输入输出,置电平高低问题,还有引脚...
可以这么考虑!51单片机的I\/O端口可不象PIC的那样要你人为的去定义输出或输入,可在使用它前你要注意以下情况:如做输出口时你可直接使用,不过我建议你最好在设计硬件时就把外线路中的相关端口控制设计为低有效,高关断,因它在上电复位后的第一状态它们都是高电平,这样你可少很多操作。你在用它做...

51单片机读引脚与读锁存器的问题
51单片机的P1读的是引脚上的电平 即使你把io口置位 也可能被外部电路拉低 所以有没有外设读到的电平可能会不一样 因为51单片机io口没有三态 所以读io口时要先将io口置位

51单片机IO读高电平
因为单片机的I\/O口在读信号时只能读低电平(你看看书上介绍IO口的部分就会明白,他们是集电极开路方式)所以当把某个IO设为低电平时,内部三极管导通相当于直接把外部信号接地了,所以出现你的这个现象,要是外部信号是高电平的话应该加个反向器使起要动作时发低电平,而IO应该设为高电平读取,另外把IO...

单片机中,数据线置为高电平和拉高电平有什么不同?
在ds18b20初始化时序部分,第一步是置高电平,第五步是拉到高电平,两者没有什么不同,都是控制器的主动行为。第一步置高电平,这是为了使数据线处于已知状态,然后输出低电平,是通知10B20这是一个复位信号,到达指定时长第五步是拉到高电平,为了等待18B20应答。

51单片机的P0,P1,P2,P3,P4口各是什么意思?
一、P0口:这是一个真正的双向I\/O口,具备输出锁存和输入缓冲功能。在使用前,需要先将输入端置为高电平。该口输出为漏极开路形式,因此输出时需要连接上拉电阻。在输入模式下,呈高阻状态,能够驱动8个TTL负载。当片外存储器被使用时,P0口作为数据总线。二、P1口:这是一个较为简单的I\/O口,...

在51单片机,判断引脚上的状态,使用位寻址指令,为什么不需要输出一个高...
因为单片机上电初始化各I\/O状态都是输出高电平,因此P3.0可以省略输出高电平那一步。这个程序里判断P3.0如果为低电平(键按下),则P1.0输同低电平,灯亮。

51单片机的题目
第一条指令上面已说作用。第二条指令判断P3.0状态,当K打开时,第二条指令判断得P3.0为1,转到L1执行。L1处是让P1.0置1,输出高,由于灯正极接了高电平,因此灯的负极(已经接到P1.0)此时也为1(P1.0=1),因此,灯不能被点亮。若开关闭合,P3.0通过开关接到地,此时L2处判断P3.0...

相似回答
大家正在搜