0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机 | P0口什么时候使用上拉电阻?

j4AI_wujianying 来源:YXQ 2019-06-05 17:17 次阅读

P0口作为I/O口输出的时候时,输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态,也就是说P0 口不能真正的输出高电平)。给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。P0作输入时不需要上拉电阻,但要先置1。因为P0口作一般I/O口时上拉场效应管一直截止,所以如果不置1,下拉场效应管会导通,永远只能读到0。因此在输入前置1,使下拉场效应管截止,端口会处于高阻浮空状态,才可以正确读入数据。

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

1.一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。

2.作为一般的I/O口时用时,由于内部没有上拉电阻,故要接上上拉电阻!!

3.当p0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效;

4.当P0口用来驱动NPN管子的时候,就需要上拉电阻的,因为此时只有当P0为1时候,才能够使后级端导通。 简单一点说就是它要驱动LCD显示屏显示就必须要有电源驱动,否则亮不了,而恰好P0口没有电源,所以就要外接电源,接上电阻是起到限流的作用;如果接P1、P2、P3端口就不用外接电源和电阻了。

P0口是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的;5、51单片机的P0口用作数据和地址总线时不必加上拉电阻。

有些IC的驱动能力并不强,如果P0口作为输入而加了不必要的上拉,有可能驱动IC无法将其拉回到低电平,从而使输入失败!

如果是驱动led,那么用1K左右的就行了。如果希望亮度大一些,电阻可减小,最小不要小于200欧姆,否则电流太大;如果希望亮度小一些,电阻可增大,增加到多少呢,主要看亮度情况,以亮度合适为准,一般来说超过3K以上时,亮度就很弱了,但是对于超高亮度的LED,有时候电阻为10K时觉得亮度还能够用。通常就用1k的。对于驱动光耦合器,如果是高电位有效,即耦合器输入端接端口和地之间,那么和LED的情况是一样的;如果是低电位有效,即耦合器输入端接端口和VCC之间,那么除了要串接一个1——4.7k之间的电阻以外,同时上拉电阻的阻值就可以用的特别大,用100k——500K之间的都行,当然用10K的也可以,但是考虑到省电问题,没有必要用那么小的。

对于驱动晶体管,又分为PNP和NPN管两种情况:对于NPN,毫无疑问NPN管是高电平有效的,因此上拉电阻的阻值用2K——20K之间的,具体的大小还要看晶体管的集电极接的是什么负载,对于LED类负载,由于发管电流很小,因此上拉电阻的阻值可以用20k的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此上拉电阻的阻值最好不要大于4.7K,有时候甚至用2K的。对于PNP管,毫无疑问PNP管是低电平有效的,因此上拉电阻的阻值用100K以上的就行了,且管子的基极必须串接一个1——10K的电阻,阻值的大小要看管子集电极的负载是什么,对于LED类负载,由于发光电流很小,因此基极串接的电阻的阻值可以用20k的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此基极电阻的阻值最好不要大于4.7K。

对于驱动TTL集成电路,上拉电阻的阻值要用1——10K之间的,有时候电阻太大的话是拉不起来的,因此用的阻值较小。但是对于CMOS集成电路,上拉电阻的阻值就可以用的很大,一般不小于20K,我通常用100K的,实际上对于CMOS电路,上拉电阻的阻值用1M的也是可以的,但是要注意上拉电阻的阻值太大的时候,容易产生干扰,尤其是线路板的线条很长的时候,这种干扰更严重,这种情况下上拉电阻不宜过大,一般要小于100K,有时候甚至小于10K。

根据以上分析,上拉电阻的阻值的选取是有很多讲究的,不能乱用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电阻
    +关注

    关注

    85

    文章

    5037

    浏览量

    169637
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620825

原文标题:51单片机P0口什么时候使用上拉电阻?

文章出处:【微信号:wujianying_danpianji,微信公众号:单片机精讲吴鉴鹰】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么时候51单片机管脚需要配置输出或者输入模式?

    什么时候51单片机管脚需要配置输出或者输入模式? 我看有的程序没有配置,有的程序有配置,一般哪些需要配置?
    发表于 11-10 07:19

    请问51的P0什么时候要上电阻什么时候不需要?

    求教大神,51的P0什么时候要上电阻什么时候不需要呢?
    发表于 11-09 08:02

    如何处理51单片机外接设备共用I/O

    我的stc12c5a60s2连接的lcd1602跟共阳极数码管都连接单片机p0~7,如何让两者一起工作而且不产生影响?
    发表于 11-09 06:01

    请问51单片机的io需要上电阻吗?

    51单片机的io需要上电阻吗?
    发表于 11-06 06:48

    为什么51的P0是8个引脚?

    为什么51的P0是8个引脚,P1也是8个引脚,为什么都是八个引脚
    发表于 11-01 07:51

    89C51P0--P3结构有什么不同?

    P0是开漏的,可以实现线与功能,可做为地址总线,可以作为地址总线的低八位,P1是普通IO(有些单片
    发表于 10-27 06:32

    请问单片机外设电路什么情况下使用上电阻或下拉电阻

    本人刚入门没多久 经验不足。使用过IIC通信开漏输出 要匹配上电阻?有没有大神能够总结一下 那种情况 需要使用上电阻或是下拉
    发表于 10-19 07:21

    怎么像51单片机一样直接读取8个IO的状态?

    比如 51单片机P04个低电平 4个高电平 我们可以直接用 判断P1==0xf0,那么STM32应该怎么用呢?
    发表于 10-18 06:16

    请问51单片机P0接上电阻会不会直接驱动负载?

    51单片机P0接上电阻会不会直接驱动负载?
    发表于 10-17 07:20

    请问单片机p0p1什么意思?

    单片机p0p1什么意思?
    发表于 10-16 09:26

    1602液晶对单片机P0有影响,会全部低的原因?

    为什么p0的led流水灯效果在插上1602液晶后,液晶会将p0全部低,导致p0
    发表于 10-08 08:10

    如果想51单片机最小系统P0有多个功能,锁存器又是如何的呢?

    51单片机与51单片机最小系统有什么区别;如果想51单片机最小系统P0有多个功能,锁存器又是如何的
    发表于 09-28 06:41

    单片机电阻的作用是什么

    电阻单片机电路中的作用主要有以下几点: 限制电流的流动:在单片机电路中,电阻的作用之一是限制电流的流动。
    发表于 09-05 16:45

    MS51FC0AE单片机IO损坏的原因?

    我使用的是“MS51FC0AE单片机”,输入IO 使用外置5V上然后接外置输入电平,用于输入电平检测,发现单片机会输入口很容易损坏 我设
    发表于 08-30 08:44

    M051可以整体给P0赋值吗?

    M051可以整体给P0赋值吗?怎么例程都是单个I/O的,我现在用P0P0.0~
    发表于 06-19 07:48