回复 双鱼鱼可乐 :如果是共阳极的数码管,可直接用IO口驱动也能达到你目前的亮度因为51单片机IO口灌电流能达到10MA。但你的是共阴极的,而51的IO口拉电流只有1MA,所以会比较暗(一般数码管要达到5MA才能达到正常亮度)。你加了1K上拉电阻后,当IO口置1输出高电平时,数码管正负极电位差为5V导通,电流接近5MA,主要为VCC提供((5-0.7)/1000约等于4.3MA);当IO口清0输出低电平时,VCC经1K电后被IO拉低,IO口被灌入5MA电流,而数码管的正负极因电位差为零,无电流流过。因此你所说的这种用上拉电阻的接法,无论数码管是否导通都是要消耗5MA左右的电流,或者说也只能提供5MA的电流。