p0口为什么接上拉电阻 p0口为什么要接上拉电阻
1、上拉电阻就是从电源高电平引出的电阻接到输出 1,如果电平用OC集电极开路,TTL或OD漏极开路,COMS输出,那么不用上拉电阻是不能工作的,这个很容易理解,管子没有电源就不能输出高电平了2,如果输出电流比较大;单片机灌电流的能力很强,但拉电流能力不强,当你要驱动一些电流比较大的元件时最好加上拉,防止电流过大烧坏单片机即使不接上拉,P0口高电平也是有输出的,你说P0没电肯定是有问题的。
2、51单片机P0口做输入口时需要先写1即可,外部不需要上拉电阻其实,单片机上电复位时,P0已全部为置1状态,就可以直接读输入状态了只有输出过低电平,再读输入状态时需先写1否则,P0口从未输出过低电平,也不需要先写;并不是说,接独立按键就一定要接电阻的,关键是看接在哪个并行口了 对于51单片机的P0口,做IO口使用时,就要加上拉电阻,那么,按键接在P0口上,就得用上拉电阻了而按键接在P1,P2,P3口上,就可以不用加上;简单的说,P0输出高电平时,由于内部结构,只能输出高阻态所以外接上拉电阻;也不会怎样额额,要看你实现什么功能了如果你要驱动数码管,或者让二极管亮,需要的电流是5~10MA ,但是P0口输出电流不到1个毫安,是无法点亮发光二极管的酱紫数码管二极管之类的就永远亮不起来了 上拉电阻接法如上图;因为最初的51单片机P0口设计成开漏极的结构,这样可以通过加个上拉电阻就能兼容不同的电平标准现在这种方式貌似也不太实用,就把这个结构去掉了,都改成跟其他的IO一样的结构了就不用加上拉电阻了,比较典型的就是;P0口是接在两个三极管D0和D1之间的,而P1-P3口的上部是接一个电阻的P0口的上面那个三极管D0是在进扩展存储器或扩展总线时使用MOVX指令时才会控制它的导通和截止,在不用此指令时都是截止的在平常我们使用如P0_1。
3、如果要驱动数码管,或者让二极管亮,需要的电流是5~10MA ,但是P0口输出电流不到1个毫安,是无法点亮发光二极管的这样的话数码管二极管之类的就永远亮不起来了 单片机Microcontrollers是一种集成电路芯片,是采用超大;因为P0口,是为了扩展外部存储器时,用作数据线的,因此内部作了准双向口,即是开漏输出的,就不能有上拉电阻但是,当P0口作为IO口使用时,就必须在外部加上拉电阻,这样才能有高电平输出而其余的P1,P·2,P3在;当P0口接VCC,有上拉电阻限制电流输入单片机,实际上是提高了单片机IO口的驱动能力,就是根据输入电压,设计一个合理的上拉电阻,提高了单片机控制更高电压电源等器件工作的能力另外P0口在作为地址数据复用时不接上拉。
4、但是其他IO口为什么可以直接驱动共阴接法的LED发光呢,因为其他IO的输出上接了上拉电阻的,看下面这张图看到了么,P0不能驱动LED是因为P0口是开漏结构,P3口可以驱动LED,是因为P3口是内部上拉结构;通常我们说P0口需要接上拉电阻才能正常工作,是因为其内部结构与其他三个端口存在差别,没有上拉电阻的缘故,所以如果不接上拉电阻,P0口的状态就不会得到预期的结果,或许是某个中间电压的值,而不是高电平的5V或者低电平;原因是P0是开漏输出的,当输出高电平时,是无输出的,需要用上拉电阻才能拉成高电平并不是为了提高其驱动能力的因最初的51单片机是用P0口作数据总线的,需要是准双向口而现在的51单片机不再需要P0口作数据总线了。
5、也就是说P0 口不能真正的输出高电平,给所接的负载提供电流,因此必须接上拉电阻一电阻连接到VCC,由电源通过这个上拉电阻给负载提供电流由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没;因为51单片机的P0口内部不带上拉电阻,因此不能有效输出高低电平而P1,P2,P3内部自带上拉电阻因此不需要外部接上拉电阻如有帮助,望采纳,谢谢~;上拉电阻的阻值一般比较大,通常在1K~10K,而P0口在芯片的内部有一个对地的晶体管,如果晶体管导通,晶体管的集射极电阻远远小于上拉电阻,根据串联电路电阻分压规律,小的电阻上分到的电压很小,大的则很大分得电压。
与本文内容相关的文章: