合泰单片机数码管c语言,HOLTEK单片机-数码管显示

功能说明:

4个共阳极七段显示器每次显示4个数字,从0-F共有16个字,分成3-0,7-4,B-8,F-C四组数字,每次显示一组,依次显示,循环不止。

电路说明:

电路图如下图所示:

156521ce41108e8448845ee8327e795f.gif

本实验所使用的共阳极七段显示器是由4个七段显示器做在一起,所以4个七段显示器共享一组七段控制线,而每一个七段显示器都有自己的共阳极脚,故这组共阳极七段显示器共有12只引脚。

晶体管Q1-Q4  作为电子开关,使用PNP型三极管,当晶体管的基极为低电位时,发射极与集电极导通,但是会有0.2V的压降。

由于每一个晶体管的发射极都可接上电源供给所控制的共阳极七段显示器,故在七段显示器的每一段LED上必须串接一个电阻,以防止LED被烧毁。因为发射极可以直接接VCC而无须再串接电阻,但需注意基极必须接一个数千欧的电阻,这样晶体管才会正常工作。

程序:

#include "HT48F50E.H"

const unsigned char number[16]={

0x81,0xcf,0x92,0x86,

0xcc,0xa4,0xa0,0x8f,

0x80,0x84,0x88,0xe0,

0xb1,0xc2,0xb0,0xb8}; //数码管显示0-F

void delayms(unsigned int dly)

{

unsigned int i;

for(i=0;i

{

_delay(984);

}

} //延时函数1MS

void main()

{

unsigned char j;

_pac=0x00;

_pbc=0x00; //PA,PC输出选择

while(1) //大循环

{

for(j=0;j<50;j++) //循环显示

{

_pb=0xfe; //选通第一位数码管

_pa=number[0]; //显示0

delayms(5); //延时5MS(下同)

_pb=0xfd;

_pa=number[1];

delayms(5);

_pb=0xfb;

_pa=number[2];

delayms(5);

_pb=0xf7;

_ pa=number[3];

delayms(5);

}

for(j=0;j<50;j++)

{

_pb=0xfe;

_pa=number[4];

delayms(5);

_pb=0xfd;

_pa=number[5];

delayms(5);

_pb=0xfb;

_pa=number[6];

delayms(5);

_pb=0xf7;

_pa=number[7];

delayms(5);

}

for(j=0;j<50;j++)

{

_pb=0xfe;

_pa=number[8];

delayms(5);

_pb=0xfd;

_pa=number[9];

delayms(5);

_pb=0xfb;

_pa=number[10];

delayms(5);

_pb=0xf7;

_pa=number[11];

delayms(5);

}

for(j=0;j<50;j++)

{

_pb=0xfe;

_pa=number[12];

delayms(5);

_pb=0xfd;

_pa=number[13];

delayms(5);

_pb=0xfb;

_pa=number[14];

delayms(5);

_pb=0xf7;

_pa=number[15];

delayms(5);

}

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值