你用P0口驱动数码管的公共端,要求数码管是共阴的才行的,这样位码是0有效。那个P2口输出段码,是不需要上拉电阻的。通常是用P0口输出段码,用上拉电阻,而用P2口输出位码,可用共阴数码管,也可用共阳数码管。
用P0口做数据端口,是需要加上上拉电阻的,否则得不到高电平。你用P0口做数码管的位选端,自然也是要加上上拉电阻的。
是电压不够,不能驱动吧,看你ABCDEFG和DP全是高电平。