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

📄 tasklcd.c

📁 Keil单片机软件开发平台下的一个51系列单片机工程
💻 C
📖 第 1 页 / 共 2 页
字号:
** 输 入:   
** 输 出:   
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年12月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void DispSetProgramStep(void)
{
    uint8 temp8;
    switch(Mode)
    {
        case 11://静电
        case 22://充电
        case 33://再充电
        case 44://放电
        case 55://设置电量
        case 88://反充电
        {
            Display16X8ItemWord(0,40,0);
            Display16X8ItemWord(2,41,0);
            Display16X8ItemWord(4,42,0);
            Display16X8ItemWord(6,43,0);
    
            Display16X8ItemData(0, 5*8,Step,                                  0x00,0x00+0x00+0x2);
            temp8 = 1;if(Deep1Focus>1)temp8=temp8<<(Deep1Focus+1);else temp8=temp8<<Deep1Focus;
            Display16X8ItemData(0,14*8,SetupI,          (Deep0Focus==2)?temp8:0x00,0x80+0x20+0x5);
    
            Display16X8ItemData(2, 5*8,Mode,            (Deep0Focus==1)?0xFF:0x00,0x80+0x00+0x2);

            temp8 = 1;if(Deep1Focus>0)temp8=temp8<<(Deep1Focus+1);else temp8=temp8<<Deep1Focus;
            Display16X8ItemData(2,14*8,SetupU,          (Deep0Focus==3)?temp8:0x00,0x80+0x10+0x4);
    
            temp8 = 1;temp8=temp8<<Deep1Focus;
            Display16X8ItemData(4, 3*8,JumpTimeM/60,    (Deep0Focus==4)?temp8:0x00,0x80+0x00+0x2);

            temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
            Display16X8ItemData(4, 6*8,JumpTimeM%60,    (Deep0Focus==5)?temp8:0x00,0x80+0x00+0x2);

            temp8 = 1;if(Deep1Focus>0)temp8=temp8<<(Deep1Focus+1);else temp8=temp8<<Deep1Focus;
            Display16X8ItemData(4,14*8,JumpU,           (Deep0Focus==6)?temp8:0x00,0x80+0x10+0x4);

            /*    
            temp8 = 1;temp8=temp8<<Deep1Focus;
            Display16X8ItemData(6, 3*8,IntervalTimeM/60,(Deep0Focus==7)?temp8:0x00,0x80+0x00+0x2);

            temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
            Display16X8ItemData(6, 6*8,IntervalTimeM%60,(Deep0Focus==8)?temp8:0x00,0x80+0x00+0x2);
            */
            temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
            Display16X8ItemData(6,14*8,JumpQ,           (Deep0Focus==7)?temp8:0x00,0x80+0x00+0x5);
        }break;
        case 66://设置循环起始点
        {
            Display16X8ItemWord(0,84,0);
            Display16X8ItemWord(2,85,0);
            Display16X8ItemWord(4,86,0);
            Display16X8ItemWord(6,87,0);
            Display16X8ItemData(0, 6*8,Step,                     0x00,0x00+0x00+0x2);
    
            Display16X8ItemData(2, 6*8,Mode,(Deep0Focus==1)?0xFF:0x00,0x80+0x00+0x2);
        }break;
        case 77://设置循环次数
        {
            Display16X8ItemWord(0,44,0);
            Display16X8ItemWord(2,45,0);
            Display16X8ItemWord(4,46,0);
            Display16X8ItemWord(6,47,0);
            Display16X8ItemData(0, 6*8,Step,                          0x00,0x00+0x00+0x2);
            Display16X8ItemData(2, 6*8,Mode,     (Deep0Focus==1)?0xFF:0x00,0x80+0x00+0x2);
            temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
            Display16X8ItemData(4, 7*8,LoopTimes,(Deep0Focus==2)?temp8:0x00,0x80+0x00+0x3);
        }break;
        case 99://结束
        {
            Display16X8ItemWord(0,84,0);
            Display16X8ItemWord(2,85,0);
            Display16X8ItemWord(4,86,0);
            Display16X8ItemWord(6,87,0);
            Display16X8ItemData(0, 6*8,Step, 0x00,0x00+0x00+0x2);
            Display16X8ItemData(2, 6*8,Mode,(Deep0Focus==1)?0xFF:0x00,0x80+0x00+0x2);
            temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
            Display16X8ItemData(4, 10*8,SetupCurrentDirection,(Deep0Focus==2)?temp8:0x00,0x80+0x00+0x1);
        }break;

    }
}
/*********************************************************************************************************
** 函数名称: void DispSetProgramStep(void)
** 功能描述: 
** 输 入:   
** 输 出:   
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年12月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void DispSetRunStart(void)
{
    uint8 temp8;
    Display16X8ItemWord(0,60,0);
    Display16X8ItemWord(2,61,0);
    Display16X8ItemWord(4,62,0);
    Display16X8ItemWord(6,63,0);
    temp8 = 1;
    temp8=temp8<<Deep1Focus;
    Display16X8ItemData(4,14*8,ProgramNo,(Deep0Focus==0)?temp8:0x00,0x80+0x00+0x1);
//    Display16X8ItemData(6,14*8,Step,     (Deep0Focus==1)?temp8:0x00,0x80+0x00+0x2);
}
/*********************************************************************************************************
** 函数名称: void DispSetProgramStep(void)
** 功能描述: 
** 输 入:   
** 输 出:   
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年12月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void DispSetRunOthersStep(void)
{
    uint8 temp8;
    Display16X8ItemWord(0,64,0);
    Display16X8ItemWord(2,65,0);
    Display16X8ItemWord(4,66,0);
    Display16X8ItemWord(6,67,0);
    temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
    Display16X8ItemData(6,15*8,Step,(Deep0Focus==0)?temp8:0x00,0x80+0x00+0x2);
}
/*********************************************************************************************************
** 函数名称: TaskLcd
** 功能描述: 显示任务
** 输 入:   无
** 输 出:   无
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年1月26日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
extern unsigned int ADCount;
extern unsigned int ADCountA;
void TaskLcd(void) _task_ 2  
{
    WriteOutXRAM(CPLD_PORT_E,1);
    for(;;)
    {
        ErrorState = WITHOUT_ERROR;
        os_wait (K_TMO, 400/OS_MSEL_PER_TICKS, 0);
        switch(State)
        {
            case STOP:
            {
                Display16X8ItemWord(0,0,0);
                Display16X8ItemWord(2,1,0);
                Display16X8ItemWord(4,2,0);
                Display16X8ItemWord(6,3,0);
                Display16X8ItemData(6, 15*8,Address,0x00,0x80+0x00+0x3);
            }break;
            case RUN:
            {
                DispRun();
            }break;
            case POWER_DOWN:
            {
                Display16X8ItemWord(0,52,0);
                Display16X8ItemWord(2,53,0);
                Display16X8ItemWord(4,54,0);
                Display16X8ItemWord(6,55,0);
            }break;
            case PAUSE:
            {
                Display16X8ItemWord(0,76,0);
                Display16X8ItemWord(2,77,0);
                Display16X8ItemWord(4,78,0);
                Display16X8ItemWord(6,79,0);
            }break;
            case SET_PARAMETER:
            {
                DispSetParameter();
            }break;
            case FUNCTION_TABLE:
            {
                Display16X8ItemWord(0,28,0);
                Display16X8ItemWord(2,29,0);
                Display16X8ItemWord(4,30,0);
                Display16X8ItemWord(6,31,0);
            }break;
            case SET_PROGRAM_NO:
            {
                Display16X8ItemWord(0,36,0);
                Display16X8ItemWord(2,37,0);
                Display16X8ItemWord(4,38,0);
                Display16X8ItemWord(6,39,0);
                Display16X8ItemData(4,13*8,ProgramNo,0xFF,0x80+0x00+0x1);

            }break;
            case SET_PROGRAM_STEP:
            {
                DispSetProgramStep();
            }break;
            case REFER_RECORD:
            {
                Display16X8ItemWord(0,48,0);
                Display16X8ItemWord(2,49,0);
                Display16X8ItemWord(4,50,0);
                Display16X8ItemWord(6,51,0);
            }break;
            case AFFIRM_RUN:
            {
                Display16X8ItemWord(0,56,0);
                Display16X8ItemWord(2,57,0);
                Display16X8ItemWord(4,58,0);
                Display16X8ItemWord(6,59,0);
            }break;
            case SET_RUN_START:
            {
                DispSetRunStart();
            }break;
            case AFFIRM_RUN_OTHERS_STEP:
            {
                DispSetRunOthersStep();
            }break;
            case AFFIRM_STOP:
            {
                Display16X8ItemWord(0,68,0);
                Display16X8ItemWord(2,69,0);
                Display16X8ItemWord(4,70,0);
                Display16X8ItemWord(6,71,0);
            }break;
            case AFFIRM_PAUSE:
            {
                Display16X8ItemWord(0,72,0);
                Display16X8ItemWord(2,73,0);
                Display16X8ItemWord(4,74,0);
                Display16X8ItemWord(6,75,0);
            }break;
            case AFFIRM_RESTORE:
            {
                Display16X8ItemWord(0,80,0);
                Display16X8ItemWord(2,81,0);
                Display16X8ItemWord(4,82,0);
                Display16X8ItemWord(6,83,0);
            }break;
            default:break;
        }
    }
}//void TaskLcd(void) KCREENTRANT

⌨️ 快捷键说明

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