📄 tasklcd.c
字号:
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 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 + -