单片机中P0口作为输出为什么要上拉电阻?

作者&投稿:储彼 (若有异议请与网页底部的电邮联系)
51单片机P0口为什么要接上拉电阻?~

P0口和其它三个口的内部电路是不同的,如下图

P0口是接在两个三极管D0和D1之间的,而P1-P3口的上部是接一个电阻的。P0口的上面那个三极管D0是在进扩展存储器或扩展总线时使用MOVX指令时才会控制它的导通和截止,在不用此指令时都是截止的。在平常我们使用如:P0_1=0 P0_1=1这些语句时控制的都是下面那个三极管D1。我们先假设P1口接一个74HC373,来看一看它的等效图
当AT89S51的P1口上接了74HC373后就等于接了一个负载,如上图右边。一般来说这些数字电路的输入阻抗都很大,都在几百K到上兆欧姆,而P1口内的电阻R一般在几十K以内。

如上图,当我们发出指令P1=0时,三极管D导通,见中间的等效图,这时P1点的电位为0。当发出P1=1的指令后,三极管D截止,见右边等效图,因为Rx的阻值要比R的阻值大得多,因此P1点的电位是接近电源电压的。即高电平。
我们再来看看P0口接负载时的图

当P0=0时,等效图是中间的,三极管D1导通,P0点的电位为0。而当P0=1时,等效图是右边的,三极管D1截止,而上面的三极管D0始终是截止的,这样P0点就等效于悬空了,它处在不稳定状态,P0点又是RX的高阻抗输入点,很容易受到外界和周围电路的干扰从而直接影响到74HC373的输出状态。因此就得加上个电阻。如下图


加上电阻Rc后,电路的状态就和P1口一样了,这个电阻Rc就是上拉电阻。
但你如果只是为了让P0口驱动个发光管,那电路可以直接简化成下图那样。S51内部的电流最好不超过15mA,如果发光管的电压为2.2V那电阻就是(5-2.2)÷15=0.18K,也就是180欧姆。

当P0=0时P0点为低电位,发光管亮起,流过D1的电流约为15mA。当P0=1时,P0点为悬空,但发光管和180欧电阻都是低阻抗元件,P点电位就为高电位,再说也无任何输出影响,因此这样电路是可以的。
51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。

从零学51单片机2-什么是上拉电阻?P0口为什么要加上拉电阻?非常详细深入的讲解,不容错过。

上拉电阻就是从电源高电平引出的电阻接到输出。P0口作为IO口输出的时候时输出低电平为0输出高电平为高组态(并非5V,相当于悬空状态)。也就是说PO口不能真正的输出高电平,给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。

由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。

扩展资料:

如果电平用OC(集电极开路,TTL)或OD(漏极开路,CMOS)输出,那么不用上拉电阻是不能工作的, 这个很容易理解,管子没有电源就不能输出高电平了。 

如果输出电流比较大,输出的电平就会降低(这是电路中已经有了一个上拉电阻的情况下,但是电阻太大,压降太高),就可以用上拉电阻提供电流分量, 把电平“拉高”。其实这些都是按需要,工作在线性范围的上拉电阻不能太小,当然也会用这个方式来实现门电路电平的匹配。

参考资料:百度百科-上拉电阻



上拉电阻:就是从电源高电平引出的电阻接到输出
1,如果电平用OC(集电极开路,TTL)或OD(漏极开路,COMS)输出,那么不用上拉电阻是不能工作的, 这个很容易理解,管子没有电源就不能输出高电平了。
2,如果输出电流比较大,输出的电平就会降低(电路中已经有了一个上拉电阻,但是电阻太大,压降太高),就可以用上拉电阻提供电流分量, 把电平“拉高”。(就是并一个电阻在IC内部的上拉电阻上, 让它的压降小一点)。当然管子按需要该工作在线性范围的上拉电阻不能太小。当然也会用这个方式来实现门电路电平的匹配。
需要注意的是,上拉电阻太大会引起输出电平的延迟。(RC延时)
一般CMOS门电路输出不能给它悬空,都是接上拉电阻设定成高电平。

下拉电阻:和上拉电阻的原理差不多, 只是拉到GND去而已。 那样电平就会被拉低。 下拉电阻一般用于设定低电平或者是阻抗匹配(抗回波干扰)。

