单片机驱动共阳数码管和共阴数码管的比较

2018/7/4 23:15:38 人评论 次浏览 分类:电子技术  文章地址:http://yunrun.com.cn/tech/2065.html

单片机驱动数码管时有共阳和共阴两种接法,昌晖仪表在本文对单片机驱动共阳数码管和共阴数码管做个比较,希望可以抛转引玉,对电子爱好者有所帮助。

共阳数码管的正端接正电源,负端通过一个限流电阻接P口,这时不用接上拉电阻,只要这个限流电阻取合适就可以了。共阳数码管亮时电流就是从电源正→共阳数码管→限流电阻→P口,P口为低电位;共阳数码管灭时没有电流流过,P口为高电位或高阻状态。
共阳数码管电路
共阴数码管负端接地,正端直接P口,这时候要接上拉电阻,这个上拉电阻是提供数码管发光用的。共阴数码管亮时电流是从电源正→上拉电阻→数码管→地。这时上拉电阻也是限流用,P口为高电位或高阻状态;共阴数码管暗的时候电流是从电源正→上拉电阻→P口,这时数码管无电流流过,P口为低电位,限流电阻上流过电流全部从P口流入。
共阴数码管电路
本文对其他情况不细分析。

单片机驱动共阳和共阴数码管的比较要从单片机的输出驱动能力开始讲起。单片机输出驱动分为高电平驱动和低电平驱动两种方式,所谓高电平驱动,就是端口输出高电平时的驱动能力;所谓低电平驱动,就是端口输出低电平时的驱动能力,当单片机输出高电平时,其驱动能力实际上是*端口的上拉电阻来驱动的,实际测试表明,51单片机的上拉电阻的阻值在330K左右,也就是说如果*高电平驱动,本质上就是*330K的上拉电阻来提供电流的,当然该电流是非常小的,小的甚至连发光二极管也难以点亮,如果要保证数码管正常发光,必须要外接一个1K左右的上拉电阻,如果是一个数码管还好,要是n个数码管的话,就要接n个1K的上拉电阻,接电阻的本身是可以的,问题是接了上拉电阻以后,每当端口变为低电平0的时候,那么就有n个上拉电阻被无用的导通,假设每个电阻的电流为5mA计算,n个电阻就是5mA×n电流,这将造成电源效率的严重下降,导致电源发热,纹波增大,以至于造成单片机工作不稳,因此很少有采用高电平直接驱动数码管的,即很少采用单片机驱动共阴数码管。

低电平驱动就不同了,端口为低电平0时,端口内部的开关管导通,可以驱动高达30多毫安的驱动电流,可以直接驱动数码管等负载,当端口为低电平0时,尽管内部的上拉电阻也是消耗电流的,但是由于内部的上拉电阻很大,有330K,因此消耗电流极小,基本上不会影响电源效率,不会造成无用功的大量消耗。

举个实例:笔者首次使用75HC573驱动数码管时,单片机IO输出5V,测试中发现数码管怎么调亮度都很低,仔细分析才明白是自己对数码管共阴和共阳接法没有完全明白导致:共阳数码管公共端为阳极,接一个IO口,电流非常小;共阴数码管公共端为阴极,接多个IO口,电流非常大。明白共阴和共阳数码管原理上的不同,稍作调整问题迎刃而解。
75HC573驱动数码管
因此51单片机是不能用高电平直接驱动数码管的,只能用低电平直接驱动数码管,即51单片机只能用共阳数码管,而不能直接用共阴数码管。

共有访客发表了评论 网友评论

  客户姓名:
邮箱或QQ:
验证码: 看不清楚?