2017-04-13 18:01:41 zhaoyuaiweide 阅读数 2433
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3995 人正在学习 去看看 朱有鹏

上图为开漏输出
注:绿色为IO口
 (1)当基集给高电平的时候,三极管的c,e相通,电路就沿着三极管这边流通,IO口输出低电平
 (2)当基极给低电平的时候,三极管的c,e不相同,因此电路就走发光二极管一侧,IO口输出高电平
2010-10-04 16:48:00 myeven 阅读数 1381
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3995 人正在学习 去看看 朱有鹏

P0口做数据io口,510Ω -- 10k均可,当单片机外设要返回数据时,最好接小点的上拉电阻,这样上拉电流较小,外设能传回数据!!

 

 

我是在做12864画图时得到的启示,用1k上拉,P0口一直为0xff,当用10k上拉是,成功实现画点!!!!!

2019-01-06 13:23:26 qq_36737680 阅读数 365
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3995 人正在学习 去看看 朱有鹏

上拉电阻、下拉电阻的一些理解

最近在做课程设计,到了总结收尾阶段,可爱的LBQ同学就提出了一个很可爱的问题。原文是如图所示,其实LBQ同学的意思就是我们的实际电路是直接连51单片机的IO口的,没有加上拉电阻,程序可以正常跑通,但有些资料却强调说单片机的IO口使用时要加上拉、下拉电阻。在这里D插入图片描述
以下就以LBQ同学的可爱问题解释一下上下拉电阻吧。

事不宜迟,马上进入正题

首先声明一下:我们这次用的是STC89C52RC这款单片机,有点古老,但又很经典哈哈。这款芯片复位后引脚状态:P1/P2/P3是准双向口/弱上拉(后面再解释弱上拉,其实很简单),P0口是漏极开漏输出,做总线扩展不用加上拉电阻,做普通IO口用要加上拉电阻。

  1. 什么是上拉下拉电阻?
    很简单,如图是(画得有点丑,将就一下哈),上拉电阻是一个电阻的一端接电源,另一端接IO口的引脚。下拉也一样,一个电阻的一端接地,另一端接IO口的引脚。
    在这里插入图片描述
    在这里插入图片描述
  2. 上拉是指通过一个连接在单片机IO口和电源之间的电阻将不确定或高电平驱动能力不够的电位控制在高电平。就好比如我们这次课程设计的电机驱动IC,在调试程序的时候发现给单片机IO的的高电平一直被拉低了,到不了5v,只有零点几伏,导致直流减速电机一直启动不了,后来加了一个9.1K的上拉电阻之后就可以正常启动电机了.上拉电阻越大,驱动能力越强,抗干扰能力越强,功耗也越大.在高速电路中,对信号上升沿有一定的抑制作用,需要注意.
  3. 下拉是通过一个连接在单片机IO口可电源之间的电阻将不确定或低电平驱动能力不够的电位控制在低电平。下拉电阻有另外一个很好的作用,匹配阻抗,虽然暂时还没遇到,不过配配阻抗是个细活。
  4. 上拉下拉的电阻阻值范围一般再1kΩ~10kΩ之间,电阻越大,功耗也会越大.
  5. 弱上拉和强上拉的说法不是很规范!上拉电阻阻值小时,可称为强上拉,反之,称为弱上拉.一开始我们说到51单片机复位后P1/P2/P3处于弱上拉就是这种情况,这种弱上拉只适合一些驱动一些IIC、UART通讯总线,遇到类似电机这种需要很强驱动能力和长时间大电流大电压外设来说就需要再单片机外部再加上拉电阻了,以提高它的驱动能力。弱上拉和强上拉的说法不是很规范!上拉电阻阻值小时,可称为强上拉,反之,称为弱上拉.一开始我们说到51单片机复位后P1/P2/P3处于弱上拉就是这种情况,这种弱上拉只适合一些驱动一些IIC、UART通讯总线,遇到类似电机、LCD液晶屏这种需要很强驱动能力和长时间大电流大电压外设来说就需要再单片机外部再加上拉电阻了,以提高它的驱动能力。
  6. 所以矩阵键盘这种外设不像直流减速电机那样,需要的驱动能力并不是很大,有内部的弱上拉使用已经足够了,如果再外界上外电阻也不是不可以,但会增加的功耗,我们支持绿色环保,所以就不加上拉电阻了哈哈。
  7. 简单的说明一下上下拉电阻,如有错误,还望各前辈多多指教,同时也希望LBQ同学能够大彻大悟,哈哈。
