单片机输出驱动分为高电平驱动和低电平驱动两种方法,所谓高电平驱动,便是端口输出高电平时的驱动才能,所谓低电平驱动,便是端口输出低电平时的驱动才能,当单片机输出高电平时,其驱动才能实践上是端口的上拉电阻来驱动的,实践测验标明,51单片机的上拉电阻的阻值在330K左右,也便是说假如高电平驱动,本质上便是330K的上拉电阻来供给电流的,当然该电流是十分小的,小的甚至连发光二极管也难以点亮,假如要确保LED正常发光,必需要外接一个1K左右的上拉电阻,假如是一个led还好,要是10个、20个led的话,就要接10个、20个1K的上拉电阻,接电阻的自身是能够的,问题是接了上拉电阻今后,每逢端口变为低电平0的时分,那么就有10个、20个上拉电阻被无用的导通,假定每个电阻的电流为5mA核算,20个电阻便是100mA,这将形成电源功率的严峻下降,导致发热,纹波增大,以至于形成单片机作业不稳,因而很少有选用高电平直接驱动led的,高电平驱动led实践上便是共阴。
低电平驱动就不同了,端口为低电平0时,端口内部的开关管导通,能够驱动高达30多毫安的驱动电流,能够直接驱动led等负载,当端口为低电平0时,虽然内部的上拉电阻也是耗费电流的,可是因为内部的上拉电阻很大,有330K,因而耗费电流极小,基本上不会影响电源功率,不会形成无用功的很多耗费。
因而51单片机是不能用高电平直接驱动led的,只能用低电平直接驱动led,即只能用共阳数码管,而不能直接用共阴数码管