P0口:是一组8位漏极开路双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位驱动8个TTL逻辑门电路,对端口写“I”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。


单片机程序是从哪输入的?
S52单片机P1.5(MOSI)、P1.6(MISO).P17(SCK).九脚RST,再接一个GND就可以用下载程序了

单片机外扩存储的问题,麻烦各位帮帮忙
在I\/0口的设置上,单片机的P0口作为数据口.P0.0~P0.7分别与微型打印机的DB0~DB7相连。P1.0~P1.5作为外部中断源扩展口。P2.0~P2.2分别与红、绿、黄灯相连,作为停车场状态信号指示灯。 自动停车收费管理系统要处理的中断比较多(包括汽车出入停车场中断、驶入驶出停车位中断等),而且要求响应速度很快,所以采用...

STC89C52参数
片上集成了512字节的RAM,方便数据存储和处理。通用I\/O口共有32个,P0、P1、P2和P3初始化为准双向口\/弱上拉模式,P0口则为漏极开路输出,可直接用于总线扩展或I\/O操作,注意在使用时可能需要外部上拉电阻。STC89C52支持ISP\/IAP编程,无需专用编程器和仿真器,通过串口(RxD\/P3.0, TxD\/P3.1)即...

80C51各引脚的具体功能?
P0口(P0。0~P0。7)(39---32)是一个8位漏极开路型的双向I\/O口。第2功能是在访问外部存储器时,分别提供低8位地址线和8位双向数据总线。在对片内ROM进行编程和校验时,P0口用于数据的输入和输出。P1口(P1。0~P1。7)(1--8):是一个内部带提升电阻的准双向I\/O口。在对片内ROM编程校...

哪位帮我做下面几个单片机的题目
9、统需要扩展片处程序存储器或数据存储器时, P0口作为地址\/数据分时复用总线使用, P2口输出高8位地址,在这种情况下,P0和P2口(不知道怎么填)。10、MCS-51执行MOVX @A+DPTR,A指令时,伴随着外部数据存储器写选通信号有效 二、选择 1.在五个中断源中,可通过软件确定各中断源中断级别的高或...

单片机8051 I\/O口扩展一定要用P0口吗?P1口可以不,求详解,只用做输出...
可以用P1口啊 ,随便哪个口都可以,区别如下:P0口:真正的双向口,输出锁存,输入缓冲,输入前要先置1(KEIL包含的头文件已经有动作了,如果用汇编,要人工置1),输出为漏极开路,输出一般都要上拉电阻。输入为高阻态,能驱动8个TTL负载。当有片外存储器时,作数据线使用。P1口:是最简单的口,...

单片机DPH DPL是什么
单片中的DPH是数据指针DPTR(80C51中一个功能比较特殊的寄存器)的高八位字节寄存器,DPL是数据指针DPTR(80C51中一个功能比较特殊的寄存器)的低八位字节寄存器。DPTR是某些单片机中一个16位的特殊功能寄存器, DPH是其高位字节寄存器,DPL是其低位字节寄存器,DPTR既可以作为一个16位的寄存器来处理,也可...

P0口为什么采用片外地址锁存器
P0口是一个8位漏极开路型的双向I\/O口;在访问外部存储器时,分时提供低8位地址和8位双向数据,因为分时提供,所以要用片外地址锁存器。 参考资料: 单片微型机原理及应用 本回答由提问者推荐 举报| 答案纠错 | 评论 6 1 为您推荐: 地址锁存器的作用 什么是地址锁存器 为什么要用地址锁存器 锁存器原...

AT89C51和一般单片机的不同之处
AT89C51是个老古董,厂商早就停产了 由于引进的比较早,很多单片机资料上都使用这个芯片来做例程,所以在中国很有名,

单片机芯片中有哪些结构和功能部件?
P0 口:P0口是一个8位漏极开路的双向I\/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址\/数据复用。在这种模式下, P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序...

莱芜市18877311855: 单片机中P0口作为输出为什么要上拉电阻? -
易满谷苏: 上拉电阻:就是从电源高电平引出的电阻接到输出 1,如果电平用OC(集电极开路,TTL)或OD(漏极开路,COMS)输出,那么不用上拉电阻是不能工作的, 这个很容易理解,管子没有电源就不能输出高电平了. 2,如果输出电流比较大,...

