浅析单片机IO引脚外接上下拉电阻的作用
爱玩单片机的亲们通常都会常见IO引脚接上拉电阻或下拉电阻的现象,如图一中RP11、RP12、RP13、RP14均为上拉电阻,图二中R18为下拉电阻。
图一
图二
什么是上下拉电阻,作用是什么呢?通俗来讲,上拉电阻是单片机IO引脚与电源VCC间连接的电阻,下拉电阻为单片机IO引脚与GND间连接的电阻。
因为单片机内部不外乎是各类逻辑门电路的集成,而逻辑门电路由晶体管组成,单片机IC引脚在单片机内部有输入回路与输出回路,输入回路可等效为“图三”及“图四”,其中Rup与Rdown均为外接上拉与下拉电阻,PXX为单片机某IO引脚。而输出回路工作模式有推挽式输出与集电极(漏极)浮空输出模式,以后者为例,输出回路可等效为“图五”,其中Rup为外接上拉电阻,PXX为单片机某IO引脚。
图三
图四
图五
从“图三”、“图四”中可以看到,当IO引脚外接上拉电阻时,引脚默认电压为高电平,当IO引脚外接下拉电阻时,引脚默认电压为低电平,这样就可以消除引脚不定状态的影响。
而从“图五”中可看到,若不外接上拉电阻,IO引脚处于高阻态,若单片机内部晶体管Qinner截止,处于静默状态时,受内外电路影响,可能输出高电平,也可能输出低电平,存在不稳定因素,而此时上拉电阻Rup的作用便是在此期间,将其稳定在高电平,需要其输出低电平时,由程序控制,使晶体管Qinner导通输出低电平,所以外接上下拉电阻非常重要的一个作用便是让种种不稳定状态期间,使IO引脚电平强制保持为高电平或低电平。所以我们常常在单片机上电这个极不稳定的状态之后,单片机大部分IO口默认为高电平。
什么是上拉电阻?51单片机P0口上的上拉电阻有什么用?
这次简单说说上拉电阻,那问题来了,什么是上拉电阻?上拉电阻从概念上理解就是一个电阻一端接到电源正极,一端接到输出端。下图就是一个简单的上拉电阻,如果没有这个电阻R,则I/O口和VCC就没有直接连接关系,如果用电阻连接起来就是一个上拉电阻。
从上图其实也能看出来,这个上拉电阻R能够避免I/O口悬空,这样就能稳定输出端的电位,如果觉得不好理解可以通过下面一个实例来看一下,下面这个YS276就是一个霍尔元件,如果检测到磁场2脚会输出低电平,左面那个图加了上拉电阻,右面那个图没加上拉电阻。
如果没有磁场对于霍尔元件本身来说2脚会处于高阻态,也就是电阻很大,左面那个电路由于接了一个电阻,所以2脚电位几乎就是电源电压(由于2脚输入电阻很大,电阻R中几乎没有电流),但是对于右面那个电路,由于没加这个电阻,实际上2脚输出状态并不是很确定,如果用右面那个电路做一个检测到磁场就报警,最后的结果可能是只要通上电就一直在报警。
学过51单片机的朋友可能知道51单片机的P0口需要加一个上拉电阻,这个上拉电阻的作用其实就和上面那个电路有相似的地方。我们来看一下这个P0口输出端,只看用黑色框框起来的部分,在T1管子的左侧有个与门电路,与门电路有两个输入端,实际上输入端总有低电平,所以这个与门电路总是输出低电平,因此T1管处于截止状态。
如果T2管栅极有高电平出现,那么T2管会导通,这时候T2管漏源之间的压降很小,因此P0.X输出低电平,相反如果T2管栅极输入低电平,T2管就会截止,这时候P0.X就处于高阻态,会出现和上面那种电路一样的情况,因此需要在P0口加一个上拉电阻
实际上上拉电阻不仅限于稳定输出端的电位,例如CMOS芯片上输入电阻一般都很大,为了防止静电造成损坏,不用的管脚不能悬空,一般都会接上拉电阻以保护内部电路;加上上拉电阻还能提高输出端的电流,增强引脚的驱动能力,这在单片机中也比较常用;上拉电阻由于连着电源正极,所以也能提高输出端高电平的电压等等。
相关问答
51单片机 肿么 加上拉电阻 ?看书没看懂~~~-ZOL问答51单片机肿么加上拉电阻?看书没看懂~~~讨论回答(5)1、某些型号单片机内置了上拉电阻,可以通过程序来设定IO口为上拉模式。2、对于不带上拉或者上拉太弱的单...
51单片机 p0口 上拉电阻 怎么取值啊?_作业帮[最佳回答]P0口需要上啦电阻,一般取1K到10K都可以.取值小的话电流稍大,看具体情况.
51单片机 p0口为什么需要 上拉电阻 ?早期51单片机的p0口是高阻输入或开漏输出结构,不接上拉电阻会导致无法输入/输出正确的电平。现在生产的51单片机对此做了一些改动,P0口内部增加了弱上拉电路,...
51单片机 哪几个口内置 上拉电阻 ?哪几个口没有内置上拉电阻,必...51单片机哪几个口内置上拉电阻?哪几个口没有内置上拉电阻,必须外接上拉电阻?讨论回答(10)标准51单片机P0口为开漏输出,没有上拉电阻,其它口都有,但上拉电阻很...
51单片机 如何采集 电阻 ?要使用51单片机采集电阻,首先需要将电阻与单片机的引脚连接。可以使用一个电阻分压电路,将电阻与一个已知电阻串联,然后将串联电阻连接到单片机的模拟输入引脚...
为什么 51单片机 P0口要接 上拉电阻 ?51单片机P0口要接上拉电阻的原因有:P0口作为I/O口输出时,输出低电平为0,输出高电平为高阻态(并非5V,相当于悬空状态)。给所接的负载提供电流,因此必须接...5...
51单片机 po口为什么要接 上拉电阻 ?上拉电阻就是从电源高电平引出的电阻接到输出。P0口作为IO口输出的时候时输出低电平为0输出高电平为高组态(并非5V,相当于悬空状态)。也就是说PO口不能真正的...
51单片机 哪一个口需要接 电阻 ?51单片机中,只有P0口作为普通IO口时,需要外部加上拉电阻。作为数据及地址总线端口时,无需上拉电阻。51单片机(通常指AT89C51,AT89C52,STC89C51,STC89C52)P0...
51单片机 接138译码器再接LED灯,问还需要接 电阻 吗?(接多大电...[最佳回答]红色LED500欧;蓝色、白色、绿色LED330欧.应该是74HC138三线转8线译码器吧,驱动电流很小,但点亮小功率超高亮LED应该没问题.红色LED500欧;蓝色、...
51单片机 p0怎么接 电阻 ?51单片机的P0口是一个数字输入/输出口,可以通过连接电阻来改变它的输入电平或输出电平。如果需要将P0口设置为输出模式,则可以通过连接一个合适的电阻来将其...