自制基于51单片机的带闹铃时钟的测试视频,电路图及源代码

时间:2021-05-24 00:21:00

先上图

自制基于51单片机的带闹铃时钟的测试视频,电路图及源代码自制基于51单片机的带闹铃时钟的测试视频,电路图及源代码自制基于51单片机的带闹铃时钟的测试视频,电路图及源代码


下面是调整日期和闹铃的程序部分


if(key2==0)//调闹铃
{
delay_50us(200);// 消除抖动
if(key2==0)// 消除抖动
{

read_ring();
ring_change();
while(l)
{

if(key1==0)
{
delay_50us(200);// 消除抖动
if(key1==0)
{
disp[7-k2]++;
if(disp[7-k2]==10)
disp[7-k2]=0;
}
while(!key1);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key1);
}

if(key2==0)
{
delay_50us(200);// 消除抖动
if(key2==0)
{
k2--;//下一个
if(k2<4)
{
while(p)
{
ring_display(8);
ring_display(8);
ring_display(8);
ring_display(8);
ring_display(8);
ring_display(8);
ring_display(8);

if(key1==0)
{
delay_50us(200);
if(key1==0)
{
disp[8]++;
if(disp[8]==2)
disp[8]=0;

}
while(!key1);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key1);


}
ring_display(8);
if(key2==0)
{
delay_50us(200);
if(key2==0)
{
ring_change2(); //保存修改后的时间
//time_data[6]=0;//把秒归0
set_ring();
Buzzer=0;
delay_1ms(150);
Buzzer=1;
p=0;
while(!key2);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key2);
}

}

}

l=0;
break;
}
}
while(!key2);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key2);
}

ring_display(k2);
}


/*while(!key1);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key1); */

}
}




if(key1==0)//调时间
{
delay_50us(200);// 消除抖动
if(key1==0)// 消除抖动
{


while(l)
{

if(key2==0)
{
delay_50us(200);// 消除抖动
if(key2==0)
{
disp[7-k]++;
if(disp[7-k]==10)
disp[7-k]=0;
}
while(!key2);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key2);
}

if(key1==0)
{
delay_50us(200);// 消除抖动
if(key1==0)
{
k--;//下一个
if(k<0)
{
while(p)
{
display(8);
display(8);
display(8);
display(8);

if(key2==0)
{
delay_50us(200);
if(key2==0)
{
disp[8]++;
if(disp[8]==8)
disp[8]=1;

}
while(!key2);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key2);


}
display(8);
if(key1==0)
{
delay_50us(200);
if(key1==0)
{
time_change2(); //保存修改后的时间
time_data[6]=0;//把秒归0
set_rtc();
Buzzer=0;
delay_1ms(150);
Buzzer=1;
p=0;
while(!key1);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key1);
}

}

}

l=0;
break;
}
}
while(!key1);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key1);
}

display(k);
}


/*while(!key1);//不放手key1就是0,则不动 (好像不需要了)
delay_50us(200);
while(!key1); */

}
}

}
}




这是测试视频:http://www.tudou.com/programs/view/cshUzMQdcXg/
这是电路图:http://download.csdn.net/detail/neolone/3668588
这是源代码:http://download.csdn.net/detail/neolone/3667634