莱芜市18877311855: 51单片机P0口为什么要接上拉电阻? -
易满谷苏: 对比上面两个图,他们都是某个引脚的内部结构原理图,主要看锁存器Q和Q'端,和场效应管部分,锁存器是数字电路的知识,场管是模电,不懂就学下.图中场管控制极为高电平时导通,从而引脚处电位等于接地的电位等于0,就输出0,.第一个图中,你看一下高电平时候,P0口引脚电流小,应该5mA吧,它的电压小,所以必须加个电阻,电流乘上电阻1K*5mA=5V,第二个图是通过截止掉场管,使得电位等于VCC电位等于5V.所以说P0口不加上拉电阻没有办法输出高电平,但是能输出低电平

莱芜市18877311855: 作为IO口,P0口为何需要上拉电阻,P1不需要 -
易满谷苏: 其实,这个问题也只限于传统的51单片机,如8031,AT89C51. 因为P0口,是为了扩展外部存储器时,用作数据线的,因此内部作了准双向口,即是开漏输出的,就不能有上拉电阻. 但是,当P0口作为I/O口使用时,就必须在外部加上拉电阻,这样才能有高电平输出. 而其余的P1,P·2,P3在内部已经加了上拉电阻了,所以,在外部就不用再加了. 新型的STC单片机在P0口内部也加了上拉电阻了,在外部用不用加了,方便多了.

莱芜市18877311855: 为什么51单片机P0口有时候要加上拉电阻才能用,有些芯片直接可以接P0口不用上拉电阻就可以用 -
易满谷苏: 因为最初的51单片机P0口设计成开漏极的结构,这样可以通过加个上拉电阻就能兼容不同的电平标准. 现在这种方式貌似也不太实用,就把这个结构去掉了,都改成跟其他的IO一样的结构了. 就不用加上拉电阻了,比较典型的就是AT89C51需要上拉 STC89C51不需要

莱芜市18877311855: 单片机出口为什么要接上拉电阻 -
易满谷苏: 有些单片机,由于为了某些功能的实现,内部电路的结构并不支持输出高电位,于是作为普通io输出的时候就要接上拉电阻,实现高点位的输出,不然就会无法输出高电位

莱芜市18877311855: 51单片机P0口需上拉电阻输出是什么意思? -
易满谷苏: P0口作为I/O口输出的时候时 输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态).也就是说P0 口不能真正的输出高电平,给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流.

莱芜市18877311855: 51单片机为什么P0口需要加上拉电阻,不加电阻不能输出高电平吗?还是什么意思,其他端口呢 -
易满谷苏: 上接电阻作用.1当输出高电位时,通过电阻产生高电位.2为后级电路提供必要的电流.

莱芜市18877311855: 为什么51单片机P0口有时候要加上拉电阻才能用,有些芯片直接可以接P0口不用上拉电阻就 ... -
易满谷苏: 建议你看一下关于P0口,P1、2、3口的局部电路,关于原因,只能简单的说,P0口是内部没有上拉电阻的,而其他三个口有了内部上拉电阻.但是在使用上,如果P0口作为分时复用口的话,就不需要上拉电阻了,但是作为输入输出口,P0口要在外电路设计上上拉电阻,但是为保险起见,作为输入输出口时,其他三个口也要在外电路设计上拉电阻.

莱芜市18877311855: 89C51单片机的P0输出端口为嘛要上拉电阻? -
易满谷苏: 上拉电阻是为了给你的LED或其他电路提供高电平以及和适的驱动电流用的. 先看看P0口的电路图: 由上图可以看到,P0作为IO口时,连接的是V2,而V1是断开的,也就是说,P0的IO上只有V1的漏电流,这个电流是很小的,如果你的LED是共阴接法,是不足以驱动LED发光的.但是,如果你的LED是共阳的,是可以通过输出0让LED发光. 但是其他IO口为什么可以直接驱动共阴接法的LED发光呢,因为其他IO的输出上接了上拉电阻的,看下面这张图. 看到了么,P0不能驱动LED是因为P0口是开漏结构,P3口可以驱动LED,是因为P3口是内部上拉结构.

莱芜市18877311855: 51单片机p0口为什么接上拉电阻 -
易满谷苏: 简单的说,P0输出高电平时,由于内部结构,只能输出高阻态.所以外接上拉电阻.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网