为什么单片机用1输出低电平,用0输出高电平?

EzAMC


在数字电路里只有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,这都是根据实际需要设计的编码方式。


stone20182015


你提的问题就有错误,高电平是1,低电平是0在,这是没任何疑问的,你是想表达1作为关信号,0作为开信号,其实也不一定是这样,但大多数是这样做的,因为0的灌电流能力强也就是驱动能力强。


良子2018


我明白你的意思,输出1,LED灯灭,输出0,LED灯亮,是这个意思吧,那是因为LED接的共阳极,所以需要一个0,才能让灯亮,其次,像51单片机,除了P0口,其他都是在片内做上拉,所以默认输出高电平


RealmePhone


1是输出高电平吧,0是输出低电平吧。


海盗机器人


rs232是-15V~-5V是高电平,5V~15V是低电平


Inpetents


因为开漏驱动电流大驱动能力强,所以很多单片机都反逻辑是用。


狗头熊


这个可以实现的,只要修改你的外设电路,比如在io口加个三极管,单片机io输出高电平时,三极管不导通,这样就可以了,或者加个中继,光藕,都可以实现你想要的。


陪我闯荡


单片机内部其实也是由很多分立元件按照一定的规律搭接,然后再将它们固化而成的,一般思维都是1表示高电平,0表示低电平。如果你是芯片设计者,你也可以按照你的思维设计你专属的芯片。


雕刻时光lw


题目都问错了,给次机会你再问一次



分享到:


相關文章: