为什么51单片机IO口在输入时要先置高电平

如题所述

第1个回答  2017-06-25
51单片机的引脚若作输入口,应该先写1,关闭片内下MOS管,避免信号被拉走本回答被网友采纳
第2个回答  2017-06-25
51 单片机的设计者,一时糊涂。。。
第3个回答  2017-06-25
不一定的,得看io口内部电路设置成什么模式

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

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

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

51单片机引脚检测高电平输入的问题
在网上看到这样的一句话 “51单片机的I\/O 口检测高低电平是需要首先让该端口置为1的。此时这个引脚才被设置为输入”,--正确。也就是说如果上面的设计可以做到的话,那么就需要一开始的时候给高电平吗?--必须先给端口置一。--你的电路,是做不到的。--你的电路,按键、不按键,送到引脚...

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

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

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

单片机P1——P3口作为输入口的时候 为什么要先向该口写1呢?
这是因为51单片机的独特IO口设计造成的,四个并行I\/o口在输出低电平时,有一只晶体管导通,这样输出低电平,当再读入时,这个晶体管如果仍然是导通状态,则外部的信号会因为它读入不正确,因此,需要读入前先写一个1(高电平)将这只晶体管截止才能读入正确。具体参照51单片机的I\/O口的原理图。

51单片机中高低电平问题
电阻太小,高电流强制拉高了IO口 单片机IO灌电流能力只有10-20mA 解决办法:加大电阻R1到1k-10k即可 通过PNP三极管放提高IO灌电流能力(50mA直接加在三极管上会导致发热)

51单片机怎么读取P0,P1口的值,是要先给一个高电平才能读取吗?c程序...
为了保险一般需要先给送一个“高”,再读取IO口,这是针对那些没有加上拉电阻的IO口而采取的办法,如果加了上拉电阻,是不用这么麻烦的,可以直接读取IO口的值。uncsigned char dat0,dat1;\/\/P0=0xff;P1=0xff;dat0=P0;dat1=P1;

相似回答