???ӵ?·???

核心提示其实不用定时中断也能实现功能:#include<reg51.h> 主函数unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};定义0-9数组uns

其实不用定时中断也能实现功能:

#include<reg51.h> 主函数

unsigned char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};定义0-9数组

unsigned int tmp;定义变量

void delay(unsigned int xms)定义延时函数

{unsigned int j,i;

for(i=0;i<xms;i++)

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

}

void disp()定义子函数

{

P1=tmp;

delay(1);

P2=0xff;

tmp=tmp<<1;

}

void main( )

{

unsigned char z,s=00,m=00,h=00;给时钟初始值

while(1)

{

for(z=0;z<100;z++)

{

tmp=0x01;

P2=tab[h/10];小时显示

disp();

P2=tab[h%10];

disp();

P2=tab[m/10];分钟显示

disp();

P2=tab[m%10];

disp();

P2=tab[s/10];秒显示

disp();

P2=tab[s%10];

disp();

}

s++;

while(s==60)秒进一位,到60清0

{

m++;

s=00;

}

while(m==60)分钟进一位,到60清0

{

h++;

m=00;

}

while(h==24)小时进一位,到24清0

{

h=00;

}

}

}

 
友情链接
鄂ICP备19019357号-22