关于51单片机的P0口上拉电阻取值问题

有很多朋友在学习51单片机的时候 , 都会对其P0口上拉电阻阻值的取值问题而头疼 。其实 , P0口接不接上拉电阻 , 电阻值该选择多大的都是根据不同的情况来选择的 。下面来简单分析下如下的几种情况:
第一种:P0口作为共阳极LED数码管的驱动端口 。这种情况下 , P0口主要是以吸收电流来作为有效工作方式 , 不对外输出高电平 , 此时 , 不应接上拉 , 任何上拉都不要接 。接多少丢多少 。不仅增加成本 , 而且增大了工作电流 。至于数码管的鬼影问题 , 那是程序部分的问题 , 与硬件无关 。
第二种:P0口作为数据传输接口 。这种情况下 , P0口需要输出高电平 , 而高电平的输出其实就是来自于上拉电阻 。在数据输出状态下 , P0口的负载都是逻辑器件 , 不需要大的输入功率 , 那么 , 就可以采用电阻值较大的电阻器作为上拉电阻 , 电阻过小会导致系统的工作电流加大 。常用的5V电压下 , 其取值范围在4.7K-47K之间 。减小电阻有利于提高系统的抗干扰能力 , 但是会增大系统的功耗 , 尤其是上拉电阻较多的情况下此现象会更加明显 。
第三种:P0口作为控制接口 。这种情况下 , P0口需要输出高电平或者低电平作为有效控制信号 。如果需要输出高电平作为有效信号 , 加之一般控制的器件是NPN的三极管 , 那么 , 其上拉电阻的取值范围多在470-4.7K之间 , 取值越小 , 三极管导通程度越大 , 三极管本身的损耗就会越小 , 但是对单片机本身的考验就会越大 。取值越大 , 则单片机负担越小 , 则三极管的导通程度就会越小 , 导致三极管本身的损耗加大 , 甚至会跳出开关状态转至放大状态 。如果需要控制的三极管功率过大 , 那么需要在控制电路中间加一级隔离放大 。
【关于51单片机的P0口上拉电阻取值问题】
如果单片机的P0口需要输出低电平作为有效控制信号 , 那么 , 其上拉电阻的作为就不是用来输出高电平了 , 而是为了给PNP型被控器件提供一个防止意外导通的电压 , 此举可以提高抗干扰能力 , 提高可靠性 。那么 , 其电阻的阻值取值范围多在4.7-47之间 。同样的 , 阻值越大 , 单片机负担越小 , 抗干扰能力越小 , 阻值越小 , 单片机负担越大 , 抗干扰能力越大 。
就博主设计的很多电子电路来说 , 常用的电阻阻值主要集中在470欧姆的LED数码管限流电阻 , 1K的三极管驱动电阻 , 4.7K的信号上拉电阻这几种 。其他的电阻则主要用在模拟电路部分 。数字电路对电阻值的挑剔性远小于模拟电路 , 所以也有很多朋友对模拟电路感到头疼 。


    推荐阅读