单片机P1——P3口作为输入口的时候 为什么要先向该口写1呢?

供稿:hz-xin.com     日期:2025-01-15
单片机P1——P3口作为输入口的时候 为什么要先向该口写1呢?

P1口可输入可输出。
P1口作为输入口, 怎么作为?
哪条指令让它作为输入口,怎么样才能让它作为输入口,光靠我们想像行吗?
有的单片机,会有个寄存器,设置IO口是输入还是输出,但这个没有。
那这个怎么让它成为输入或者输出呢。
每个口上都有一个锁存器,锁住之前写的值。
比如,口上只是接一个上拉电阻,这个口作为输入应该是高电平吧。
那你往口里写一个0,口会输出0,这个口就成了低电平了。
此时,你读这个IO口,也会是低电平。
如果不改写为1,锁存器内就一直是0,也就是输出0 ,程序读这个口上的电平也是0。
改写为1后,这个口上的电平才会1,或者说,不会把这个口拉低。
作为输入口时,要事先写1,也可以不用每次都写,只要里面不是0就成。
那个扫描键盘的,赋值,0xfe就相当于,把P1口的高7位都写了1,最低位写0,
也就是P10输出0,然后读高4位,看有没有按键。接下来,0xfd是P11输出0,也是读高4位,看P11那一排的有没有按键。
这都写了1的,不是P17=1才叫写1,P1=0xfe 整体赋值也是写1。往你想读的口写1就行。

书上都有的啊……
P1~P3在进行读操作之前必须写1,这样才能关断输出驱动的FET管。于是对外管脚只有一个弱上拉作用,管脚上的高低电平才能被正确读到。
否则,FET管导通的状况下,不论外部信号是高电平还是低电平,都会被导通的FET管拉低的。

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

是由它们的引脚结构决定的。因为你要读外部电路的电平,要先把引脚和地断开,当你写1后,引脚就和地断开,这样读到的就是真实的电平了。不然的话,如果一开始引脚和地连接的话,无论外部电路是高电平还是低电平,引脚都会把它拉低,这样你读到的总是0.

单片机P1—P3口作为输入口的时候,为什么要先向该口写1呢?
具体来说,P0~P3作为输入口时,如果没有预先写入1,那么引脚上的信号可能会因为内部电路的影响而无法被正确读取。写入1的作用是确保引脚处于稳定的低电平状态,这样单片机在读取输入信号时,就能得到一个清晰明确的电平状态,避免因为引脚内部的电容效应或者其他因素导致的信号干扰。此外,这种设计还有助于防...

单片机P1——P3口作为输入口的时候 为什么要先向该口写1呢?
作为输入口时,要事先写1,也可以不用每次都写,只要里面不是0就成。那个扫描键盘的,赋值,0xfe就相当于,把P1口的高7位都写了1,最低位写0,也就是P10输出0,然后读高4位,看有没有按键。接下来,0xfd是P11输出0,也是读高4位,看P11那一排的有没有按键。这都写了1的,不是P17=1才叫...

单片机P1—P3口作为输入口的时候,为什么要先向该口写1呢?
什么叫准双向,就是说P0~P3输出没问题,输入就不然了。就象我们常见的门,朝外开,没有拉锁,用一节弹簧拉着。出去是一顶门就开了,进来的时候,无论如何要伸手拉一下门。这个拉门的动作就是向Px口先写1。目的是使场效应管被钳位在低电平的漏极与源极截断。使输入的电平信号能正确的被单片机读...

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

p口作为输入为什么先进行写1操作
P1——P3口在作为输入使用前, 要先向该口进行写1的操作, 然后单片机内部这是由于P1~P3口的结构决定的。单片机执行读引脚操作时,如果锁存器原来寄存

请高手帮忙解答,简述51单片机P1,P3的主要功能和性能特点
P1口:P1口是一个8位的准双向口,每个引脚都可以独立设置为输入或输出。当配置为输入时,写入锁存器的1会将Q(非)置为0,T2截止,内部上拉电阻将引脚电位拉至高电平,此时引脚输出为1。写入0时,Q(非)置为1,T2导通,输出为0。作为输入口时,锁存器置1,Q(非)为0,T2截止,引脚可以外部电路...

我是单片机新手,p0-p3口为输入口是 是不是要先写入1那?那要是用c语言...
端口作为输入口是,最好将端口初始化一下下 如 P0=0xff.

MCS51单片机的并行I\\O端口(P0-P3),如果要作为输入口使用,应如何操作...
P1端口同样具备I\/O功能,同时它还可以用作高8位地址总线,辅助进行外部存储器扩展。至于P2端口,它主要用作高8位地址总线,支持外部存储器和扩展设备的地址寻址。如果要将P0-P3端口作为输入口使用,需要进行相应的配置。首先,需要将这些端口配置为输入模式。在MCS51单片机中,可以通过设置端口的相应寄存器...

单片机的p0,p1,p2,p3端口有什么作用?
P1口是最基础的I\/O口,输入和输出前同样需要置1,但不具备高阻态,主要用于输出或输入,能驱动4个TTL负载。P2口同样作为I\/O口,功能与P1类似。当有片外存储器时,它可以用作地址线,寻址64K片外数据存储器。同样能驱动4个TTL负载,但需注意其输入输出操作前的置1步骤。P3口同样是I\/O口,但无...

单片机的P0 P1 P2 P3各口分别是什么作用?
二、P1口:最简单的口,输入也要先置1,无高阻态,只能是输出或者输入。能驱动4个TTL负载。三、P2口:I/O(输入/输出)与P1口一样,当有片外存储器时,作地址线使用,寻址64K片外数据储器。能驱动4个TTL负载。四、P3口:I/O(输入/输出)与P1口一样,但无论输入输出都要先置1。具有...