怎样用三个按键控制时钟的秒、分、时?

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
展开
 我来答
dangkun39
2011-06-15 · 超过16用户采纳过TA的回答
知道答主
回答量:310
采纳率:0%
帮助的人:172万
展开全部
我正在做基于单片机的万年历,时钟模块是ds1302,显示模块为1602,有三个按键最好是用DS1302,安全可靠。不过1302的使用有些技巧。 要把程序帖出来
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式