为什么单片机用1输出低电平,用0输出高电平?
题目都问错了,给次机会你再问一次
在数字电路里只有0和1,TTL电路中高电平用1表示,低电平用0表示。题主的问题有点模糊,是不是想问单片机如何用1输出低电平,用0输出高电平?按照这个思路回答一下。
这个其实是反相器的功能,用非门即可以试下。单片机通过控制三极管也可以实现。下图是用PNP三极管搭建的一个简单电路,可以实现上述功能。
上图中,PNP三极管的基极通过电阻连接到单片机的GPIO口,三极管的发射极接电源VCC,三极管的集电极通过负载接地。电路分析如下:
单片机的GPIO口输出1时:
此时三极管的基极是高电平,即为1,三极管截至不导通,Out端还是低电平,即为0。
单片机的GPIO口输出0时:
此时三极管的基极是低电平,即为0,三极管PN结正偏,导通,Out端输出高电平,即为1。
通过以上分析,单片机实现了用1输出低电平,用0输出高电平。另外,用NPN三极管也可以实现这个功能,电路图如下所示。
以上就是这个问题的回答,感谢留言、评论、转发。
更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。
问题没说清楚,单片机GPIO口是没有所谓1输出低电平,0输出低电平。
在有一些通信接口,如串口中存在负逻辑,既低电平表示1,高电平表示0,这个可以认为是编码方式上的一种优化, 通信中常用的好用nrz非归零编码 既用连续电平的变化来表示0或1,这都是根据实际需要设计的编码方式。
你提的问题就有错误,高电平是1,低电平是0在,这是没任何疑问的,你是想表达1作为关信号,0作为开信号,其实也不一定是这样,但大多数是这样做的,因为0的灌电流能力强也就是驱动能力强。
我明白你的意思,输出1,LED灯灭,输出0,LED灯亮,是这个意思吧,那是因为LED接的共阳极,所以需要一个0,才能让灯亮,其次,像51单片机,除了P0口,其他都是在片内做上拉,所以默认输出高电平
因为开漏驱动电流大驱动能力强,所以很多单片机都反逻辑是用。
1是输出高电平吧,0是输出低电平吧。
上电路图!引脚内部逻辑电路图,不然没法回答。
你说的是不是IO口的输出方向。有的单片机是用1表示输入,0表示输出。是输出方向不是输出的电平。
这个可以实现的,只要修改你的外设电路,比如在io口加个三极管,单片机io输出高电平时,三极管不导通,这样就可以了,或者加个中继,光藕,都可以实现你想要的。
本问题和回答均来自本站网友,不代表本站立场,如若转载,请注明出处:https://www.eipin.cn/ask/617