工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

99计数器C语言版本

作者:dolphin时间:2011-05-05

/* 99计数器C语言版本
*********************************
Create by:左秀龙
support:
Tel:0755-82879296
Date: 2005/06/23
*********************************
*/

#includeAT89x51.h

void main()
{
unsigned char DB[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~9数据
unsigned char i,upbit,lowbit,cnt=100;
void delay10ms(unsigned char time);

while(1)
{
for(i=0;icnt;i++)
{
if(i10) //小于10的数直接显示在个位
{
P0=DB[i]; //P0口为段接位
P2_0=0; //个位的位选
delay10ms(100);
P2_0=1;
}
else if(i=10) //大于等于10的数分时显示在个位和十位上
{
upbit=i/10;
lowbit=i%10;
P0=DB[lowbit];
P2_0=0;
delay10ms(100);
P2_0=1;

P2_0=1; //十位的位选
P0=DB[upbit];
P2_1=0;
delay10ms(100);
P2_1=1;
}
}
}
}

//延时程序
void delay10ms(unsigned char time)
{
unsigned char a,b,c;
for(a=0;a=time;a++)
for(b=0;b=10;b++)
for(c=0;c=120;c++)
;
}

附录: 999计数器C语言源程序

//数码管实验
/* 999计数器C语言源程序
*/

#include

void main()
{
unsigned char DB[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; //0~9数据
unsigned char a;
unsigned int i,upbit,lowbit,hibit,cnt=1000;
void delay10ms(unsigned char time);

while(1)
{
for(i=0;i {
hibit=i/100; //提取百位
upbit=(i-hibit*100)/10; //提取十位
lowbit=i%10; //提取个位
for(a=0;a30;a++) //调整a的大小可改变计数的显示速度
{
P0=DB[lowbit];
P2_0=0; //个位的位选
delay10ms(1);
P2_0=1;

P0=DB[upbit];
P2_1=0; //十位的位选
delay10ms(1);
P2_1=1;

P0=DB[hibit];
P2_2=0; //百位的位选
delay10ms(1);
P2_2=1;
}
}
}
}

//延时程序
void delay10ms(unsigned char time)
{
unsigned char a,b,c;
for(a=0;a=time;a++)
for(b=0;b=10;b++)
for(c=0;c=120;c++)
;
}


关键词: 计数器 语言 版本

评论

技术专区