第1个回答 2014-01-02
单片机的I/O口输出状态有三种:
1、低电平0;
2、高电平1;
3、悬空。
单片机如何控制I/O输出呢?可以简单理解为:
1、当需要输出低电平0时,单片机内部通过控制NPN三极管基极,使三极管导通,三极管C极(I/O输出端)和三极管E极(GND端)导通,所以此时输出为低电平。
2、如果内部有上拉电阻,也就是三极管C极有一电阻连接至VCC端。所以当单片机内部使NPN三极管关断时,三极管C极(I/O输出端)是通过电阻连接至VCC的,所以此时输出为高电平。
3、如果内部没有上拉电阻,所以当单片机内部使NPN三极管关断时,三极管C极(I/O输出端)是悬空的,和VCC、GND都不连接,所以此时为悬空,不确定其状态,具体状态和外部电路有关。
所以当设计的电路和程序,不需要输出高电平时,就不需上拉电阻。需要高电平,就必须在外部接一上拉电阻。
比如采用灌电流驱动一LED时,当输出低电平时,LED发光,当不输出低电平时,LED无法形成回路,就不会发光,此时就不需高电平,也不需上拉电阻。本回答被网友采纳