单片机驱动为什么要设置为低电平有效?

问题:单片机的外围电路设计及程序编写大多是以低电平有效来驱动电路的?
回答:这是因为单片机的低电平时的灌电流一般比高电平时的拉电流要大。如一般的51 系列单片机的I/O 口可以输出4mA 的拉电流或20mA 的灌电流;而其他也有一些芯片,如PIC单片机有一些非常实用的通用特性:I/O口灌电流/拉电流都很大——25MA/25MA。

  总结:用低电平做驱动,灌电流大,驱动能力强。

问题:一些芯片的管脚是低电平有效,为什么要在低电平有效的管脚上加个上拉电阻?这样不就成高电平了吗?
回答:在低电平有效的管脚上加个上拉电阻是为了在非正常状态时使这个管脚的输入处于无效状态,可以抗干扰。这是因为要求做到通用性要大.还要适合各种电子元件的电压问题.

问题:大家知道单片机的接口本身有一定的驱动能力,但它的驱动能力什么时候可以用什么时候需要另加器件那?
回答:驱动LED发光管的时候,应该分共阳接法和共阴接法这两种,共阳的时候LED正端接正电源,负端通过一个限流电阻接P口,这时不用接上拉电阻,只要这个限流电阻取合适就可以了发光管亮的时候电流就是从电源正——LED——限流电阻——P口,P口为低电位。发光管灭的时候没有电流流过,P口为高电位或高阻状态。共阴接法,LED负端接地,正端直接P口,这时候要接上拉电阻,这个上拉电阻是提供LED发光用的,发光管亮的时候电流是从电源正——上拉电阻 —— LED——地。这时上拉电阻也是限流用的,P口为高电位或高阻状态。发光管暗的时候电流是从电源正——上拉电阻——P口,这时LED无电流流过,P口为低电位,限流电阻上流过电流全部从P口流入。要从单片机的输出驱动能力开始讲起。

  单片机输出驱动分为高电平驱动和低电平驱动两种方式,所谓高电平驱动,就是端口输出高电平时的驱动能力,所谓低电平驱动,就是端口输出低电平时的驱动能力,当单片机输出高电平时,其驱动能力实际上是*端口的上拉电阻来驱动的,实际测试表明,51单片机的上拉电阻的阻值在330K左右,也就是说如果*高电平驱动,本质上就是*330K的上拉电阻来提供电流的,当然该电流是非常小的,小的甚至连发光二极管也难以点亮,如果要保证LED发光2极管正常发光,必须要外接一个1K左右的上拉电阻,如果是一个led还好,要是10个、20个led的话,就要接10个、20个1K的上拉电阻,接电阻的本身是可以的,问题是接了上拉电阻以后,每当端口变为低电平0的时候,那么就有10个、20个上拉电阻被无用的导通,假设每个电阻的电流为5mA计算,20个电阻就是 100mA,这将造成电源效率的严重下降,导致发热,纹波增大,以至于造成单片机工作不稳,因此很少有采用高电平直接驱动led的,高电平驱动led实际上就是共阴。低电平驱动就不同了,端口为低电平0时,端口内部的开关管导通,可以驱动高达30多毫安的驱动电流,可以直接驱动led等负载,当端口为低电平0时,尽管内部的上拉电阻也是消耗电流的,但是由于内部的上拉电阻很大,有330K,因此消耗电流极小,基本上不会影响电源效率,不会造成无用功的大量消耗,因此51单片机是不能用高电平直接驱动led发光管的,只能用地电平直接驱动led,即只能用共阳数码管,而不能直接用共阴数码管。

原文地址:https://www.cnblogs.com/lweleven/p/9196534.html

时间: 2024-08-02 21:20:53

单片机驱动为什么要设置为低电平有效?的相关文章

低电平ViL

低电平 编辑 低电平(Vil)指的是保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平. 中文名 低电平 外文名 Vil 主要应用 测量电缆和保护连接 目录 1 定义 ? 输入 ? 输出 2 应用简介 ? 对测量电缆的要求 ? 测量常用连接器类型 ? 测量电缆和保护连接 ? 对测试夹具的要求 定义 编辑 输入 低电平(Vil):保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平. 输出 低电平(Vol):

