Android课程设计倒计时app,课程设计题九: 倒计时时钟设计

shi--; //时钟减1

if(shi==255) shi=23; //小于0就等于23

}

k=1000;

}

}

else

{

if(k>500 && k<3000) //短按

{

if(knum==1)

{

miao--; //秒钟减1

if(miao==255) miao = 59; //小于0就等于59

}

if(knum==2)

{

fen--; //分钟减1

if(fen==255) fen=59; //小于0就等于59

}

if(knum==3)

{

shi--; //时钟减1

if(shi==255) shi=23; //小于0就等于23

}

}

k=0;        //消抖变量清零,为下次按键做准备

}

}

void main()

{

init();//定时器初始化

out = 1;

while(1)

{

keysan();//按键扫描函数

dis();//显示函数

if(shi==0 && fen==0 && miao==0 && flag == 1 )  //倒计时时间到

{

flag=0;   //停止计时

flag1=1;  //启动蜂鸣器标志置1

out=1;    //关闭输出

}

}

}

void timer() interrupt 1

{

TH0 = (65536-1000)/256;          //1毫秒初值

TL0 = (65536-1000)%256;

//1s计时//

if(flag)

{

cont++;

if(cont == 1000)          //1s到

{

cont = 0; //清0

miao--; //秒数减1

if(miao==255) //如果小于0,就是59

{

miao=59;

fen--; //分钟数减1

if(fen==255) //如果小于0,就是59

{

fen=59;

shi--; //小时减1

if(shi==255) shi=0;   //时钟小于0,就是0

if(shi==0) fen=59;   //时钟小于0,就是255

if(fen==0 && shi==0) fen=0;//时钟分钟都为0,就是0

}

}

}

}

//蜂鸣器控制//

if(flag1)              //倒计时时间到,启动蜂鸣器

{

cont1++;

if(cont1==500) //500ms蜂鸣器响一次

{

cont1=0;

di=!di;

cont2++;

if(cont2==20)//500*20=10000ms=10s,蜂鸣器响10s后停止

{

cont2=0;

flag1=0;

}

}

}

//启动/暂停键//

if(knum != 0)

{

shan_cont++;

if(shan_cont==100)  //设置时,100ms闪烁时间 可根据实际效果调整

{

shan_cont=0;

shan = !shan;

}

}

/**********************************数码管扫描函数**********************************/

i++;  //挨个显示

if(i>=8) i=0;  //清0

duan = 0x00;

switch(i)

{

case 0:

if(knum==1) //如果设置键第一次按下

{

if(shan==1) {wei = 0x00; duan = LedBuff[0];}  //设置秒位闪烁

else {wei = weima[0]; duan = LedBuff[0];}

}

else{wei = weima[0]; duan = LedBuff[0];}        break;        //否则正常显示

case 1:

if(knum==1)//如果设置键第一次按下

{

if(shan==1){wei = 0x00; duan = LedBuff[1];}   //设置秒位闪烁

else{wei = weima[1]; duan = LedBuff[1];}

}

else{wei = weima[1]; duan = LedBuff[1];}  break;//否则正常显示

case 2:  wei = weima[2]; duan = LedBuff[2];        break;//显示-

case 3:

if(knum==2) //如果设置键第二次按下

{

if(shan==1){wei = 0x00; duan = LedBuff[3];}   //设置分位闪烁

else{wei = weima[3]; duan = LedBuff[3];}

}

else{wei = weima[3]; duan = LedBuff[3];}    break;//否则正常显示

case 4:

if(knum==2) //如果设置键第二次按下

{

if(shan==1){wei = 0x00; duan = LedBuff[4];}  //设置分位闪烁

else{wei = weima[4]; duan = LedBuff[4];}

}

else{wei = weima[4]; duan = LedBuff[4];}        break;//否则正常显示

case 5:  wei = weima[5]; duan = LedBuff[5];        break;//显示-

case 6:

if(knum==3) //如果设置键第三次按下

{

if(shan==1){wei = 0x00; duan = LedBuff[6];} //设置时位闪烁

else{wei = weima[6]; duan = LedBuff[6];}

}

else{wei = weima[6]; duan = LedBuff[6];}        break;//否则正常显示

case 7:

if(knum==3) //如果设置键第三次按下

{

if(shan==1){wei = 0x00; duan = LedBuff[7];}    //设置时位闪烁

else{wei = weima[7]; duan = LedBuff[7];}

}

else{wei = weima[7]; duan = LedBuff[7];}        break;//否则正常显示

c2c9ed493cd281aa86d8a6f5178c4c01.gif [1] [2] [3] 610626052e95c7fbe3d254abc769d9ad.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值