OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 高校专区 » 坤创E-Geek/天科大新电社 » 关于蓝桥杯第八届时钟表(7)

共3条 1/1 1 跳转至

关于蓝桥杯第八届时钟表(7)

菜鸟
2019-03-23 21:24:36    评分

这回分享的是第八届时钟表的做题思路。给自己留了5个小时,然而做题的效率还是不够。重在思路吧。、

void main()
{
 init();
 ds1302init();
 while(1)
 {
  ds1302read();
  wendu=temget();
  timeset();
   alarmset();
  keyscan();
   if(P33==0)
  {
   delayms(100);
   if(P33==0)
   {
      yi=20;er=20;san=20;
      si=20;wu=20;
      liu=wendu/10;qi=wendu%10;ba=12;
   }
  }
  display1(yi,er);
  display2(san,si);
  display3(wu,liu);
  display4(qi,ba);
 }
}
void timeset()
{
   if(shezhi==0)
  {
  yi=TIME[2]/10;er=TIME[2]%10;san=19;
  si=TIME[1]/10;wu=TIME[1]%10;liu=19;
  qi=TIME[0]/10;ba=TIME[0]%10;
  }
  else if(shezhi==1)
  {
   if(TIME[0]%2==0)
   {
     yi=TIME[2]/10;er=TIME[2]%10;san=19;
     si=20;wu=20;liu=19;
     qi=20;ba=20;}
   else {
      yi=20;er=20;san=19;
      si=20;wu=20;liu=19;
      qi=20;ba=20;
   }
      if(jia==1)
   {jia=0;if(TIME[2]==24)TIME[2]=0;TIME[2]++;ds1302init();}
      if(jian==1)
   {jian=0;if(TIME[2]==0)TIME[2]=24;TIME[2]--;ds1302init();}
  }
   else if(shezhi==2)
  {
   if(TIME[0]%2==0){
      yi=20;er=20;san=19;
      si=TIME[1]/10;wu=TIME[1]%10;liu=19;
      qi=20;ba=20;}
   else{
      yi=20;er=20;san=19;
      si=20;wu=20;liu=19;
      qi=20;ba=20;
   }
      if(jia==1)
   {jia=0;TIME[1]++;if(TIME[1]==60)TIME[1]=0;ds1302init();}
      if(jian==1)
   {jian=0;TIME[1]--;if(TIME[1]==0)TIME[1]=59;ds1302init();}
  }
   else if(shezhi==3)
  {
   if(TIME[0]%2==0){
      yi=20;er=20;san=19;
      si=20;wu=20;liu=19;
      qi=TIME[0]/10;ba=TIME[0]%10;}
   else{
      yi=20;er=20;san=19;
      si=20;wu=20;liu=19;
      qi=20;ba=20;
   }
      if(jia==1)
   {jia=0;TIME[0]++;if(TIME[0]==60)TIME[0]=0;ds1302init();}
      if(jian==1)
   {jian=0;TIME[0]--;if(TIME[0]==0)TIME[0]=59;ds1302init();}
  }
}
void alarmset()
{
 if(alarm==1)
 {
  yi=clock[2]/10;er=clock[2]%10;san=19;
  si=clock[1]/10;wu=clock[1]%10;liu=19;
  qi=clock[0]/10;ba=clock[0]%10;
 }
 else if(alarm==2)
 {
  if(TIME[0]%2==0)
   {
     yi=clock[2]/10;er=clock[2]%10;san=19;
     si=20;wu=20;liu=19;
     qi=20;ba=20;}
   else {
      yi=20;er=20;san=19;
      si=20;wu=20;liu=19;
      qi=20;ba=20;
   }
      if(jia==1)
   {jia=0;clock[2]++;if(clock[2]==24)clock[2]=0;}
      if(jian==1)
   {jian=0;clock[2]--;if(clock[2]==0)clock[2]=24;}
  }
 else if(alarm==3)
 { 
   if(TIME[0]%2==0)
   {
     yi=20;er=20;san=19;
     si=clock[1]/10;wu=clock[1]%10;liu=19;
     qi=20;ba=20;}
   else {
      yi=20;er=20;san=19;
      si=20;wu=20;liu=19;
      qi=20;ba=20;
   }
      if(jia==1)
   {jia=0;clock[1]++;if(clock[1]==60)clock[1]=0;}
      if(jian==1)
   {jian=0;clock[1]--;if(clock[1]==0)clock[1]=59;}
  }
   else if(alarm==4)
    {  
    if(TIME[0]%2==0)
   {
     yi=20;er=20;san=19;
     si=20;wu=20;liu=19;
     qi=clock[0]/10;ba=clock[0]%10;}
    else {
      yi=20;er=20;san=19;
      si=20;wu=20;liu=19;
      qi=20;ba=20;
   }
    if(jia==1)
   {jia=0;clock[0]++;if(clock[0]==60)clock[0]=0;}
   if(jian==1)
   {jian=0;clock[0]--;if(clock[0]==0)clock[0]=59;}
}}
void keyscan()
{
 
 if(P30==0)
 {
  delayms(110);
  if(P30==0)
  {
   shezhi++;
   if(shezhi==4)
    shezhi=0;
  }while(!P30);
 }
 if(shezhi==0)
 {
  if(P31==0)
  {
   delayms(110);
   if(P31==0)
   {
    alarm++;
    if(alarm==5)
     alarm=0;
  
   }while(!P31);
  }
 }
 if((shezhi!=0)&&(alarm=2)&&(alarm=3)&&(alarm=4))
 {
 if(P32==0)
 {
  delayms(110);
  if(P32==0)
  {  
   jia=1;
  }while(!P32);
 }
 else if(P33==0)
 {
  delayms(110);
  if(P33==0)
  { 
   jian=1;
  }while(!P33);
 }
}
}




关键词: 蓝桥    

专家
2019-03-24 10:17:29    评分
2楼

话说你们都是直接写程序吗?

为什么没有架构与流程图?手写的也可以啊


菜鸟
2019-03-25 12:49:42    评分
3楼

建议很棒,我回去画一下。然后帮助理解。


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]