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

📄 lcdtst.c

📁 利用51单片机
💻 C
📖 第 1 页 / 共 4 页
字号:
                      default: break;
                     }
                     break;
        case 0x07: switch(key_value)
                     {case CANCEL: state = 1;
                                   dismenu(1);
                                   break;
                      case DOWN: state = 0x05;
                                 dis_adjmenu(1);
                                 break;
                      case UP: state = 0x06;
                               dis_adjmenu(2);
                               break;
                      case OK:
                      case THREE: state = 0x0c;
                                  temp1 = ds_dayweek;
                                  dis_adjweek();
                                  break;
                      case 1:   state = 0x0a;
                                temp1 = ds_year;
                                temp2 = ds_month;
                                temp3 = ds_daymonth;
                                dis_adjdate(1);
                                break;
                      case 2:   state = 0x0b;
                                temp1 = ds_hour;
                                temp2 = ds_minute;
                                temp3 = ds_second;
                                dis_adjtime(1);
                                break;
                      default: break;
                     }
                     break;
        case 0x08: switch(key_value)
                     {case CANCEL: state = 3;
                                   tem_alm = t_temalm;
                                   dismenu(3);
                                   break;
                      case     OK: state = 1;
                                   dismenu(3);
                                   break;
                      case LEFT:
                      case RIGHT:
                      case UP:
                      case DOWN: state = 0x18;
                                 dis_adjtem(2);
                                 break;
                      case 0:
                      case 1:
                      case 2:
                      case 3:
                      case 4:
                      case 5:
                      case 6:
                      case 7:
                      case 8:
                      case 9:  state = 0x18;
                               tem_alm = (tem_alm&0x0f)+(key_value<<4);
                               dis_adjtem(2);
                               break;
                      default:  break;
                      }
                      break;
        case 0x18: switch(key_value)
                     {case CANCEL: state = 3;
                                   dismenu(3);
                                   tem_alm = t_temalm;
                                   break;
                      case OK: state = 1;
                               dismenu(3);
                               break;
                      case LEFT:
                      case RIGHT:
                      case UP:
                      case DOWN: state = 0x08;
                                 dis_adjtem(1);
                                 break;
                      case 0:
                      case 1:
                      case 2:
                      case 3:
                      case 4:
                      case 5:
                      case 6:
                      case 7:
                      case 8:
                      case 9:  state = 0x08;
                               tem_alm =(tem_alm&0xf0)+key_value;
                               dis_adjtem(1);
                               break;
                      default: break;
                     }
                     break;
        case 0x09: switch(key_value)
                     {case OK: if (flag_1==0)
                                   { TH2    = 0xff;
                                     TL2    = 0xd9;
                                     RCAP2H = 0xff;
                                     RCAP2L = 0xd9;}  //9600
                                else
                                   { TH2    = 0xff;
                                     TL2    = 0xb2;
                                     RCAP2H = 0xff;
                                     RCAP2L = 0xb2;}  //4800
                                state = 4;
                                dismenu(4);
                                break;
                      case CANCEL: flag_1=flag_2;
                                   state = 4;
                                   dismenu(4);
                                   break;
                      case LEFT:
                      case RIGHT:
                      case DOWN:
                      case UP: flag_1 = !flag_1;
                               dis_adjbote();
                               break;
                      default: break;
                     }
                     break;

        case 0x0a: switch(key_value)
                     {case OK: setdate(temp1,temp2,temp3);
                               state = 0x05;
                               dis_adjmenu(1);
                               break;
                      case CANCEL: state = 0x05;
                                   dis_adjmenu(1);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x1a;
                                 dis_adjdate(2);
                                 break;
                      case LEFT:
                      case UP: state = 0x5a;
                               dis_adjdate(6);
                               break;
                      default: temp1 = (temp1&0x0f)+(key_value<<4);
                               state = 0x1a;
                               dis_adjdate(2);
                               break;
                     }
                     break;
        case 0x1a: switch(key_value)
                     {case OK: setdate(temp1,temp2,temp3);
                               state = 0x05;
                               dis_adjmenu(1);
                               break;
                      case CANCEL: state = 0x05;
                                   dis_adjmenu(1);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x2a;
                                 dis_adjdate(3);
                                 break;
                      case LEFT:
                      case UP: state = 0x0a;
                               dis_adjdate(1);
                               break;
                      default: temp1 = (temp1&0xf0)+key_value;
                               state = 0x2a;
                               dis_adjdate(3);
                               break;
                     }
                     break;
        case 0x2a: switch(key_value)
                     {case OK: setdate(temp1,temp2,temp3);
                               state = 0x05;
                               dis_adjmenu(1);
                               break;
                      case CANCEL: state = 0x05;
                                   dis_adjmenu(1);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x3a;
                                 dis_adjdate(4);
                                 break;
                      case LEFT:
                      case UP: state = 0x1a;
                               dis_adjdate(2);
                               break;
                      case ZERO:
                      case ONE: temp2 = (temp2&0x0f)+(key_value<<4);
                                state = 0x3a;
                                dis_adjdate(4);
                                break;
                       default: break;
                     }
                     break;
        case 0x3a: switch(key_value)
                     {case OK: setdate(temp1,temp2,temp3);
                               state = 0x05;
                               dis_adjmenu(1);
                               break;
                      case CANCEL: state = 0x05;
                                   dis_adjmenu(1);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x4a;
                                 dis_adjdate(5);
                                 break;
                      case LEFT:
                      case UP: state = 0x2a;
                               dis_adjdate(3);
                               break;
                      case ONE:
                      case TWO:
                      case ZERO: temp2 = (temp2&0xf0)+key_value;
                                 state = 0x4a;
                                 dis_adjdate(5);
                                 break;
                      default: if ((temp1>>4)==0)
                                {temp1 = (temp1&0xf0)+key_value;
                                 state = 0x4a;
                                 dis_adjdate(5);
                                 break;}
                               else
                                 break;
                     }
                     break;
        case 0x4a: switch(key_value)
                     {case OK: setdate(temp1,temp2,temp3);
                               state = 0x05;
                               dis_adjmenu(1);
                               break;
                      case CANCEL: state = 0x05;
                                   dis_adjmenu(1);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x5a;
                                 dis_adjdate(6);
                                 break;
                      case LEFT:
                      case UP: state = 0x3a;
                               dis_adjdate(4);
                               break;
                      case ONE:
                      case TWO:
                      case THREE:
                      case ZERO: temp3 = (temp3&0x0f)+(key_value<<4);
                                 state = 0x5a;
                                 dis_adjdate(6);
                                 break;
                      default: break;
                     }
                     break;
        case 0x5a: switch(key_value)
                     {case OK: setdate(temp1,temp2,temp3);
                               state = 0x05;
                               dis_adjmenu(1);
                               break;
                      case CANCEL: state = 0x05;
                                   dis_adjmenu(1);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x0a;
                                 dis_adjdate(1);
                                 break;
                      case LEFT:
                      case UP: state = 0x4a;
                               dis_adjdate(5);
                               break;
                      case ZERO:
                      case ONE: temp3 = (temp3&0xf0)+key_value;
                                state = 0x0a;
                                dis_adjdate(1);
                                break;
                      default: if((temp3>>4)==3)
                                  break;
                                else
                                  {temp3 = (temp3&0xf0)+key_value;
                                   state = 0x0a;
                                   dis_adjdate(1);
                                   break; }
                     }
                     break;
        case 0x0b: switch(key_value)
                     {case OK: settime(temp1,temp2,temp3);
                               state = 0x06;
                               dis_adjmenu(2);
                               break;
                      case CANCEL: state = 0x06;
                                   dis_adjmenu(2);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x1b;
                                 dis_adjtime(2);
                                 break;
                      case LEFT:
                      case UP: state = 0x5b;
                               dis_adjtime(6);
                               break;
                      case ZERO:
                      case ONE:
                      case TWO: temp1 = (temp1&0x0f)+(key_value<<4);
                                state = 0x1b;
                                dis_adjtime(2);
                                break;
                      default: break;
                     }
                     break;
        case 0x1b: switch(key_value)
                     {case OK: settime(temp1,temp2,temp3);
                               state = 0x06;
                               dis_adjmenu(2);
                               break;
                      case CANCEL: state = 0x06;
                                   dis_adjmenu(2);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x2b;
                                 dis_adjtime(3);
                                 break;
                      case LEFT:
                      case UP: state = 0x0b;
                               dis_adjtime(1);
                               break;
                      case ONE:
                      case TWO:
                      case THREE:
                      case ZERO: temp1 = (temp1&0xf0)+key_value;
                                 state = 0x2b;
                                 dis_adjtime(3);
                                 break;
                      default:if ((temp1>>4)== 1||(temp1>>4)== 0)
                               {temp1 = (temp1&0xf0)+key_value;
                                state = 0x2b;
                                dis_adjtime(3);
                                break; }
                               else
                                break;
                     }
                     break;
        case 0x2b: switch(key_value)
                     {case OK: settime(temp1,temp2,temp3);
                               state = 0x06;
                               dis_adjmenu(2);
                               break;
                      case CANCEL: state = 0x06;
                                   dis_adjmenu(2);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x3b;
                                 dis_adjtime(4);
                                 break;
                      case LEFT:
                      case UP: state = 0x1b;
                               dis_adjtime(2);
                               break;
                      case ONE:
                      case TWO:
                      case THREE:
                      case FOUR:
                      case FIVE:
                      case ZERO:temp2 = (temp2&0x0f)+(key_value<<4);
                                state = 0x3b;
                                dis_adjtime(4);
                                break;
                      default: break;
                     }
                     break;
        case 0x3b: switch(key_value)
                     {case OK: settime(temp1,temp2,temp3);
                               state = 0x06;
                               dis_adjmenu(2);
                               break;
                      case CANCEL: state = 0x06;
                                   dis_adjmenu(2);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x4b;
                                 dis_adjtime(5);
                                 break;
                      case LEFT:
                      case UP: state = 0x2b;
                               dis_adjtime(3);
                               break;
                      default: temp2 = (temp2&0xf0)+key_value;
                               state = 0x4b;
                               dis_adjtime(5);
                               break;
                     }
                     break;
        case 0x4b: switch(key_value)
                     {case OK: settime(temp1,temp2,temp3);
                               state = 0x06;
                               dis_adjmenu(2);
                               break;
                      case CANCEL: state = 0x06;
                                   dis_adjmenu(2);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x5b;
                                 dis_adjtime(6);
                                 break;
                      case LEFT:
                      case UP: state = 0x3b;
                               dis_adjtime(4);
                               break;
                      case ONE:
                      case TWO:
                      case THREE:
                      case FOUR:
                      case FIVE:
                      case ZERO: temp3 = (temp3&0x0f)+(key_value<<4);
                                 state = 0x5b;
                                 dis_adjtime(6);
                                 break;
                      default: break;
                     }
                     break;
        case 0x5b: switch(key_value)
                     {case OK: settime(temp1,temp2,temp3);
                               state = 0x06;
                               dis_adjmenu(2);
                               break;
                      case CANCEL: state = 0x06;
                                   dis_adjmenu(2);
                                   break;
                      case RIGHT:
                      case DOWN: state = 0x0b;
                                 dis_adjtime(1);
                                 break;
                      case LEFT:
                      case UP: state = 0x4b;
                               dis_adjtime(5);
                               break;
                      default: temp3 = (temp3&0xf0)+key_value;
                               state = 0x0b;
                               dis_adjtime(1);
                               break;
                     }
                     break;
        case 0x0c: switch(key_value)
                     {case OK: state = 7;
                               setweek(temp1);
                               dis_adjmenu(3);
                               break;
                      case CANCEL: state = 7;
                                   dis_adjmenu(3);
                                   break;
                      case ONE:
                      case TWO:
                      case THREE:
                      case FOUR:
                      case FIVE:
                      case SIX:
                      case SEVEN: temp1 = key_value;
                                  dis_adjweek();
                                  break;
                      default: break;
                     }
                     break;
        default:  break;
       }
       delay10ms();
}



⌨️ 快捷键说明

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