你的应该是这样的电路,单片机采用灌电流方式,发光二极管正极端接正5V,负极端接单片机I/O。这样只要单片机输出低电平r0(0V),灯就亮了。输出高电平1(5V)时灯灭。
这个单片机的灌电流20mA,拉电流能力是200uA
普通51单片机,带负载能力极差。所以它烧坏这种功能,LED亮与不亮要看方向,只要使它导通,而且根据我的经验,51单片机,IO只能有1-2mA,除非增强型。
要看你电路怎么接的啦,单片机输出是mA级,led几毫安就点亮了。再仔细看看单片机P1口结构就明白了。
看实际电路是怎么接的,如果用到了三极管,输出是零的时候反而会导通。
或者将led正极接5V,负极接单片机管脚,这时单片机引脚置零的话电流会从正极流经led通过单片机管脚最终接地,stc这个型号的单片机完全有能力灌入led发光所需的电流。具体参数看看手册,中文版的很详细。
因为让二极管亮 需要一边高一边低 你所说的 是因为 你的二极管另一端接在电源线上了(可能中间有个上拉电阻 一样的)
单片机每个引脚的输出电流一般应该是20mA左右 不过你不要接太多 因为总电流是一个定值 具体跟型号有关
简单扼要 希望采纳