怎样用三个按键控制时钟的秒、分、时?
6个数码管实现电子时钟功能(小时-分钟-秒:定时器设计)。要求三个按键调节时间:K0调整小时,K1调整分钟,K2调整秒,每按一次加1。时钟初始为12点整。以下程序怎么改?...
6个数码管实现电子时钟功能(小时-分钟-秒:定时器设计)。要求三个按键调节时间:K0调整小时,K1调整分钟,K2调整秒,每按一次加1。时钟初始为12点整。以下程序怎么改?
#include"at89x51.h"
unsigned char code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char i=6,j=5,n=7,m=5,x=0,y=2;
unsigned char time=0;
key_delay();
delay();
main()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR0=1;
ET0=1;
EA=1;
while(1)
{
P2=0xdf;
P0=seg[i];
delay();
P0=0xff;
P2=0xef;
P0=seg[j];
delay();
P0=0xff;
P2=0xf7;
P0=seg[n];
delay();
P0=0xff;
P2=0xfb;
P0=seg[m];
delay();
P0=0xff;
P2=0xfd;
P0=seg[x];
delay();
P0=0xff;
P2=0xfe;
P0=seg[y];
delay();
P0=0xff;
if(time==20)
{
time=0;
i++;
if(i==10)
{
i=0;
j++;
if(j==6)
{
j=0;
n++;
if(n==10)
{
n=0;
m++;
if(m==6)
{
m=0;
x++;
if(x==10)
{
x=0;
y++;
}
if(x==4&&y==2)
{
x=y=0;
}
}
}
}
}
}
}
}
T0_int() interrupt 1
{
TH0=0X3C;
TL0=0XB0;
time++;
}
delay()
{
unsigned char t1,t2;
for(t1=0;t1<25;t1++)
for(t2=0;t2<50;t2++);
}
key_delay()
{
unsigned char t3,t4;
for(t3=0;t3<100;t3++)
for(t4=0;t4<100;t4++);
}
我的邮箱895543408 展开
#include"at89x51.h"
unsigned char code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char i=6,j=5,n=7,m=5,x=0,y=2;
unsigned char time=0;
key_delay();
delay();
main()
{
TMOD=0x01;
TH0=0x3c;
TL0=0xb0;
TR0=1;
ET0=1;
EA=1;
while(1)
{
P2=0xdf;
P0=seg[i];
delay();
P0=0xff;
P2=0xef;
P0=seg[j];
delay();
P0=0xff;
P2=0xf7;
P0=seg[n];
delay();
P0=0xff;
P2=0xfb;
P0=seg[m];
delay();
P0=0xff;
P2=0xfd;
P0=seg[x];
delay();
P0=0xff;
P2=0xfe;
P0=seg[y];
delay();
P0=0xff;
if(time==20)
{
time=0;
i++;
if(i==10)
{
i=0;
j++;
if(j==6)
{
j=0;
n++;
if(n==10)
{
n=0;
m++;
if(m==6)
{
m=0;
x++;
if(x==10)
{
x=0;
y++;
}
if(x==4&&y==2)
{
x=y=0;
}
}
}
}
}
}
}
}
T0_int() interrupt 1
{
TH0=0X3C;
TL0=0XB0;
time++;
}
delay()
{
unsigned char t1,t2;
for(t1=0;t1<25;t1++)
for(t2=0;t2<50;t2++);
}
key_delay()
{
unsigned char t3,t4;
for(t3=0;t3<100;t3++)
for(t4=0;t4<100;t4++);
}
我的邮箱895543408 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询