数码管电路的制做与驱动 2007-08-21 21:17 数码管的使用方法与发光二极管没什么区别,只是把七或八只发光二极管组合在一个模件上组成了个8字和小数点,用以显示数字
为了减少管脚,把各个发光管的其中同一个极接在一起作为共用点,因此就产生了共阳极和共阴极数码之说
共阳管就是把各个发光管的正极接在一起,而共阴管就刚好相反
见下图: 一般来说大部分的逻辑 IC的吸收电流要强于输出电流
因此,大家都爱使用共阴极的数码管,因为可选的IC多些
很可惜,我的这组数码管是共阳的,因此公共端我打算用三级管来驱动
我的最小系统板: 我用最常用的S9012,首先我得计划好电路方式,就采用最常用的动态扫描显示
先搭建最简电路,调试出需采用元件的参数
先不接上图的R2和 74HC244,将数码管一个段直接接地
调节 R1,测得S9012基极电流为 0
21mA时集电极也就是数码管上已有 40mA,说明放大倍数足够了
这时接上 R2和 74HC244,调节 R2使数码管电流控制在 15mA,这样当 8个段一起点亮时三极管上得通过120mA的电流
而基极上需要 0
63mA,为了减小三极管的负荷应使三极管过饱和,,调节R1使基极电流为 2mA,此时测得集电极和漏极之间的电压约 0
此时 R1为 2K
R2为 240欧姆
接下来就是确定电路
电路的接口与AT89S51间有三组接口:段码、位码和电源
为了让 AT89S51独立出来这三级接口都采用插针做接口,用排线自由连接到 AT89S51的P1-P3口,电源用短路帽连接,完成后的板子见下图 反面: 说明: 然后就是写程序
先写个查询方式的吧
//六位管码管在以0
3秒的间隔在闪烁,这是采用查询方式的,比较占CPU资源 /****************************************************