准双向口和双向口的区别


转自:http://chenlxlcm.blog.163.com/blog/static/257510212010914105037477/
1:准双向一般只能用于数字输入输出,输入时为弱上拉状态(约50K上拉),端口只有两种状态:高或低
2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态。双向端口有三种状态:高、低或高阻。
3:初始状态和复位状态下准双向口为1,双向口为高阻状态.有带些比较器的单片机,比较器的输入端只能做在双向口,不能做在准双向口.所以软件设计的第一步就是对 I/O 口的设置.

标准51内核单片机的IO口,P0口则为双向三态输入输出口,P1\P2\P3是准双向IO口,没有方向控制,做输入时需要先往端口数据寄存器写1才行(也可看作此时为输出,端口输出高电平)。
博主:感觉看了还是很清楚的。

转自:http://bbs.ednchina.com/BLOG_ARTICLE_204660.HTM

 在最初的51系列单片机中

P0口:双向8位三态I/O口

P1口:准双向8位I/O口

P2口:准双向8位I/O口

P3口:准双向8位I/O口

这里特别要主要准双向与双向三态I/O的区别:

P1口,P2口,P3口是3个8位准双向的I/O口,各口线在片内均有固定的上拉电阻,当这三个准双向I/O口作输入口使用时,要想该口先写1,另外准双向I/O口无高阻的“浮空”状态。

而双向口P0口线内无固定上拉电阻,由两个MOS管串接,既可开漏输出(开漏输出,本博客有解释)有可处于高阻的“浮空”状态,故称为双向三态I/O口。

"准"就是"基本上"的意思.
    P0口是双向指的是它被用作地址/数据端口时,只有在这个时候,P0口才处于两个开关管推挽状态,当两个开关管都关闭时,才会出现高阻状态.
当P0口用于一般I/O口时,内部接Vcc的那个开关管是与引脚(端口)脱离联系的,这个时候,只有拉地的那个开关管其作用,P0口作为输出,是必须外接上拉电阻的,不然就无法输出高电平;如果P0口作为输入,则必须先对端口写1,使拉地的开关管断开,这个时候,如果不接上拉电阻,则是高阻状态,就是一个双向口,如果接上拉电阻,则本身输出高电平,对输入信号的逻辑无影响(注意是对逻辑无影响,对实际参数有无影响我不确定,但是我认为是有的).
双向与准双向,根本原则是双向包含了高阻这个状态,而不在于是否需要先写1或者不写,P1~P3口因为有内部上拉电阻,因此无论如何不是双向;P0口内部无上拉电阻,在处于数据/地址功能时,自动完成3态的转换,是双向,处于一般I/O口时,如果不接外部上拉,而且先向端口写了1,那么就处于高阻状态,此时,它也是一个人为的双向口,这与它处于地址/数据功能时的自动双向有区别,以及与P1~P3处于输入时输出锁存器为1是有区别的。

博主:这个写的也不错。。。。。。


 简单说:
(1) P0口无固定上拉电阻。P1,P2,P3有。
(2) 就是P0口作为输入输出口时,为了能让内部1能正确输出,要接上拉电阻(如果不接的话,内部D=1的时候,Q非=0,V1被截止,V1,V2都处于截止状态,不能正确反映1,所以需要上拉电阻。),在读取输入的时候,因为此时P0口是作为一个准双向口,所以得先向外写1,不然的话,如果锁存器曾经锁存过0,则V1被导通,PO.x被钳制在低电平,不能正确反映输入。
(3)P0口作为地址/数据口的时候,由于访问外部存储器期间,CPU会自动向PO口的锁存器写入0FFH,对用户而言,PO口此时才是真正的三态双向口。
      

