准双向口输入为什么要先写入1?

供稿:hz-xin.com     日期:2025-01-21
单片机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就行。

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

  因为V2是接在Q非上而不是接在Q上.
  当锁存器被写入1时,Q=1,Q'=0,V2截止,因上拉电阻的存在,P1=1,这时如果读引脚,在内部总线得到的是1,如果读锁存器,在内部总线得到的是0。
  当锁存器被写入0时,Q=0,Q'=1,V2饱和导通,P1=0。这时如果读引脚,在内部总线得到的是0,如果读锁存器,在内部总线得到的是1。

双向口和准双向口的区别
真正的双向口不需要任何预操作可直接读入读出。1:准双向一般只能用于数字输入输出,输入时为弱上拉状态(约50K上拉),端口只有两种状态:高或低。2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态。双向端口有三种状态:高、低或高阻。3:初始状态和复位...

单片机P1——P3口作为输入口的时候 为什么要先向该口写1呢?
那你往口里写一个0,口会输出0,这个口就成了低电平了。此时,你读这个IO口,也会是低电平。如果不改写为1,锁存器内就一直是0,也就是输出0 ,程序读这个口上的电平也是0。改写为1后,这个口上的电平才会1,或者说,不会把这个口拉低。作为输入口时,要事先写1,也可以不用每次都写,只要...

单片机:看到别人的这么一句话“IO口设置为1就是输入了,”什么意思_百 ...
这是很多半双向IO的遗留问题,多发生在51系列等年头比较长的单片机上。对于这一类单片机,由于其IO不是完全双向的(即没有专门的寄存器和硬件电路来配置,使得IO的输入和输出功能完全隔离互不影响),所以当把IO用作输入之前,必须要向该IO口写1,这样才能在读数据的时候正确读出该引脚上的逻辑电平。建议...

单片机P0口作为输入,需要先置1吗?
P0作输入时不需要上拉电阻,但要先置1。因为P0口作一般I\/O口时上拉场效应管一直截止,所以如果不置1,下拉场效应管会导通,永远只能读到0。因此在输入前置1,使下拉场效应管截止,端口会处于高阻浮空状态,才可以正确读入数据。至于输出时,输出0是正常的,输出1时由于端口处于浮空状态不能正确输出1...

什么是准双向口,双向口
双向口与准双向口的区别为双向口有高阻态,输入为真正的外部信号,准双向口内部有上拉,故高电平为内部给出不是真正的外部信号!软件做处理时都要先向口写“1”!双向与准双向相关延伸:双向与准双向,根本原则是双向包含了高阻这个状态,而不在于是否需要先写1或者不写,P1~P3口因为有内部上拉电阻...

89C51单片机的P0~P3端口进行输入时为什么要设置为1?
要对其置1,否则若前一位为低电平,后一位输入的电平为高则MOS管拉不起来 导致出错。而双向口则不需要做此动作,因为双向口有悬浮态。准双向口只能有效的读取0,而对1则是采用读取非零的方式,就是读入的时候要先向接口上写1,然后再读。真正的双向口正如其名,就是真正的双向io不需要任何预操作可...

什么是单片机双向口和准双向口
准双向口I\/O口操作时做数据输入时需要对其置1。而双向口则不需要做此动作,因为双向口有悬浮态。51单片机是对兼容英特尔8051指令系统的单片机的统称。51单片机广泛应用于家用电器、汽车、工业测控、通信设备中。因为51单片机的指令系统、内部结构相对简单,所以国内许多高校用其进行单片机入门教学。区别 同样...

单片机的p0,p1,p2,p3端口有什么作用?
P3口同样是I\/O口,但无论是输入还是输出,都需要先置1。它具有很多复用功能,灵活性较高。特别地,P1、P2和P3口作为准双向I\/O,若作为输入时,需要先写入1以确保输入信号正确传递,避免被直接拉低。而P0口因为其输出具有三态功能,作为输入时无需额外操作,可以直接读取。了解这些端口的特性,能帮助...

典型51单片机的P0,P1,P2,P3口都有哪些功能?
1. P0口:该口为双向I\/O口,具备输出锁存和输入缓冲功能。在使用前,输入需先置1。输出为漏极开路型,使用时需接入上拉电阻。该口输入状态为高阻态,能够驱动8个TTL负载。当连接外部存储器时,用作数据线。2. P1口:这是一个简单的I\/O口,输入前同样需要置1,且无高阻态。P1口可作为输出或...

准双向IO和双向IO口有什么差别?
2. 输入操作:- 双向I\/O口:在进行输入操作时,无需额外的准备动作,可以直接读取输入信号。- 准双向I\/O口:输入操作前需要一个写入1的准备动作,以确保数据稳定后才能进行读取。3. 应用场景:- 双向I\/O口:灵活性较高,适用于数字和模拟信号的输入输出。- 准双向I\/O口:主要适用于数字信号的...