2016-07-03 19:20:40 iluzhiyong 阅读数 411
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3995 人正在学习 去看看 朱有鹏

概要

在电路中经常可以看到上拉电阻和下拉电阻。虽然结构很简单,但在嵌入式系统中起着很重要的作用。

接线

上拉电阻,电阻一端接VCC,另一端接逻辑电平引脚(如单片机引脚)
下图中的R13,R14即为上拉电阻。

这里写图片描述

下拉电阻,电阻一端接GND,另一端接逻辑电平引脚(如单片机引脚)
下图中的R18即为下拉电阻。IE_DATA为芯片引脚。

这里写图片描述

作用

  1. 提高驱动能力

    单片机输出高电平,由于后续电路的影响,高电平达不到VCC值,导致后续电路无法正常工作,此时需要上拉电阻。同理,下拉电阻能够保证低电平值为GND。

  2. 增强抗干扰能力

    如单片机的输入引脚,或悬空的引脚都比较容易受到外界的干扰

电阻选择原则

  1. 对前端电路(CPU),保证灌电路足够小,且节约功耗,上拉电阻应该足够大,保证电流小
  2. 对后续电路,保证足够的驱动能力,上拉电阻应该足够小,电流大
  3. 对于高速电路,过大的上拉电阻可能使边沿变平缓

综合上述考虑,上拉电阻通常选择1k~10k之间。

参考

带你理解上拉电阻与下拉电阻
集电极开路、漏极开路、上拉电阻、下拉电阻等接口相关几本概念
电路设计(一)之上拉电阻与下拉电阻
上拉电阻与下拉电阻的作用

2019-11-30 17:48:11 a419116194 阅读数 41
  • 单片机控制第一个外设-LED灯-第1季第6部分

    本课程是《朱有鹏老师单片机完全学习系列课程》第1季第6个课程,主要讲解LED的工作原理和开发板原理图、实践编程等,通过学习目的是让大家学会给单片机编程控制LED灯,并且为进一步学习其他外设打好基础。

    3995 人正在学习 去看看 朱有鹏

上拉、下拉以及对应上拉电阻和下拉电阻的作用原理

一、什么是上拉和下拉电路

上拉(Pull Up )或下拉(Pull Down)电阻两者统称为拉电阻

  • 上拉就是单片机的IO口串联一个电阻到VDD;
  • 下拉就是单片机的IO口串联一个电阻到GND;

如图所示:
在这里插入图片描述
单片机往往可以内部挂载一个电阻,通常io口呈现出高阻态,若不上拉或者下拉io口不能识别当前的状态是高电平还是低电平。

二、为什么需要上拉与下拉电路

上拉与下拉电路最基本的作用是:将状态不确定的IO口信号线通过一个电阻将其钳制为一个确定的高电平(上拉)或低电平(下拉),无论它的具体用法如何,这个基本的作用都是相同的,只是在不同应用场合中会对电路中上/下拉电阻的阻值要求有所不同。

对于三态门电路而言,通常我们认为:

  • 输入管脚和VCC相接,那肯定是高电平;
  • 输入管脚和GND相接,那肯定是低电平;
  • 输入管脚悬空,那肯定是高阻态;(可能是高/低电平输入引脚开关处于断开状态,也可能本来就是规划为于悬空状态的引脚)

实际情况中当高/低电平输入引脚的开关断开,引脚处于悬空状态下时,由于电路中的电磁感应现象,悬空的管脚上可能会随机地感应出时高时低的电平,而单片机是要求其高/低管脚输入需要有明确的输入信号的,也就是要么高电平1,或者是低电平0。这时候就需要通过上拉或者下拉电路通过一个电阻将输入的IO信号钳制在一个固定的高电平或者低电平上。
上拉电路讲解:

  • 原理图A:当轻触开关SW1按下时,端口A输入的是低电平,但由于A中没有接上/下拉电路,当轻触开关SW1没有按下时,端口A的输入电平未知。
  • 原理图B:当轻触开关SW5按下时,输入端口B的是低电平,但由于B接了上拉电路,当轻触开关SW5没有按下时,上拉电阻R1决定了输入端口B是高电平,不会存在未知的电平。
    在这里插入图片描述

