基于51单片机电子闹钟的设计 下载本文

shi=shi4; }

cnt1=0;

}

}

if(key2==0) //判断key2是否按下 { while(!key2) //防止掉显 { if(cnt==1||cnt==2||cnt==3) { display1(); }

if(cnt==4||cnt==5||cnt==6)

{ display2(); }

if(cnt==7||cnt==8||cnt==9)

{ display3(); }

if(cnt==0||cnt==10||cnt==11||cnt==12||cnt==13)

{ display(); } } jia(); }

if(key3==0) //判断key3是否按下 { while(!key3) //防止掉显 { if(cnt==1||cnt==2||cnt==3) { display1(); }

if(cnt==4||cnt==5||cnt==6)

{ display2(); }

if(cnt==7||cnt==8||cnt==9)

{ display3(); }

if(cnt==0||cnt==10||cnt==11||cnt==12||cnt==13)

{ display(); } } jian(); }

//调用减1子函数

if(key4==0) //判断key4是否按下

21

{while(!key4) //防止掉

{ if(cnt==1||cnt==2||cnt==3)

{ alm1=~alm1;

display1();

}

if(cnt==4||cnt==5||cnt==6) { alm2=~alm2;

display2();

}

if(cnt==7||cnt==8||cnt==9) { alm3=~alm3;

display3();

}

if(cnt==0||cnt==10||cnt==11||cnt==12||cnt==13)

display(); } }

}

void jia() // 加1子函数 { if(cnt==1)

//判断key1按下的次数是否为1 //是,则秒加1

{ miao1++;

if(miao1>59) //判断秒是否大于60,是,则秒清零 miao1=0; } if(cnt==2) { fen1++; if(fen1>59) fen1=0; } if(cnt==3) { shi1++; if(shi1>23)

22

//以下含意同上

shi1=0; } if(cnt==4) { miao2++; if(miao2>59) miao2=0; } if(cnt==5) { fen2++; if(fen2>59) fen2=0; } if(cnt==6) { shi2++; if(shi2>23) shi2=0; } if(cnt==7) { miao3++; if(miao3>59) miao3=0; } if(cnt==8) { fen3++; if(fen3>59) fen3=0; } if(cnt==9) { shi3++; if(shi3>23) shi3=0; }

23

if(cnt==10) { miao++; if(miao>59) miao=0;

cnt1++;

}

if(cnt==11) { fen++; if(fen>59) fen=0;

cnt1++;

} if(cnt==12) { shi++; if(shi>23) shi=0;

cnt1++;

} }

void jian() // 减1子函数 { if(cnt==1) { miao1--;

if(miao1==255) //判断秒是否减到255,是,则秒置59 miao1=59; } if(cnt==2) { fen1--; if(fen1==255) fen1=59; } if(cnt==3) { shi1--;

24

//判断key1按下的次数是否为1,是则秒减1

//以下含意同上