74hc244驱动数码管显示电路及程序

来源:电子发烧友整理 作者:2017年12月20日 10:36
关键词:74HC244数码管

把七或八只发光二极管组合在一个模件上组成了个8字和小数点,用以显示数字。为了减少管脚,把各个发光管的其中同一个极接在一起作为共用点,因此就产生了共阳极和共阴极数码之说。共阳管就是把各个发光管的正极接在一起,而共阴管就刚好相反。见下图:

74hc244驱动数码管显示电路及程序

74hc244驱动数码管显示电路

大部分的逻辑IC的吸收电流要强于输出电流。因此,大家都爱使用共阴极的数码管,因为可选的IC多些。可是这组数码管是共阳的,因此公共端用三级管来驱动。最常用的S9012,首先得计划好电路方式,就采用最常用的动态扫描显示。先搭建最简电路,调试出需采用元件的参数。

74hc244驱动数码管显示电路及程序

先不接上图的R2和74HC244,将数码管一个段直接接地。调节R1,测得S9012基极电流为0.21mA时集电极也就是数码管上已有40mA,说明放大倍数足够了。这时接上R2和74HC244,调节R2使数码管电流控制在15mA,这样当8个段一起点亮时三极管上得通过120mA的电流。而基极上需要0.63mA,为了减小三极管的负荷应使三极管过饱和,,调节R1使基极电流为2mA,此时测得集电极和漏极之间的电压约0.1V。此时R1为2K。R2为240欧姆。

74hc244驱动数码管显示电路及程序

74hc244驱动数码管显示电路图

74hc244驱动数码管显示程序

查询方式程序

//六位管码管在以0.3秒的间隔在闪烁,这是采用查询方式的,比较占CUP资源

# include

typedef unsigned char uchar;

uchar code bit_num[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};//位码值表:0,1,2,3,4,5

uchar code meg_val[]={0x03,0x9f,0x25,0x0d,0x99,0x49};//段码值表:0,1,2,3,4,5

uchar code hello[]={0x03,0xe3,0xe3,0x61,0x91,0xff}; //HELLO

uchar code beybey[]={0x89,0x61,0xc1,0x89,0x61,0xc1};//beybey

uchar code ab6789[]={0xc1,0x11,0x09,0x01,0x1f,0x41};//ab6789

void delay(int n);

void main(void)

{

uchar i,m;

P2=0xff; //先将段码关闭

P3=0xff; //将位码关闭

delay(20);//等待一会

while(1)

{

for (m=30;m》0;m--) //显示30次约0.3秒

{

for(i=0;i《=5;i++)

{

P2=0xff;

P3=bit_num[i]; //输出位码到P3口

P2=ab6789[i]; //输出段码到P2口

delay(5);

}

}

P2=0xff; //关闭段码

P3=0xff; //关闭位码

delay(1000); //等待0.3秒

}

}

void delay(int n) //子程序

{

int j;

uchar k;

for(j=0;j

{

for(k=255;k》0;k--);

}

}

12下一页全文

本文导航

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。
作者如不同意转载,既请通知本站予以删除或改正。转载的作品可能在标题或内容上或许有所改动。
收藏 人收藏
分享:

相关阅读

发表评论

elecfans网友

分享到:

用户评论(0