下拉电路讲解:

  • 原理图C:当轻触开关SW1按下时,端口C输入的是高电平,但由于C中没有接上/下拉电路,当轻触开关SW1没有按下时,端口C的输入电平未知。
  • 原理图D:当轻触开关SW5按下时,输入端口D的是高电平,但由于D接了下拉电路,当轻触开关SW5没有按下时,上拉电阻R1决定了输入端口D是低电平,不会存在未知的电平。

在这里插入图片描述

三、上拉与下拉电路的实际作用讲解

1、提高电压准位:

  • 当 TTL 电路驱动 COMS 电路时,如果 TTL 电路输出的高电平低于 COMS 电路的最低高电平(一般为 3.5V),这时就需要在TTL 的输出端接上拉电阻,以提高输出高电平的值。
  • OC 门电路必须加上拉电阻,以提高电平的输出值。

2、加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。

3、N/A pin 防静电、防干扰:在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗, 提供泄荷通路,而管脚悬空就比较容易接受外界的电磁干扰。

4、电阻匹配,抑制反射波干扰:长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。

5、预设空间状态/缺省电位:在一些 CMOS 输入端接上或下拉电阻是为了预设缺省电位. 当你不用这些引脚的时候, 这些输入端下拉接 0 或上拉接 1。在I2C总线等总线上,空闲时的状态是由上下拉电阻获得。

6、提高芯片输入信号的噪声容限:输入端如果是高阻状态,或者高阻抗输入端处于悬空状态,此时需要加上拉或下拉,以免受到随机电平而影响电路工作。同样如果输出端处于被动状态,需要加上拉或下拉,如输出端仅仅是一个三极管的集电极。从而提高芯片输入信号的噪声容限增强抗干扰能力。

一般来说上拉或下拉电阻的作用是增大电流,加强电路的驱动能力 ,比如说51单片机中的p1口 ,p0口必须接上拉电阻才可以作为IO口使用 ,上拉和下拉的区别是一个为拉电流,一个为灌电流 一般来说灌电流比拉电流要大 ,也就是灌电流驱动能力强一些

四、为什么需要加上一个电阻,而不直接连接VDD或者GND?

参考第二节中提供的电路图:

  • A中上拉电路不接电阻:那么当SW1闭合时,VCC到GND这段电路中没有任何负载电阻,那么此时电路短路,电路电流无限大。很容易烧板子!!!!
  • 同理,D中下拉电路不接电阻:那么无论SW5开关是否闭合,尤其是闭合状态下时,VCC会输入一个高电平,而VCC到GND这段电路中没有任何负载电阻,那么此时电路短路,电路电流无限大。很容易烧板子!!!!

上/下拉电阻阻值的选择原则:

  • 从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。
  • 从确保足够的驱动电流考虑应当足够小;电阻小,电流大。
  • 对于高速电路,过大的上拉电阻可能边沿变平缓。
  • 综合考虑以上三点,通常在1k到10k之间选取。

上/下拉电阻阻值的选择说明:

1、上拉电阻实际上是集电极输出的负载电阻。不管是在开关应用和模拟放大,此电阻的选则都不是拍脑袋的。工作在线性范围就不多说了,在这里是讨论的是晶体管是开关应用,所以只谈开关方式。找个TTL器件的资料单独看末级就可以了,内部都有负载电阻根据不同驱动能力和速度要求这个电阻值不同,低功耗的电阻值大,速度快的电阻值小。
2、芯片制造商很难满足应用的需要不可能同种功能芯片做许多种,因此干脆不做这个负载电阻,改由使用者自己自由选择外接,所以就出现OC、OD输出的芯片。由于数字应用时晶体管工作在饱和和截止区,对负载电阻要求不高,电阻值小到只要不小到损坏末级晶体管就可以,大到输出上升时间满足设计要求就可,随便选一个都可以正常工作。
3、一个电路设计是否优秀这些细节也是要考虑的,集电极输出的开关电路不管是开还是关对地始终是通的,晶体管导通时电流从负载电阻经导通的晶体管到地,截止时电流从负载电阻经负载的输入电阻到地,如果负载电阻选择小点功耗就会大,这在电池供电和要求功耗小的系统设计中是要尽量避免的,如果电阻选择大又会带来信号上升沿的延时,因为负载的输入电容在上升沿是通过无源的上拉电阻充电,电阻越大上升时间越长,下降沿是通过有源晶体管放电,时间取决于器件本身。因此设计者在选择上拉电阻值时,要根据系统实际情况在功耗和速度上兼顾。

