这个问题提得好!我想原因有二,其一,低能儿的设计,他根本连技术手册的电气参数都不看甚至看不懂,别人这么设计(早期51没推挽输出)他只好跟着。其二,部分51单片机虽然有推挽输出,但整个芯片有功耗限制,如果推挽输出总电流比较大,只好用三极管驱动LED,这属于无奈之举。但也不尽然,如果对电源功耗没什么限制,可以使用排阻配合共阴极数码管实现无三极管驱动。
除了有单个io 驱动电流得限制外,还有整个芯片总电流的限制,具体多少要看具体芯片的资料。推一个led 没问题,多个就可能损坏芯片