单片机交流
直播中

孙奕

7年用户 870经验值
私信 关注
[问答]

请问单片机点亮LED灯程序中为什么LED=0为亮,LED=1为灭?

请问单片机点亮LED灯程序中为什么LED=0为亮,LED=1为灭?

回帖(1)

庞书娟

2021-10-8 14:42:15
1、这个是需要看外围威廉希尔官方网站 的,不一定是输入低电平led就会亮,首先led的正极接到vcc,负极接到单片机的P1.0上,当单片机的P1.0为高电平时,LED两端电压一样,电流不会流动,led不会亮,只有当p1.0为低电平是,电流才会从vcc进过led流向p1.0,再进过单片机内部形成回路,led就会亮了,反之一样,led负极接GND,正极接p1.0,当p1.0置高电平时,LED也会亮。

2、灯亮是因为两侧有电压差LED是一般0.7V左右,是有高电平低电平组成的电压差;:
1共阳极接法:
. 当LED阳极接威廉希尔官方网站 板上的高电位,阴极接单片机引脚,
单片机引脚输出高电平,没有电压差,灯不亮;
单片机引脚输出低电平,有电压差,灯亮。(你所说的情况)
2.共阴极接法:
LED阴极接威廉希尔官方网站 板上的低电位,阳极接单片机引脚,
单片机引脚输出高电平,有电压差,灯亮;
单片机引脚输出低电平,没有电压差,灯不亮。


3、当I/O口输出高电平时,LED两端的电位相同,因此电压为0V,不能构成电流回路,所以LED不亮。当I/O口输出低电平时,LED左侧电位为0,而右侧则在R1的上拉作用下电位提高,因此LED两端有正向电压,可以点亮发光。
  MCS-51单片机的I/O口具有比较强的灌电流能力,但拉电流能力却很弱,所以并不适合用输出高电平的方法点亮LED,大多采用这种负逻辑的驱动方法。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分