<think>好的,我现在要处理用户关于“准双向口模式”的查询。首先,我需要明确用户的需求是什么。他们可能是在学习单片机或嵌入式系统,特别是在涉及I/O端口配置时遇到了这个概念。用户希望了解准双向口的基本原理、特点以及应用场景,可能需要这些信息来完成项目或解决实际问题。 接下来,我得回忆一下准双向口的相关知识。准双向口常见于8051等微控制器中,与标准双向口不同,它的结构工作模式有其特殊性。需要解释准双向口的内部结构,比如弱上拉电、强下拉MOS管,以及输入输出时的状态变化。同时,要比较准双向口与推挽输出、开漏输出等其他模式的区别,这样用户能更好地理解其优缺点。 然后,我需要考虑如何组织信息。用户可能需要结构清晰的回答,分点说明。首先定义准双向口,然后工作原理,接着特点,应用场景,注意事项,最后与其他模式的对比。这样逐步深入,帮助用户逐步建立理解。 在解释工作原理时,要分输入输出两种模式详细说明。比如,输出电平时内部上拉电起作用,而输出低电平时强下拉MOS导通。输入端口需要先写,此时上拉电使引脚处于电平,同时可以读取外部信号的变化。这部分可能需要用简单的示意图或例子来辅助说明,但根据系统指令,不能使用图片,所以需要用文字描述清楚。 特点方面,要强调驱动能力的不对称性,输入前需先置,以及抗干扰能力较弱等。应用场景可以列举按键输入、LED控制等常见例子,说明为什么在这些情况下准双向口更合适。注意事项则要提醒用户配置顺序驱动能力不足时的解决方案,比如外接上拉电或使用推挽模式。 对比其他I/O模式时,要简明扼要,突出准双向口的独特之处。比如与推挽输出相比,准双向口的驱动能力较弱,但结构简单;与开漏输出相比,它自带弱上拉,节省外部元件。这些对比能帮助用户在实际应用中做出正确选择。 最后,需要确保使用正确的LaTeX格式,所有行内数学表达式公式用$或$$包裹,并且语法正确。例如,在提到电压时可能需要用$V_{OH}$$V_{OL}$,但根据用户的问题,可能涉及较少数学表达式,但若有提及相关参数,需正确应用格式。 检查是否有遗漏点,比如准双向口在读取外部信号时的时序要求,或者具体的微控制器型号中的实现差异。可能需要提到不同厂商的MCU可能有细微差别,建议查阅具体数据手册,以保持回答的确性。 总结起来,整个思考过程需要从用户需求出发,逐步拆解知识点,用清晰的结构易懂的语言解释准双向口模式,同时注意技术细节的确性实用性,确保用户能够理解并应用这些信息解决实际问题。</think>### 准双向口模式详解 #### 1. **基本定义** 准双向口(Quasi-bidirectional Port)是微控制器(如8051系列)中I/O端口的一种常见工作模式。它**介于真正双向口单向口之间**,通过内部电路设计实现“类双向”功能,但在驱动能力信号方向上有特殊限制。 --- #### 2. **工作原理** 准双向口的内部结构通常包含: - **弱上拉电**(约20-50kΩ) - **强下拉MOS管** **两种工作状态:** - **输出模式**: - **输出电平**:弱上拉电激活,引脚电压接近$V_{CC}$,但驱动能力弱。 - **输出低电平**:强下拉MOS导通,引脚被拉低至$V_{SS}$,驱动能力强。 - **输入模式**: - 需先向端口写入“1”,激活弱上拉电,使引脚默认处于电平。 - 外部信号可通过拉低电平改变引脚状态(例如按键接地)。 --- #### 3. **核心特点** 1. **非对称驱动能力**: - 低电平驱动能力 > 电平驱动能力 - 电平时电流输出能力弱(例如仅0.1mA) - 低电平时可吸收较大电流(例如1-20mA) 2. **输入前需先置**: - 读取外部信号前必须配置为输出“1”,否则可能损坏电路。 3. **抗干扰较弱**: - 电平时易受外部干扰影响,需配合软件消抖。 --- #### 4. **典型应用场景** - **按键检测**:利用弱上拉实现默认电平,按键按下时拉低。 - **LED控制**:低电平驱动LED(强下拉能力适合直接驱动)。 - **低速通信**:如I²C总线(需外加上拉电增强驱动)。 --- #### 5. **注意事项** - **配置顺序**: ```c P1 = 0xFF; // 先置 while(1) { if (P1_0 == 0) { ... } // 再读取 } ``` - **驱动能力不足时**: - 电平驱动弱:可外接上拉电(例如4.7kΩ)。 - 需要对称驱动时:改用推挽输出模式。 --- #### 6. **与其他I/O模式对比** | 模式 | 驱动能力 | 是否需要外接电 | 典型应用 | |---------------|------------------|------------------|--------------------| | 准双向口 | 低电平强、电平弱 | 否(内部弱上拉) | 按键、LED | | 推挽输出 | 对称强驱动 | 否 | 速信号、电机控制 | | 开漏输出 | 仅能拉低 | 是(需外接上拉) | I²C、多设备总线 | --- #### 7. **总结** 准双向口通过**低成本设计**实现了基本双向功能,但需注意其非对称特性抗干扰能力限制。在资源受限的低速场景(如家电控制)中表现优异,而在速或可靠性场景中建议选用推挽/开漏模式。实际应用中需结合数据手册确认具体电气参数。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值