[讨论] 大家来看看这个电路有什么问题

tiankai001   2019-2-27 11:10 楼主
在网上看到了这样一个电路。帖子的题目是“问个简单的问题,强上拉的工作原理“。电路图如下 01.jpg


帖子的内容如下。
“一直没弄清楚这个电路,P2.0输出高电平的时候灯怎么会亮呢?
P2.0输出高电平的时候,VCC和P2.0不就是等电位点了吗?这样的话电阻两端电压差不是0V吗?电路不是0A吗?怎么还会让灯亮呢?大家是怎么分析的呢?”







关于这个电路,是有很多问题的,大家来看看,都有哪些问题呢?




回复评论 (21)

单片机输出端口有多种。
如果是OC输出,那么输出端口内部只有一个对地的晶体管,输出高电平时内部晶体管开路,电源通过470欧上拉电阻点亮LED。
如果是弱上拉输出,那么输出端口是一个晶体管与一个阻值较大的上拉电阻,输出高电平时晶体管开路,内部上拉电阻与470欧电阻并联给LED供电。
如果是推拉式输出,那么输出端口内部由一个P型晶体管与一个n型晶体管分别控制上拉与下拉,输出高电平时上拉晶体管导通,下拉晶体管截止。上拉晶体管(与470欧并联)提供LED电流。
点赞  2019-2-27 11:24
这个电路很不好。IO输出最好有个1K的电阻隔一下
点赞  2019-2-27 12:30
分析一下,如果单片机端口输出低电平,二极管正向导通电阻非常小,则二极管阳极的电压不能打开二极管的电压壁垒,此时灯不亮;如果单片机端口输出高电平,电阻被短路,二极管阳极电压高于0.7V,灯亮。
点赞  2019-2-27 13:45
这种设计不常见,通常是把单片机端口通过10K的分压电阻与二极管(LED)的阴极接在一起,IO口高电平熄灭,低电平点亮


111.jpg
点赞  2019-2-27 13:52
不是很懂啊
点赞  2019-2-27 13:58
新生路工
点赞  2019-2-27 13:58
这个LED无论单片机怎么搞都是亮的
http://shop34182318.taobao.com/ https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
点赞  2019-2-27 14:39
引用: bqgup 发表于 2019-2-27 13:52
这种设计不常见,通常是把单片机端口通过10K的分压电阻与二极管(LED)的阴极接在一起,IO口高电平熄灭,低 ...

你说的这个接法是比较常见的,单片机管脚特性决定这样接比较好
点赞  2019-2-27 14:41
引用: ddllxxrr 发表于 2019-2-27 14:39
这个LED无论单片机怎么搞都是亮的

输出低的时候,LED是不会亮的
点赞  2019-2-27 14:42
引用: tiankai001 发表于 2019-2-27 14:42
输出低的时候,LED是不会亮的

输出低的时候,LED是不会亮的

单片机端口为低,把LED短路掉了,当然LED不会亮。但此时整机功耗却比LED亮的时候还大,故这样的控制方式不可取。
点赞  2019-2-27 14:58
P2.0输出高电平的时候,VCC和P2.0不就是等电位点了吗?这样的话电阻两端电压差不是0V吗?电路不是0A吗?怎么还会让灯亮呢?大家是怎么分析的呢?——先说句难听但却是客观事实的,如此理解非常机械,甚至根本没有弄懂回路的基本概念。假设P2.0输出高电平时内阻为0,只有如此,电阻两端的电压差才能为0,流过电阻的电流当然为0,但电流会通过P2.0流过LED,自然LED就亮了。能点亮LED的电流回路并非只有经由470欧电阻的那一条。不过现实中,MCU的IO内阻不可能为0,尤其是对于弱上拉型IO,其内阻一般为数十千欧,因电阻的限流,直接驱动LED要么不亮,要么亮度很低,所以才加了470欧电阻来增强上拉。此电路在输出高电平时,供给LED的电流绝大部分电流由470欧电阻提供,IO只提供很小的电流,电路等效为一个数十千欧的电阻与470欧电阻并联再与LED串联。
不过,该电路的设计不可取,因为要关断LED,IO需要吸收不小的电流,造成功耗无谓的增加。该电路应改成LED串限流电阻后再接到IO上,IO输出0时LED亮,这样LED不亮时就没有额外功耗。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2019-2-27 17:08
顺便一说,对这类问题感到困惑都是最基本的概念没弄清的结果。其实,只用欧姆定律就可以完美的理解和解决问题,只是思维方式决定了会不会,而不是什么难度。这两天就遇到个出言不逊的二货阿菜,一个非常简单的MOS管开关电路问题,本质上就是个电阻、电流和电压关系的欧姆定律问题,结果连基本概念都不愿去思考甚至口出恶言。菜不可怕,可怕的是态度,不愿弄清看似最简单的基本概念,一味急于求成,结果反而更慢,菜上加菜……
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2019-2-27 17:20
引用: chunyang 发表于 2019-2-27 17:20
顺便一说,对这类问题感到困惑都是最基本的概念没弄清的结果。其实,只用欧姆定律就可以完美的理解和解决问 ...

是这样的道理
点赞  2019-2-27 17:35
主楼电路并非一无是处,假如LED在设备常态时常亮,异常时闪亮,倒是可取的
YesWatt艺瓦特电子科技有限公司 傻大粗电源转换器制造商 https://apu5ob0ydv0ysskfm03hs4dtqfr97j68.taobao.com/
点赞  2019-2-28 12:45
这个电路应该是早期熟悉51单片机的工程师之手。为了说明问题我给出了“集电极开路”电路图

新建位图图像 (2).bmp 这就是“弱上拉”的单片机输出端口原理图。
1、LED发光时;看的出,当端口输出为高时,端口基本上没有什么“带载”能力。
所以在LED发光时端口不怎么消耗功率。端口电压也会被470R电阻给拉下来的。LED的电流基本是从470R的电阻获得的。
2、LED熄灭时;端口输出时三极管处于“导通状态”。output相当于接地。这时LED和端口三极管是并联接地的。所以电流被端口三极管给分去大部分,LED也就不亮了。端口分的电流也不会超过7mA的。7mA很大的电流吗?对于常亮有故障就闪烁的情况是比较合适的。




点赞  2019-2-28 19:42
说明一下:上面的电路图是一个“示意图”,不是集成电路中真正的电路原理图,大家不要误会。只是为了说明早期的51端口电路的特点。
点赞  2019-2-28 19:52
谢谢分享 赞一个
点赞  2019-2-28 22:14
引用: bigbat 发表于 2019-2-28 19:52
说明一下:上面的电路图是一个“示意图”,不是集成电路中真正的电路原理图,大家不要误会。只是为了说明早 ...

谢谢分享,很好
点赞  2019-3-1 08:49
引用: tiankai001 发表于 2019-2-27 14:42
输出低的时候,LED是不会亮的

低电平时,阳极电压不足以点亮二极管,高电平时电阻两端电压一致,不会产生电流,但是二极管是可以亮的,因为单纯来讲如果不看电阻,只在二极管两端加3.3V,灯肯定会亮,如果IO悬空,二极管应该也是亮的吧
点赞  2019-3-1 15:06
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复