nRF52832 矩阵按键调试 同一列上的按键 任意两个按键 按下 检测不到低电平(电平拉不下来)

参考链接:https://blog.csdn.net/zhanghuaishu0/article/details/78505045 调试过程中发现 同一列上的按键 任意两个按键 按下 检测不到低电平(电平拉不下来),在网上找到一个类似的 资料说是:pin脚初始化时,配置的驱动能力不够.修改后测试正常了. 原GPIO初始化如下: nrf_gpio_cfg_output(GPIO0); 修改后如下: nrf_gpio_cfg( pin_number, NRF_GPIO_PIN_DIR_OUTPUT,

如何区别上升沿、下降沿、低电平、高电平

如图所示: 数字电路中,把电压的高低用逻辑电平来表示.逻辑电平包括高电平和低电平这两种.不同的元器件形成的数字电路,电压对应的逻辑电平也不同.在TTL门电路中,把大于3.5伏的电压规定为逻辑高电平,用数字1表示:把电压小于0.3伏的电压规定为逻辑低电平,用数字0表示.数字电平从低电平(数字"0")变为高电平(数字"1")的那一瞬间(时刻)叫作上升沿. 数字电路中,把电压的高低用逻辑电平来表示.逻辑电平包括高电平和低电平这两种.不同的元器件形成的数字电路,电压对应的逻

ubuntu显卡驱动安装及设置

转自: Ubuntu 14.04 Nvidia显卡驱动安装及设置 更换主板修复grub 引导后,无法从Nvidia进入系统(光标闪烁), 可能是显卡驱动出了问题. 1. 进入BIOS设置, 从集成显卡进入系统 将显示器连接到集显的VGI口, 并在BIOS中设置用集显显示, 一般来说可以成功进入系统. 2. 完全写在Nvidia驱动 (参考) 执行下列命令干干净净卸载nvidia驱动, sudo apt-get remove --purge nvidia-* sudo apt-get instal

什么是低电平有效

关于低电平有效是什么概念: 低电平有效的意思是:在引脚上施加低电平的时候,这个功能触发了(当然要把引脚功能选择为对应的功能.)  给个例子:例如74ls373的LE信号是高电平有效,加在LE上为高电平时,就可以把数据锁存,加低电平时就没有反应了.就是高电平的时候,锁存功能有效. 简单的说,低电平有效,就是施加低电平的时候,对应功能被触发(有效).

Laravel5.2队列驱动expire参数设置带来的重复执行问题 数据库驱动

  'connections' => [     ....         'database' => [             'driver' => 'database',             'table' => 'jobs',             'queue' => 'default',             'expire' => 60,         ],         'redis' => [             'driver

Ubuntu 14.04 Nvidia显卡驱动安装及设置

更换主板修复grub 引导后,无法从Nvidia进入系统(光标闪烁), 可能是显卡驱动出了问题. 1. 进入BIOS设置, 从集成显卡进入系统 将显示器连接到集显的VGI口, 并在BIOS中设置用集显显示, 一般来说可以成功进入系统. 2. 完全写在Nvidia驱动 (参考) 执行下列命令干干净净卸载nvidia驱动, sudo apt-get remove --purge nvidia-* sudo apt-get install ubuntu-desktop sudo rm /etc/X11

28、从零写UVC驱动之实现设置属性

1. 先看APP以确定需要实现哪些接口xawtv.c: grabber_scan ng_vid_open v4l2_driver.open // v4l2_open get_device_capabilities(h); // 调用VIDIOC_QUERYCTRL ioctl确定是否支持某个属性 /* controls */ for (i = 0; i < MAX_CTRL; i++) { h->ctl[i].id = V4L2_CID_BASE+i; if (-1 == xioctl(h-&

STM32系列单片机IO口模式设置

STM32单片机的每组IO口都有4个32位配置寄存器用于配置GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR和GPIOx_PUPDR,2个32位数据寄存器用于配置输入和输出寄存器GPIOx_IDR和GPIOx_ODR,1个32位置位复位寄存器GPIOx_BSRR,1个32位锁定寄存器GPIOx_LCKR和2个32位复用功能选择寄存器GPIOx_AFRH和GPIOx_AFRL. GPIO的输出状态可以配置为推挽或开漏加上上拉或下拉.输出数据既可以来自输出数据寄存器,