//主程序/
void main()//主程序开始
{
chushi();//初始化
while(1)//大循环
{
if(g!=1)//如果g不等于1,就执行下一句,否则跳过下一句
disy(fen,shi);//调用走时显示子程序
key11();//调用按键子程序
bbbt();//调用闹钟子程序
}
}
/按键执行的子程序/
void key11()//按键子函数
{
if(a!=0)//如果a不等于0,则执行大括号语句,否则跳过
{
dian=0;//将中间两个小数点打开
delay(10);//延时一会儿
dian=1;//将点关掉
delay(10);//延时一会儿,以上即是动态显示
disy(fen,shi);//调用显示子程序
delay(4000);//延时,使它闪烁
}
if(b!=0)//如果b不等于0,则执行大括号语句
{
disy1(shi);//调用小时显示子程序,此程序在前面声明
delay(2000);//延时,即使它闪烁
if(key1==0)//如果+按键有按下,则执行大括号内容
{
delay(10);//去抖
if(key1==0)//再次判断
{
shi++;//确实按下了就将小时时间+1
disy1(shi);//加1后调用小时显示子程序
delay(10);//延时一会儿
if(shi==24)//如果小时加到了24就执行下一个语句,否则跳过
shi=0;//到了24就清0
}
}
if(key2==0)//如果-按键有按下,则执行大括号内容
{
delay(10);//去抖动
if(key2==0)//再次确认
{
shi--;//确实按下就将小时减1
disy1(shi);//调用显示程序
delay(10);//延时
if(shi==(0-1))//如果小时到了(0-1)时,就给23
shi=23;//给23
}
}
}
if(c!=0)//如果b不等于0,则执行大括号语句
{
disy2(fen);//调用调分分显示子程序
delay(2000);//使它闪动
if(key1==0)//判断+按键是否有按下
{
delay(10);//延时
if(key1==0)//再次确认按下情况
{
fen++;//将分加1
disy2(fen);//调用显示子程序
delay(10);//延时一会儿
if(fen==60)//如果分到了60,则执行下一语句
fen=00;//清0
}
}
if(key2==0)//如果减按键按下了执行下一语句
{
delay(10);//延时一会儿
if(key2==0)//再次判断
{
fen--;//将分减1
disy2(fen);//调用显示子程序
delay(10);//延时
if(fen==(0-1))//如果分等于(0-1),则给59
fen=59;//给59
}
}
}
if(d!=0)//如果b不等于0,则执行大括号语句
{