电工学习网

 找回密码
 立即注册
查看: 13794|回复: 4
打印 上一主题 下一主题

51单片机驱动数码管(LED)时的注意事项

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

回复

使用道具 举报

沙发
 楼主| 发表于 2018-7-5 08:59:19 | 只看该作者
如果是共阴的数码管,那么位选可以直接用单片机驱动,而段选需要用三极管(PNP)来驱动。
如果是共阳的数码管,那么段选可以直接用单片机驱动,而位选需要用三极管(PNP)来驱动。

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2018-7-5 09:00:05 | 只看该作者
共阳数码管的正端接正电源,负端通过一个限流电阻接P口,这时不用接上拉电阻,只要这个限流电阻取合适就可以了。共阳数码管亮时电流就是从电源正→共阳数码管→限流电阻→P口,P口为低电位;共阳数码管灭时没有电流流过,P口为高电位或高阻状态。
51单片机驱动数码管(LED)时的注意事项
共阴数码管负端接地,正端直接P口,这时候要接上拉电阻,这个上拉电阻是提供数码管发光用的。共阴数码管亮时电流是从电源正→上拉电阻→数码管→地。这时上拉电阻也是限流用,P口为高电位或高阻状态;共阴数码管暗的时候电流是从电源正→上拉电阻→P口,这时数码管无电流流过,P口为低电位,限流电阻上流过电流全部从P口流入。
51单片机驱动数码管(LED)时的注意事项
单片机驱动共阳和共阴数码管的比较要从单片机的输出驱动能力开始讲起。单片机输出驱动分为高电平驱动和低电平驱动两种方式,所谓高电平驱动,就是端口输出高电平时的驱动能力;所谓低电平驱动,就是端口输出低电平时的驱动能力,当单片机输出高电平时,其驱动能力实际上是*端口的上拉电阻来驱动的,实际测试表明,51单片机的上拉电阻的阻值在330K左右,也就是说如果*高电平驱动,本质上就是*330K的上拉电阻来提供电流的,当然该电流是非常小的,小的甚至连发光二极管也难以点亮,如果要保证数码管正常发光,必须要外接一个1K左右的上拉电阻,如果是一个数码管还好,要是n个数码管的话,就要接n个1K的上拉电阻,接电阻的本身是可以的,问题是接了上拉电阻以后,每当端口变为低电平0的时候,那么就有n个上拉电阻被无用的导通,假设每个电阻的电流为5mA计算,n个电阻就是5mA×n电流,这将造成电源效率的严重下降,导致电源发热,纹波增大,以至于造成单片机工作不稳,因此很少有采用高电平直接驱动数码管的,即很少采用单片机驱动共阴数码管。
低电平驱动就不同了,端口为低电平0时,端口内部的开关管导通,可以驱动高达30多毫安的驱动电流,可以直接驱动数码管等负载,当端口为低电平0时,尽管内部的上拉电阻也是消耗电流的,但是由于内部的上拉电阻很大,有330K,因此消耗电流极小,基本上不会影响电源效率,不会造成无用功的大量消耗。
举个实例:笔者首次使用75HC573驱动数码管时,单片机IO输出5V,测试中发现数码管怎么调亮度都很低,仔细分析才明白是自己对数码管共阴和共阳接法没有完全明白导致:共阳数码管公共端为阳极,接一个IO口,电流非常小;共阴数码管公共端为阴极,接多个IO口,电流非常大。明白共阴和共阳数码管原理上的不同,稍作调整问题迎刃而解。
51单片机驱动数码管(LED)时的注意事项
因此51单片机是不能用高电平直接驱动数码管的,只能用低电平直接驱动数码管,即51单片机只能用共阳数码管,而不能直接用共阴数码管。

回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2018-7-5 09:01:15 | 只看该作者

数码管类型

上拉电阻

限流电阻

对单片机电流的影响

三极管驱动

工业IC

共阳极

不需

200~470Ω

(非排阻)

位码高电平,

段码低电平时点亮

PNP

共阴极

需要

(可排阻1KΩ)

(因而浪费电

而且而且全部

熄灭时比全部

点亮时更费电)

不需

位码低电平,

段码高电平时点亮

NPN

常用



回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2018-7-5 09:01:33 | 只看该作者

单片机

Pn.7

Pn.6

Pn.5

Pn.4

Pn.3

Pn.2

Pn.1

Pn.0

数码管

h

g

f

e

d

c

b

a

如显示“H”

0

1

1

1

0

1

1

0

B01110110= 0x76

如显示“O”

0

0

1

1

1

1

1

1

B00111111= 0x3f



回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-9-4 14:03

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表