您的位置 首页 ADAS

AT89S51/52的P0口为什么要接一个上拉电阻

P0口和其它三个口的内部电路是不同的,如下图P0口是接在两个三极管D0和D1之间的,而P1-P3口的上部是接一个电阻的。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点电位就为高电位,再说也无任何输出影响,因而这样电路是能够的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/261341.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部