正常情况下单片机IO口都要用灌电流,所以,你接LED后再接电阻,然后接到IO口上是可以正常显示的,但这个IO口做不了其它用途了。再者要严格控制芯片总电流不可大于数据手册中的值。所以一般情况下,都要外接驱动电路来驱动数码管。所谓LED数码管的位选端不就是共阳极吗?你直接接在P2上怎么能驱动呢?除非这个单片机有推挽输出,而且输出电流至少要大于50mA,不然怎么驱动那么多的LED呢?建议不要直接接上。还是要用PNP管驱动一下,或者你选用数码管专用驱动芯片来做,那样驱动电流就不是问题了。