⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keyscan.h

📁 十六路无线报警器 源代码
💻 H
字号:
void keyscan(void)
{
     uchar i,j;
     bit onf_1,onf_0;     
     uchar adjtime[]="adtime";
     uchar chece[]="CHECE_alarm";
     if(key_stop==0)
     {
         delay(6);
         if(key_stop==0)
         {
             while(!key_stop);
             delay(4);
             while(!key_stop);
             TR0=0;
             stop_en=1;
             delay(1);
             clock1_int();
             TR0=1;
             stem++;
             if(stem==9)
             {stem=0;stop_en=0;write_com(0x0c);alarm_end();}             
         }
     }
     if(stem==1)
     {
         write_com(0x80+0x40+0x0d);
         write_com(0x0f);
         if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  minr1++;
                  if(minr1==60)
                  {minr1=0;}
                  display_time(0x40+0x0d,minr1);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  minr1--;
                  if(minr1==-1)
                  {minr1=59;}
                  display_time(0x40+0x0d,minr1);
              }
          }
     }
     if(stem==2)
     {
         write_com(0x80+0x40+0x0a);
         write_com(0x0f);
         if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  hourr1++;
                  if(hourr1==24)
                  {hourr1=0;}
                  display_time(0x40+0x0a,hourr1);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  hourr1--;
                  if(hourr1==-1)
                  {hourr1=23;}
                  display_time(0x40+0x0a,hourr1);
              }
          }
     }
     if(stem==3)
     {
         write_com(0x80+0x40+0x07);
         write_com(0x0f);
         if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  dayr1++;
                  if(dayr1==31)
                  {dayr1=1;}
                  display_time(0x40+0x07,dayr1);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  dayr1--;
                  if(dayr1==0)
                  {dayr1=30;}
                  display_time(0x40+0x07,dayr1);
              }
          }
     }
     if(stem==4)
     {
         write_com(0x80+0x0e);
         write_com(0x0f);
         if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  onf1=~onf1;
                  if(onf1==1)
                  {
                       sw1='f';
                       write_date('O');
                       write_date(sw1);
                  }
                  else
                  {
                       sw1='n';
                       write_date('O');
                       write_date(sw1);
                  }
              }
          }
     }
     if(stem==5)
     {
         write_com(0x80+0x40+0x0d);
         write_com(0x0f);
         if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  minr0++;
                  if(minr0==60)
                  {minr0=0;}
                  display_time(0x40+0x0d,minr0);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  minr0--;
                  if(minr0==-1)
                  {minr0=59;}
                  display_time(0x40+0x0d,minr0);
              }
          }
     }
     if(stem==6)
     {
         write_com(0x80+0x40+0x0a);
         write_com(0x0f);
         if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  hourr0++;
                  if(hourr0==24)
                  {hourr0=0;}
                  display_time(0x40+0x0a,hourr0);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  hourr0--;
                  if(hourr0==-1)
                  {hourr0=23;}
                  display_time(0x40+0x0a,hourr0);
              }
          }
     }
     if(stem==7)
     {
         write_com(0x80+0x40+0x07);
         write_com(0x0f);
         if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  dayr0++;
                  if(dayr0==31)
                  {dayr0=1;}
                  display_time(0x40+0x07,dayr0);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  dayr0--;
                  if(dayr0==0)
                  {dayr0=30;}
                  display_time(0x40+0x07,dayr0);
              }
          }
     }
     if(stem==8)
     {
         write_com(0x80+0x0e);
         write_com(0x0f);
         if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  onf0=~onf0;
                  if(onf0==1)
                  {
                       sw0='f';
                       write_date('O');
                       write_date(sw0);
                  }
                  else
                  {
                       sw0='n';
                       write_date('O');
                       write_date(sw0);
                  }
              }
          }
     }
     if(key1==0)
     {
          delay(6);
          if(key1==0)
          {                   
               while(!key1);
               delay(6);
               while(!key1);
               if(onf1==0)
               {onf_1=1;}
               if(onf0==0)
               {onf_0=1;}
               delay(1);
               onf1=1;onf0=1;                                       
               step++;
               if(step<6)
               {
                  i=0;               
                   while(i<6)
                  {                     
                     write_com(0x80+0x40+i);
                     write_date(adjtime[i]);
                     delay(1);
                     i++;                   
                  }
               }
               if(step==6)
               {
                   write_com(0x01);
                   write_date(' ');
                   write_date(' ');
                   display_time(0x40+0x00,wp);                   
                   chece_alarm();
                   delay(5);
                   i=0;               
                   while(i<11)
                  {                     
                     write_com(0x80+i);
                     write_date(chece[i]);
                     delay(1);
                     i++;                   
                  }
               }
               if(step==7)
               {
                   step=0;
                   TR0=1;
                   up=up_c;      
                   wp=wp_c;
                   if(onf_1==1)
                   {onf1=0;}
                   if(onf_0==1)
                   {onf0=0;}
                   onf_1=0;onf_0=0;
                   write_com(0x0c);                   
                   j=0;
                   alarm_end();
               }              
          }
     }
     if(step==1)
     {
          TR0=0;
          delay(5);
          write_com(0x80+0x0c);
          write_com(0x0f);
          if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  sec++;
                  if(sec==60)
                  {sec=0;}
                  display_time(0x0c,sec);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  sec--;
                  if(sec==-1)
                  {sec=59;}
                  display_time(0x0c,sec);
              }
          }
     }
     if(step==2)
     {
          delay(5);
          write_com(0x80+0x09);
          write_com(0x0f);
          if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  min++;
                  if(min==60)
                  {min=0;}
                  display_time(0x09,min);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  min--;
                  if(min==-1)
                  {min=59;}
                  display_time(0x09,min);
              }
          }
     }
     if(step==3)
     {
          delay(5);
          write_com(0x80+0x06);
          write_com(0x0f);
          if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  hour++;
                  if(hour==24)
                  {hour=0;}
                  display_time(0x06,hour);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  hour--;
                  if(hour==-1)
                  {hour=23;}
                  display_time(0x06,hour);
              }
          }
     }
     if(step==4)
     {
          delay(5);
          write_com(0x80+0x03);
          write_com(0x0f);
          if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  day++;
                  if(day==31)
                  {day=1;}
                  display_time(0x03,day);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  day--;
                  if(day==0)
                  {day=30;}
                  display_time(0x03,day);
              }
          }
     }
     if(step==5)
     {
          delay(5);
          write_com(0x80+0x00);
          write_com(0x0f);
          if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  month++;
                  if(month==13)
                  {month=1;}
                  display_time(0x00,month);
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  month--;
                  if(month==0)
                  {month=12;}
                  display_time(0x00,month);
              }
          }
     }
     if(step==6)
     {
          stop_en=1;
          TR0=1;
          delay(5);
          write_com(0x80+0x40+0x00);
          write_com(0x0f);
          if(key2==0)
          {
              delay(6);
              if(key2==0)
              {
                  while(!key2);
                  wp++;
                  if(wp>wp_c)
                  {wp=1;}
                  if(up==up_c||up==up_c-3)
                  {up=3;}
                  else
                  {up=up+6;}
                  display_time(0x40+0x00,wp);
                  chece_alarm();
              }
          }
          if(key3==0)
          {
              delay(6);
              if(key3==0)
              {
                  while(!key3);
                  wp--;
                  if(wp==0||wp==-1)
                  {wp=wp_c;}
                  if(up==0)
                  {up=up_c;}
                  display_time(0x40+0x00,wp);
                  chece_alarm();
              }
          }
     }
}
void clock1_int(void)
{
        uchar j;
        uchar clock[7]="CLOCK_";        
        write_com(0x01);
        write_date(' ');
        write_date(' ');        
        j=0;
        while(j<6)
        {
              write_com(0x80+j);
              write_date(clock[j]);
              delay(1);
              j++; 
        }
        if(stem<4)
        {write_date('1');}
        else
        {write_date('2');}
        write_com(0x80+0x0e);
        write_date('O');
        if(stem<4)
        {    
             if(onf1==1)
             {sw1='f';}
             else
             {sw1='n';}
             write_date(sw1);
        }
        else
        {
             if(onf0==1)
             {sw0='f';}
             else
             {sw0='n';}
             write_date(sw0);
        }        
        write_com(0x80+0x40+0x09);
        write_date('-');        
        write_com(0x80+0x40+0x0c);
        write_date(':');
        if(stem<4)
        {
            display_time(0x40+0x07,dayr1);
            display_time(0x40+0x0a,hourr1);
            display_time(0x40+0x0d,minr1);
        }
        else
        {
            display_time(0x40+0x07,dayr0);
            display_time(0x40+0x0a,hourr0);
            display_time(0x40+0x0d,minr0);
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -