51单片机 用按键设定时钟时间的原理
发布网友
发布时间:2022-04-29 02:26
我来回答
共4个回答
热心网友
时间:2022-06-28 16:49
给你个思路。程序自己写
void intterupt0(void) interrupt 0
{ while(k4==1)
{
if(k1==0)
{
delay(10);
while(k1==0);
p++;
}
else if(k2==0)
{
delay(10);
while(k2==0);
*p=*p++;
}
else if(k3==0)
{
delay(10);
while(k3==0);
*p=*p--;
}
DISPLAY(); //显示b[]中的内容
if(*p=='\0')
p=b;
}
p=b;
}
简单和你说下。
p定义一个指向数组b的指针
数组b为从时钟芯片中读取的时间内容,格式,秒,分,时,日,月,星期,年
用了5个按键。一个按键控制中断,一个按键退出修改(K4)。进入中断后,若K4不按下,则在WHILE(K4)里一直循环,K1,指针地址+1,K2指针值+1,K3,指针值-1; 改完了后,将修改好的B里的值显示出来。由于DISPLAY()是在循环中的,所以每修改一个键,他就会被调用显示一次,就实现了实时修改显示的目的。修改完后,按下K4,跳出循环。最后将b[]中的值存入时钟芯片,OK了
不知道你懂没。
时钟芯片用DS1302
热心网友
时间:2022-06-28 16:49
我有AVR的程序,用按键来设定时间的,基本上是一样的,你用这个程序做什么?
热心网友
时间:2022-06-28 16:50
按一下加1 到了60就 进1 差不多就是这样 你的问题不具体 也不知道你的硬件怎么安排的
热心网友
时间:2022-06-28 16:50
mark
一下