五、从IC(MOS工艺)的角度,深入讲解输入/输出引脚上/下拉的作用机制

1、 对芯片输入管脚:

  • 若在系统板上悬空(未与任何输出脚或驱动相接)是比较危险的.因为此时很有可能输入管脚内部电容电荷累积使之达到中间电平(比如1.5V),而使得输入缓冲器的PMOS管和NMOS管同时导通, 这样一来就在电源和地之间形成直接通路, 产生较大的漏电流, 时间一长就可能损坏芯片。并且因为处于中间电平会导致内部电路对其逻辑(0或1)判断混乱. 接上上拉或下拉电阻后, 内部点容相应被充(放)电至高(低)电平, 内部缓冲器也只有NMOS(PMOS)管导通, 不会形成电源到地的直流通路. (至于防止静电造成损坏, 因芯片管脚设计中一般会加保护电路,反而无此必要).

2、对于输出管脚:

  • 对于正常的输出管脚(push-pull型), 一般没有必要接上拉或下拉电阻。
  • 对于OD或OC(漏极开路或集电极开路)型管脚。通常需要外接上拉电阻完成功能实现,此时多个输出可直接相连.
    典型应用是: 系统板上多个芯片的INT(中断信号)输出直接相连, 再接上一上拉电阻, 然后输入MCU的INT引脚, 实现中断报警功能。

工作原理讲解:

在正常工作情况下, OD型管脚内部的NMOS管关闭, 对外部而言其处于高阻状态, 外接上拉电阻使输出位于高电平(无效中断状态,当有中断需求时, OD型管脚内部的NMOS管接通, 因其导通电阻远远小于上拉电阻,使输出位于低电平(有效中断状态)。针对MOS电路上下拉电阻阻值以几十至几百K为宜。
(注: 此回答未涉及TTL工艺的芯片, 也未曾考虑高频PCB设计时需考虑的阻抗匹配, 电磁干扰等效应)
1、芯片引脚上注明的上拉或下拉电阻, 是指设计在芯片引脚内部的一个电阻或等效电阻. 设计这个电阻的目的, 是为了当用户不需要用这个引脚的功能时, 不用外加元件, 就可以置这个引脚到缺省的状态. 而不会使 CMOS 输入端悬空. 使用时要注意如果这个缺省值不是你所要的, 你应该把这个输入端直接连到你需要的状态。

2、这个引脚如果是上拉的话, 可以用于 “线或” 逻辑. 外接漏极开路或集电极开路输出的其他芯片. 组成负逻辑或输入. 如果是下拉的话, 可以组成正逻辑 “线或”, 但外接只能是 CMOS 的高电平漏极开路的芯片输出, 这是因为 CMOS 输出的高, 低电平分别由 PMOS 和 NMOS 的漏极给出电流, 可以作成 P 漏开路或 N 漏开路. 而 TTL 的高电平由源极跟随器输出电流, 不适合 “线或”。

3、TTL 到 CMOS 的驱动或反之, 原则上不建议用上下拉电阻来改变电平, 最好加电平转换电路。 如果两边的电源都是 5 伏, 可以直接连但影响性能和稳定, 尤其是 CMOS 驱动 TTL 时. 两边逻辑电平不同时, 一定要用电平转换. 电源电压 3 伏或以下时, 建议不要用直连更不能用电阻拉电平。

4、芯片外加电阻由应用情况决定, 但是在逻辑电路中用电阻拉电平或改善驱动能力都是不可行的. 需要改善驱动应加驱动电路. 改变电平应加电平转换电路. 包括长线接收都有专门的芯片。

注意事项:本文内容为参考书籍或者其它博主的文章所作的个人总结,不作为任何商业用途,如有冲突请私下联系。
主要参考链接:
https://mp.weixin.qq.com/s/OuOwLWp_s2b3ADeybT_7Dw
http://www.360doc.com/content/19/0725/20/42387867_851002315.shtml
http://www.elecfans.com/d/587459.html

没有更多推荐了,返回首页