51单片机的准双向I/O口在使用前必须进行写1操作,但上电时,单片机默认为高电平,即还需要进行写1操作不?

如题所述

51单片机的准双向I/O口在使用前必须进行写1操作,
--只是在《读》IO口之前,需要写1。

但上电时,单片机默认为高电平,即还需要进行写1操作不?
--不用了。

只是当做输入接口来用,才有写 1 这个说法。
写过一次 1 (或复位后自动置 1),就可以正确输入数据了。

但是,如果写了 0,那么,接着输入的数据,将有可能是不准确的。
所以,应该强调的是:《千万不要写 0。》!!!

写 1,完全没有必要这么重视。
因为开机时,自动就写了1。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-18
这是一个古老的问题,对于现在的单片机,其实不存在这个问题,但是讲解一下还是好的.
这个要从微电子角度回答:这里,我以P2为例子,其他口一样
单片机的P2口是双向口,就是可以输入,输出,不需要先进行设置,而其他单片机则不然,比如AVR单片机,你想要输出数据,你先要把引脚设置成输出状态,再决定向输出寄存器写0还是1,从而达到输出低电平或者高电平,你想要读入数据,先要把引脚设置成输入状态,再让CPU读输入寄存器.
51单片机是双向口,所以只有一个P2寄存器,不存在P2的输出寄存器或者P2的输入寄存器,只有一个P2.
那么,单片机复位的时候,P2的引脚是高电平,那么P2的寄存器是什么呢?一定是0xFF吗?
不一定,这里涉及两个概念,P2寄存器,P2引脚,所以,先要执行 P2 = 0xFF,这是把P2的寄存器设置成0xFF这时候,同时也是保证了P2寄存器与P2引脚的可靠联通,这样,再读取P2引脚的时候,P2寄存器就能保证与P2引脚一致了.

如果没有这句,有可能P2的引脚虽然是高电平,但是没有与P2寄存器可靠联通,从而误判断,明明P2引脚全是高电平,P2的寄存器却有一个低电平在里面......
当然,随着后续工艺的改进,这个问题在现在的51单片机上几乎不存在了本回答被提问者采纳
第2个回答  2013-01-18
51单片机的准双向I/O口在使用前并不一定要进行写1操作,从来没见过有这方面的硬性规定。根据应用的实际需要,写0也是完全可以的。但上电复位时,单片机确实将IO置1。
第3个回答  2013-01-18
不用了的啊

51单片机的准双向I\/O口在使用前必须进行写1操作,但上电时,单片机默认为...
51单片机的准双向I\/O口在使用前必须进行写1操作,--只是在《读》IO口之前,需要写1。但上电时,单片机默认为高电平,即还需要进行写1操作不?--不用了。只是当做输入接口来用,才有写 1 这个说法。写过一次 1 (或复位后自动置 1),就可以正确输入数据了。但是,如果写了 0,那么,接着...

51单片机双向口和准双向口有什么区别
双向口与准双向口的区别主要是:准双向口I\/O口操作时做数据输入时需要对其置1,否则若前一位为低电平,后一位输入的电平为高则MOS管拉不起来导致出错。而双向口则不需要做此动作,因为双向口有悬浮态。准双向口就是做输入用的时候要有向锁存器写1的这个准备动作,所以叫准双向口。真正的双向口不需...

为什么说8051单片机的IO口是准双向口?
8051单片机的IO口既可以做输入,也可以做输出。因此是双向口 但作输入时有条件的,即事先使它输出高电平, 即写 1。因此称为准双向口。一个IO口输出0时读入的只能是0,输出1,既可以读得1,也可以读得0(因外电路可以将弱高电平拉低)。

51单片机为准双向口,读入前先写1,为什么有
因为51准双向口的结构是对地有一个mos管,对Vcc有一个上拉电阻,如果写0mos管导通这样IO口就被拉到低电平了,无论外接电路如何读都是0,如果先写1那么对地mos管截止,IO口被上拉电阻拉到高电平了,这时有低电平输入也会被拉低,希望对你有帮助 ...

急。。单片机读引脚时,为什么要向I\/O口写1
51单片机的P1 P2 P3 口为准双向口,输出高电平是由内部开关管与地断开,上拉到高电平,如果内部的开关管与地是通的,那么输出的是低电平“0”,这样你怎么读端口都会一直是低电平,所以要先写个“1”,就是让它输出高电平,这样内部开关管就与地断开了,读到的电平就是外部的电平了。简单言之,...

为什么C51准双向IO口做输入时需要写1?不写1不行么?写1是指例如:P1=1...
不写一不行,时输入就得写一,这是他的硬件电路决定的,P0口还要加上上电阻。51单片机准双向IO口有四组,每组有0到7个口,也是Px^0-Px^7。那么例如你说的要取P1一组的话就要先写P1=0xff;,只要对P0^0一个口取数据的话就写P0^0=1;

1.为什么把51单片机的I\/O口称为“准双向”口
不能同时进行。2. 为了实现输入输出功能,51单片机的I\/O口需要通过软件设置来切换工作模式。3. 尽管51单片机的I\/O口可以通过编程模拟双向口的功能,但其本质上是单向的,因而在硬件实现上与真正的双向口有所差异。4. 因此,51单片机的I\/O口常被称为“准双向”口,以区别于硬件上真正的双向口。

mcs-51单片机中,什么是准双向I\/O口?请解释一下
1. 在MCS-51单片机中,准双向I\/O口是指P1、P2、P3端口具有内置的上拉电阻。2. 当这些端口作为输入口使用时,需要先将对应的锁存器初始化为1,以关闭输出驱动器。3. 这种操作类似于历史早期的半双式通信方式,因此被称为“准双向I\/O口”。

单片机I\/O口又称准双向口“准”是什么意思??
如图片所示,单片机即使输出高电平,三极管导通,IO口被钳位到0.7V,单片机读出的为低电平,可是我刚才让单片机输出的为高电平,读写的不一样。准双向这么诞生了。

MCS-51单片机中什么叫准双向口
正常的双向口通过方向寄存器设置后要作输出可以直接向数据寄存器写,做输入可以直接读。而51的结构造成他不能正样用,输出直接用就可以了,输入必须先写全1然后再读。你从这张图片就可以看出来当内部输出0的时候,由于场效应管导通,无论外面是高电平还是低电平读入的数据都只能是低电平。只有当输出是高...

相似回答