📄 tasklcd.c
字号:
/*--------------文件信息--------------------------------------------------------------------------------
**文 件 名: TaskKey.C
**创 建 人: 刘宝贵
**最后修改日期:
**描 述: 108只电池电压检测系统键盘处理任务源代码。
**
**--------------历史版本信息----------------------------------------------------------------------------
** 修改人:
** 版 本:
** 日 期:
** 描 述:
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include"includes.h"
/*********************************************************************************************************
** 函数名称: void DispRun()
** 功能描述:
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年12月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void DispRun()
{
switch(ErrorState)
{
case WITHOUT_ERROR:
{
if(Debug==0)//非调试状态,显示正常信息
{
unsigned int temp16;
if(ErrorType==0)//如果没有故障
{
temp16 = MeasureI;
temp16/=10;
if((MeasureI%10)>4)
{
temp16++;
}
Display16X8ItemWord(0,4,0);
Display16X8ItemWord(2,5,0);
Display16X8ItemWord(4,6,0);
Display16X8ItemWord(6,7,0);
Display16X8ItemData(0, 5*8,Step ,0x00,0x80+0x00+0x2);
Display16X8ItemData(0,14*8,temp16 ,0x00,0x00+0x10+0x4);//显示电流
Display16X8ItemData(2, 6*8,Mode ,0x00,0x80+0x00+0x2);
Display16X8ItemData(2,14*8,MeasureU ,0x00,0x00+0x10+0x4);
Display16X8ItemData(4, 5*8,MeasureT ,0x00,0x00+0x10+0x3);
Display16X8ItemData(4,15*8,AmountQ10S/3600 ,0x00,0x00+0x10+0x5);
Display16X8ItemData(6, 6*8,Address ,0x00,0x80+0x00+0x3);
Display16X8ItemData(6, 9*8,LastTimeS/3600 ,0x00,0x80+0x00+0x2);
Display16X8ItemData(6,12*8,(LastTimeS%3600)/60,0x00,0x80+0x00+0x2);
Display16X8ItemData(6,15*8,LastTimeS%60 ,0x00,0x80+0x00+0x2);
}
else
{
if(DeviceDLError)//断流故障
{
static bit tempbit;
if(tempbit==0)
{
tempbit = 1;
Display16X8ItemWord(0,12,0);
Display16X8ItemWord(2,13,0);
Display16X8ItemWord(4,14,0);
Display16X8ItemWord(6,15,0);
}
else
{
tempbit = 0;
Display16X8ItemWord(0,8,0);
Display16X8ItemWord(2,8,0);
Display16X8ItemWord(4,8,0);
Display16X8ItemWord(6,8,0);
}
os_wait(K_TMO, 500/OS_MSEL_PER_TICKS, 0);
}
if(DeviceGLError)//过流故障
{
static bit tempbit;
if(tempbit==0)
{
tempbit = 1;
Display16X8ItemWord(0,16,0);
Display16X8ItemWord(2,17,0);
Display16X8ItemWord(4,18,0);
Display16X8ItemWord(6,19,0);
}
else
{
tempbit = 0;
Display16X8ItemWord(0,8,0);
Display16X8ItemWord(2,8,0);
Display16X8ItemWord(4,8,0);
Display16X8ItemWord(6,8,0);
}
os_wait(K_TMO, 500/OS_MSEL_PER_TICKS, 0);
}
if(DeviceGWError)//充电机过温故障
{
static bit tempbit;
if(tempbit==0)
{
tempbit = 1;
Display16X8ItemWord(0,20,0);
Display16X8ItemWord(2,21,0);
Display16X8ItemWord(4,22,0);
Display16X8ItemWord(6,23,0);
}
else
{
tempbit = 0;
Display16X8ItemWord(0,8,0);
Display16X8ItemWord(2,8,0);
Display16X8ItemWord(4,8,0);
Display16X8ItemWord(6,8,0);
}
os_wait(K_TMO, 500/OS_MSEL_PER_TICKS, 0);
}
}
}
else//调试状态,显示调试信息
{
Display5X8(0,0*6 ,'U',1);
Display5X8ItemData(0,5*6,MeasureRealU ,0x00,5);
Display5X8(0,6*6 ,'K',1);
Display5X8ItemData(0,11*6,Uk ,0x00,5);
Display5X8(0,12*6,'B',1);
Display5X8ItemData(0,17*6,Ub ,0x00,5);
Display5X8(1,0*6 ,'I',1);
Display5X8ItemData(1,5*6,MeasureI ,0x00,5);
Display5X8(1,6*6 ,'K',1);
Display5X8ItemData(1,11*6,Ik ,0x00,5);
Display5X8(1,12*6,'B',1);
Display5X8ItemData(1,17*6,Ib ,0x00,5);
Display5X8(2,0*6 ,'T',1);
Display5X8ItemData(2,5*6,MeasureTU ,0x00,5);
Display5X8(2,6*6 ,'K',1);
Display5X8ItemData(2,11*6,Tk ,0x00,5);
Display5X8(2,12*6,'B',1);
Display5X8ItemData(2,17*6,Tb ,0x00,5);
Display5X8(3,0*6 ,'U',1); Display5X8ItemData(3,5*6 ,URealCount,0x00,5);
Display5X8(3,6*6 ,'I',1); Display5X8ItemData(3,11*6,IRealCount,0x00,5);
Display5X8(3,12*6,'T',1); Display5X8ItemData(3,17*6,TRealCount,0x00,5);
Display5X8(4,0*6 ,'U',1);
Display5X8ItemData(4,5*6 ,SetupU,0x00,5);
Display5X8(4,6*6 ,'I',1);
Display5X8ItemData(4,11*6,SetupI,0x00,5);
Display5X8(4,12*6,'K',1);
Display5X8ItemData(4,17*6,DAk ,0x00,5);
Display5X8(4,18*6,' ',0);
Display5X8ItemData(4,20*6,DAb ,0xFF,3);
Display5X8ItemData(5,3*6 ,SetupIDA,0x00,4);
Display5X8ItemData(5,7*6 ,RealTimeDA,0xFF,4);
Display5X8ItemData(5,11*6 ,WriteOutDA,0x00,4);
Display5X8(5,12*6,' ',0);
}
}break;
case DEVICE_ERROR:
{
Display16X8ItemWord(0,8,0);
Display16X8ItemWord(2,9,0);
Display16X8ItemWord(4,10,0);
Display16X8ItemWord(6,11,0);
}break;
case DEVICE_DL_ERROR:
{
Display16X8ItemWord(0,12,0);
Display16X8ItemWord(2,13,0);
Display16X8ItemWord(4,14,0);
Display16X8ItemWord(6,15,0);
}break;
case DEVICE_GL_ERROR:
{
Display16X8ItemWord(0,16,0);
Display16X8ItemWord(2,17,0);
Display16X8ItemWord(4,18,0);
Display16X8ItemWord(6,19,0);
}break;
case DEVICE_GY_ERROR:
{
Display16X8ItemWord(0,20,0);
Display16X8ItemWord(2,21,0);
Display16X8ItemWord(4,22,0);
Display16X8ItemWord(6,23,0);
}break;
default:break;
}
}
/*********************************************************************************************************
** 函数名称: void DispRun()
** 功能描述:
** 输 入:
** 输 出:
** 全局变量:
** 调用模块:
**
** 作 者: 刘宝贵
** 日 期: 2005年12月15日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**-------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
void DispSetParameter(void)
{
uint8 temp8;
if(Deep0Focus < 7)
{
Display16X8ItemWord(0,32,0);
Display16X8ItemWord(2,33,0);
Display16X8ItemWord(4,34,0);
Display16X8ItemWord(6,35,0);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(0,11*8,Address ,(Deep0Focus==0)?temp8:0x00,0x80+0x00+0x3);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(2, 7*8,Ib,(Deep0Focus==1)?temp8:0x00,0x80+0x00+0x5);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(2,15*8,Ik,(Deep0Focus==2)?temp8:0x00,0x80+0x00+0x5);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(4, 7*8,Ub,(Deep0Focus==3)?temp8:0x00,0x80+0x00+0x5);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(4,15*8,Uk,(Deep0Focus==4)?temp8:0x00,0x80+0x00+0x5);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(6, 7*8,DAb,(Deep0Focus==5)?temp8:0x00,0x80+0x00+0x5);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(6,15*8,DAk,(Deep0Focus==6)?temp8:0x00,0x80+0x00+0x5);
}
else
{
Display16X8ItemWord(0,88,0);
Display16X8ItemWord(2,89,0);
Display16X8ItemWord(4,90,0);
Display16X8ItemWord(6,91,0);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(0, 7*8,Tb,(Deep0Focus==7)?temp8:0x00,0x80+0x00+0x5);
temp8 = 1;temp8=temp8<<(Deep1Focus==255?0:Deep1Focus);
Display16X8ItemData(0,15*8,Tk,(Deep0Focus==8)?temp8:0x00,0x80+0x00+0x5);
}
}
/*********************************************************************************************************
** 函数名称: void DispSetProgramStep(void)
** 功能描述:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -