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

📄 taskkey.c

📁 Keil单片机软件开发平台下的一个51系列单片机工程
💻 C
📖 第 1 页 / 共 3 页
字号:
                    }break;
                    case AFFIRM_RUN:
                    {
                        State = RUN;
                        EepromWriteByte(E2State ,State);
                        ProgramNo = 0;
                        Step = 0;
                        ReadLoopTimes();
                    }break;
                    case AFFIRM_RUN_OTHERS_STEP:
                    {
                        State = RUN;
                        EepromWriteByte(E2State ,State);
                        RunKeySetupStep = 1;
                    }break;
                    case AFFIRM_STOP:
                    {
                        State = STOP;
                        EepromWriteByte(E2State ,State);
                        Step = STEP_MAX-1;
                    }break;
                    case AFFIRM_PAUSE:
                    {
                        State = PAUSE;
                        EepromWriteByte(E2State ,State);
                    }break;
                    case AFFIRM_RESTORE:
                    {
                        State = RUN;
                        EepromWriteByte(E2State ,State);
                    }break;
                    case SET_PARAMETER:
                    {
                        switch(Deep0Focus)
                        {
                            case 0:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                                EepromWriteByte(E2Address,Address);
                            }break;
                            case 1:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                                EepromWriteWordA(E2Ib,Ib);
                            }break;
                            case 2:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                                EepromWriteWordA(E2Ik,Ik);
                            }break;
                            case 3:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                                EepromWriteWordA(E2Ub,Ub);
                            }break;
                            case 4:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                                EepromWriteWordA(E2Uk,Uk);
                            }break;
                            case 5:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                                EepromWriteWordA(E2DAb,DAb);
                            }break;
                            case 6:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                                EepromWriteWordA(E2DAk,DAk);
                            }break;
                            case 7:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                                EepromWriteWordA(E2Tb,Tb);
                            }break;
                            case 8:
                            {
                                State = STOP;
                                EepromWriteByte(E2State ,State);
                                EepromWriteWordA(E2Tk,Tk);
                            }break;
                        }
                        Ub  = EepromReadWordA(E2Ub);
                        Ib  = EepromReadWordA(E2Ib);
                        Uk  = EepromReadWordA(E2Uk);
                        Ik  = EepromReadWordA(E2Ik);
                        DAk = EepromReadWordA(E2DAk);
                        DAb = EepromReadWordA(E2DAb);
                        Tk  = EepromReadWordA(E2Tk);
                        Tb  = EepromReadWordA(E2Tb);
                    }break;
                    case SET_PROGRAM_STEP:
                    {
                        switch(Deep0Focus)
                        {
                            case 1:
                            {
                                if(Mode==66)
                                {
                                    SaveSingleStep();
                                    Step++;
                                    InitializeNewStep();
                                }
                                else if(Mode==77)
                                {
                                    Deep0Focus++;
                                    Deep1Focus=0;
                                }
                                else
                                {
                                    Deep0Focus++;
                                    Deep1Focus=0;
                                }
                            }break;
                            case 2:
                            {
                                if(Mode==99)
                                {
                                    SaveSingleStep();
                                    State = STOP;
                                    EepromWriteByte(E2State ,State);
                                }
                                else if(Mode==77)
                                {
                                    SaveSingleStep();
                                    Step++;
                                    InitializeNewStep();
                                }
                                else
                                {
                                    Deep0Focus++;
                                    Deep1Focus=0;
                                }
                            }break;
                            case 3:
                            {
                                Deep0Focus++;
                                Deep0Focus++;
                                Deep1Focus=0;
                            }break;
                            case 4:
                            case 5:
                            case 6:
                            {
                                Deep0Focus++;
                                Deep1Focus=0;
                            }break;
                            case 7:
                            {
                                if(CheckSingleStep() == 1)
                                {
                                    SaveSingleStep();
                                    Step++;
                                    InitializeNewStep();
                                }
                                else
                                {
                                    InitializeNewStep();
                                }
                            }break;
                        }
                    }break;
                }
            }break;
            //////////////////////////////////////////////////////////////////////////////////////////////
            case KEY_RUN:
            {
                if(State==STOP)
                {
                    State = AFFIRM_RUN;
                    EepromWriteByte(E2State ,State);
                    ProgramNo = 0;
                }
                else if(State==RUN)
                {
                    State = AFFIRM_RUN_OTHERS_STEP;
                    EepromWriteByte(E2State ,State);
                    Deep0Focus = 0;
                    Deep1Focus = 0;
                    Step++;
                }
                else if(State==SET_PARAMETER)//在设定参数状态时按此键相当于按上升键
                {
                    if(Deep0Focus>0)
                    {
                        Deep0Focus--;
                        Deep1Focus=0;
                    }
                    else
                    {
                        Deep0Focus = 8;
                        Deep1Focus=0;
                    }
                }
                else if(State==SET_PROGRAM_STEP)//在工步参数状态时按此键相当于按上升键
                {
                    if(Deep0Focus>1)
                    {
                        Deep0Focus--;
                        Deep1Focus=0;
                    }
                }
            }break;
            //////////////////////////////////////////////////////////////////////////////////////////////
            case KEY_STOP:
            {
                switch(State)
                {
                    case STOP:
                    {
                    }break;
                    case RUN:
                    {
                        State = AFFIRM_STOP;
                        EepromWriteByte(E2State ,State);
                    }break;
                    case POWER_DOWN:
                    case PAUSE:
                    {
                    }break;
                    case FUNCTION_TABLE:
                    case AFFIRM_SET_PROGRAM:
                    case SET_PROGRAM_NO:
                    case REFER_RECORD:
                    case AFFIRM_RUN:
                    {
                        State = STOP;
                        EepromWriteByte(E2State ,State);
                    }break;
                    case AFFIRM_STOP:
                    {
                        State = RUN;
                        EepromWriteByte(E2State ,State);
                    }break;
                    case AFFIRM_PAUSE:
                    {
                    }break;
                    case AFFIRM_RESTORE:
                    {
                        State = RUN;
                        EepromWriteByte(E2State ,State);
                    }break;
                    case AFFIRM_RUN_OTHERS_STEP:
                    {
                        State = RUN;
                        Step--;
                        EepromWriteByte(E2State ,State);

                    }break;
                    case SET_PARAMETER:
                    {
                        State = STOP;
                        EepromWriteByte(E2State ,State);
                    }break;
                    case SET_PROGRAM_STEP:
                    {
                        State = STOP;
                        EepromWriteByte(E2State ,State);
                    }break;
                    case SET_RUN_START:
                    {
                        State = STOP;
                        EepromWriteByte(E2State ,State);
                    }break;
                }
            }break;
            //////////////////////////////////////////////////////////////////////////////////////////////
            case KEY_FUNCTION:
            {
                if(State==STOP)
                {
                    State = FUNCTION_TABLE;
                    EepromWriteByte(E2State ,State);
                }
            }break;
            //////////////////////////////////////////////////////////////////////////////////////////////
            case KEY_PAUSE:
            {
                if(State==RUN)
                {
                    State = PAUSE;
                    EepromWriteByte(E2State ,State);
                }
                else if(State==PAUSE)
                {
                    State = RUN;
                    EepromWriteByte(E2State ,State);
                }
            }break;
        }
        do
        {
            os_wait(K_TMO, 30/OS_MSEL_PER_TICKS, 0);
            KeyNumber = ReadOutXRAM(CPLD_KEY_NUMBER);//读CPLD的键盘寄存器
        }while(KeyNumber <16 );
    }//while(1)
}

⌨️ 快捷键说明

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