📄 led.c
字号:
ClrBit(pRunLed,pbRunLed); /* 运行灯亮 */
}
#else
SetBit(pRunLed,pbRunLed); /* 运行灯灭 */
SetBit(pEconLED,pbEconLED); /* 经济灯灭 */
if (((FlashCntr2 & 0x0F) <= 0x02)||(FlashCntr >= 100)){
if (ValBit(FlashCntr2,4))
SetBit(pPowerLED,pbPowerLED);/* 强力灯灭 */
if (ValBit(FlashCntr2,5))
SetBit(pTimeLed,pbTimeLed); /* 定时灯灭 */
} else {
ClrBit(pTimeLed,pbTimeLed); /* 定时灯亮 */
ClrBit(pPowerLED,pbPowerLED); /* 强力灯亮 */
}
#endif
} else {
//#if ((NJTYPE == 0)||(NJTYPE == 1))
// SetBit(pProtLed,pbProtLed); /* 故障灯灭 */
//#endif
#if (NJTYPE == 3)
if ((u8)(FanStatus & FANMASK_S) == FANPO_S){
ClrBit(pPowerLED,pbPowerLED); /* 强力灯 */
} else {
SetBit(pPowerLED,pbPowerLED); /* 强力灯 */
}
if ((u8)(FanStatus & FANMASK_S) == FANEC_S){
ClrBit(pEconLED,pbEconLED); /* 经济灯 */
} else {
SetBit(pEconLED,pbEconLED); /* 经济灯 */
}
#endif
FlashCntr2 = 0;
if (ValBit(RunMode,fSysOn)){
/* 通风模式时,不闪烁 */
if (((u8)(RunMode & MODEMASK) == MODEFAN)
/* 外机允许 */
|| ValBit(OutDevStu[0],fRunEnable)
/* 自动模式*/
|| ((AutoCnt != 0) &&
(ValBit(Sysflag2,fMAuto) ||
((u8)(RunMode & MODEMASK) == MODEAUTO)))
/* 检测延时未到 */
|| (DispDlyCnt < 0x0A)){
if (((u8)(RunMode & MODEMASK) == MODEHEAT)
/* 化霜时,运行灯闪烁 */
&& (ValBit(OutDevStu[0],fOutDeforst)
/* 防冷风,运行灯闪烁 */
|| ValBit(Sysflag2,fProtColdFan))
&& ValBit(SlpTmFlag,bb2s)){
SetBit(pRunLed,pbRunLed); /* 运行灯 */
} else {
ClrBit(pRunLed,pbRunLed); /* 运行灯 */
}
if ((u8)(SlpTmFlag & ((1<<fSleep)|(1<<fTime)|(1<<fTimeOff))) != 0){
ClrBit(pTimeLed,pbTimeLed); /* 定时灯亮 */
} else {
SetBit(pTimeLed,pbTimeLed); /* 定时灯灭 */
}
/* 外机不允许开机时,定时灯闪烁;运行灯关 */
} else {
SetBit(pRunLed,pbRunLed); /* 运行灯灭 */
if (ValBit(SlpTmFlag,bb2s)){
SetBit(pTimeLed,pbTimeLed); /* 定时灯灭 */
} else {
ClrBit(pTimeLed,pbTimeLed); /* 定时灯亮 */
}
}
} else {
/* 关机时运行灯灭;若被锁定,则闪烁 */
//if (ValBit(RunMode,fLtdSwOn) && /* fLtdSwSt 房卡状态 1:断开 */
// ValBit(SlpTmFlag,bb2s)){
// ClrBit(pRunLed,pbRunLed); /* 运行灯亮 */
//} else {
SetBit(pRunLed,pbRunLed); /* 运行灯灭 */
//}
if ((u8)(SlpTmFlag & ((1<<fSleep)|(1<<fTime)|(1<<fTimeOff))) != 0){
ClrBit(pTimeLed,pbTimeLed); /* 定时灯亮 */
} else {
SetBit(pTimeLed,pbTimeLed); /* 定时灯灭 */
}
}
}
#endif /* TESTPRG */
#endif /* NJTYPE */
}
#if ((NJTYPE == 0)||(NJTYPE == 1)||(NJTYPE == 2)||(NJTYPE == 3))
#ifdef EnSTYLE5
const u8 DPErrNo[] = {
/* 定频 */
/* E46 0 室外温度传感器故障 0x33 */
/* E47 1 室外盘管中点温度传感器故障 0x34 */
/* E48 2 室外盘管出口温度传感器故障 0x35 */
/* E49 3 室外吸气压力传感器故障 0x36 */
/* E4A 4 室外排气压力传感器故障 0x37 */
0x33,0x34,0x35,0x36,0x37,0x00,0x00,0x00,
/* E54 0 1#电流保护输入, 闭合时正常 0x38 */
/* E55 1 2#电流保护输入, 闭合时正常 0x39 */
/* E56 2 3#电流保护输入, 闭合时正常 0x3A */
/* E59 5 缺相错相 0x3B */
/* E60 6 缺氟或换向阀故障 0x3C */
/* E61 7 地址冲突 0x3D */
0x38,0x39,0x3A,0x00,0x00,0x3B,0x3C,0x3D,
/* E62 0 1#高压保护输入, 闭合时正常 0x23 */
/* E63 1 2#高压保护输入, 闭合时正常 0x24 */
/* E64 2 3#高压保护输入, 闭合时正常 0x25 */
/* E68 6 室外盘管过热保护 0x26 */
/* E69 7 室外环境温度超温 0x27 */
0x23,0x24,0x25,0x00,0x00,0x00,0x26,0x27,
/* E70 0 1#热保护输入, 闭合时正常 0x28 */
/* E71 1 2#热保护输入, 闭合时正常 0x29 */
/* E72 2 3#热保护输入, 闭合时正常 0x2A */
/* E76 6 吸气压力低 0x2B */
/* E77 7 排气压力高 0x2C */
0x28,0x29,0x2A,0x00,0x00,0x00,0x2B,0x2C};
const u8 BPErrNo[] = {
/* 变频 */
/* E30 0 三相交流电源缺相或相序错误 0x23 */
/* E31 1 通信线路故障 0x24 */
/* E32 2 室外机地址冲突 0x25 */
/* E33 3 与所有室内机通信故障 0x26 */
/* E34 4 室外环境温度传感器异常 0x27 */
/* E35 5 室外环境温度超温 0x28 */
/* E36 6 系统排气压力过高 0x29 */
/* E37 7 系统吸气压力过低 0x2A */
0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2A,
/* E38 0 系统排气压力传感器异常 0x2B */
/* E39 1 系统吸气压力传感器异常 0x2C */
/* E40 2 系统缺氟 0x2D */
/* E42 4 制热冷凝器入口温度传感器异常 0x2E */
0x2B,0x2C,0x2D,0x00,0x2E,0x00,0x00,0x00,
/* E01 0 变频器模块异常 0x33 */
/* E02 1 压机A交流输入电流保护动作 0x34 */
/* E03 2 压缩机A外壳温度过高 0x35 */
/* E04 3 压缩机A排气温度过高 0x36 */
/* E05 4 制冷时冷凝温度过高 0x37 */
/* E06 5 低压开关(吸气压力)动作 0x38 */
/* E07 6 高压开关(排气压力)动作 0x39 */
/* E08 7 缺氟或换向阀故障 0x3A */
0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,
/* E09 0 交流输入电流采样异常 0x3B */
/* E10 1 直流母线电压采样异常 0x3C */
/* E11 2 压缩机A排气温度传感器异常 0x3D */
/* E12 3 冷凝器温度传感器异常 0x3E */
/* E13 4 吸气温度传感器异常 0x3F */
0x3B,0x3C,0x3D,0x3E,0x3F,0x00,0x00,0x00,
/* E20 0 压缩机B电流过大保护开关动作 0x1B */
/* E21 1 压缩机B外壳温度(过高)保护 0x1C */
/* E22 2 压缩机B排气温度过高 0x1D */
0x1B,0x1C,0x1D,0x00,0x00,0x00,0x00,0x00,
/* E23 0 压缩机B排气温度传感器异常 0x1E */
0x1E};
#endif
const u8 NJErrNo[] = {
/* E12 0 室温传感器故障 0x15 */
/* E15 1 细管传感器故障 0x18 */
/* E13 2 内管传感器故障 0x17 */
/* E16 3 粗管传感器故障 0x16 */
/* E11 4 内机地址冲突 0x19 */
/* E14 5 与线控器通信故障 0x14 */
/* E11 6 内机与外机通信故障 0x13 */
/* E08 7 室内机总功率过大 0x1A */
0x15,0x17,0x18,0x16,0x19,0x14,0x13,0x1A};
u8 GetErrNum(void)
{
u8 i;
#ifdef EnPUMP
/* E10 5 水泵故障 0x14 */
if (ValBit(Errorflg2,fPumpErr)) return 0x14;
#endif
#ifdef EnSTYLE5
if (ValBit(Errorflg2,fLtdSwSt)) return 0x2F;
#ifdef EnPGFENGJI
/* PG 风机故障 */
if (ValBit(Errorflg2,fPGErr)) return 0x1F;
#endif
#else
#ifdef EnPGFENGJI
/* PG 风机故障 */
if (ValBit(Errorflg2,fPGErr)) return 0x1A;
#endif
if (ValBit(Errorflg2,fLtdSwSt)) return 0x19;
#endif
i = 0;
while ( i < 0x08){
if ((Errorflg & BitMask[i]) != 0){
return NJErrNo[i];
break;
}
i += 1;
}
#ifdef EnSTYLE5
i = 0;
while (i < 0x29){
if ((OutSideErr[i >> 3] & BitMask[i & 0x07]) != 0){
if (WJType == 1 ){ /* 1: 定频外机系统 */
return DPErrNo[i];
} else if (WJType == 0){ /* 0:变频外机系统 */
return BPErrNo[i];
} else {
return 0; /* 其他 */
}
break;
}
i += 1;
}
#else
/* 三型 */
/* F02 0 室外压缩机排气温度过高 0x23 */
/* F04 1 缺氟或换向阀故障 0x24 */
/* F01 2 室外机交流输入电流过大 0x25 */
/* F05 3 室外机交流输入电流采样故障 0x26 */
/* F06 4 室外机直流母线电压异常 0x27 */
/* F07 5 室内机总功率过大 0x28 */
/* F03 6 室外机传感器故障 0x29 */
/* F00 7 变频器模块保护 0x2A */
i = 0;
while (i < 0x08){
if ((OutSideErr[0] & BitMask[i]) != 0){
return (u8)(i + 0x23);
break;
}
i += 1;
}
#endif
return 0;
}
#elif (NJTYPE == 4)||(NJTYPE ==5)
#ifdef EnSTYLE5
const u8 DPErrNo[] = {
/* 定频 */
0x46,0x47,0x48,0x49,0x50,0x51,0x52,0x53,
0x54,0x55,0x56,0x57,0x58,0x59,0x60,0x61,
0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,
0x78,0x79,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x82,0x81,0x83,0x84,0x88,0x87,0x89,
0x90,0x93,0x91,0x00,0x00,0x00,0x00,0x00};
const u8 BPErrNo[] = {
/* 变频 */
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
0x38,0x39,0x40,0x41,0x42,0x43,0x44,0x45,
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x16,
0x20,0x21,0x22,0x00,0x00,0x00,0x00,0x00,
0x23,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x80,0x82,0x81,0x83,0x84,0x88,0x87,0x89,
0x90,0x93,0x91,0x00,0x00,0x00,0x00,0x00};
#else
/* 三型 */
#if (NJTYPE == 4)
const u8 ErrNo[] = {
0x12,0x14,0x15,0x13,0x10,0x16,0x10,0x07,
0x11,0x19,0x17,0x00,0x00,0x00,0x00,0x00,
0x02,0x04,0x01,0x05,0x06,0x07,0x03,0x00};
#elif (NJTYPE ==5)
const u8 ErrNo[] = {
0x03,0x05,0x06,0x04,0x01,0x07,0x01,0x16,
0x02,0x09,0x08,0x00,0x00,0x00,0x00,0x00,
0x13,0x15,0x12,0x17,0x18,0x16,0x14,0x11};
#endif
#endif
u8 GetErrNum(void)
{
#ifdef EnSTYLE5
if (FlashErrCnt == 0){
FlashErrCnt = 150; /* 3s On 20mS */
while (1){
if (++FlashErrNo >= 0x40) FlashErrNo = 0;
if (FlashErrNo < 0x30){
if ((OutSideErr[FlashErrNo>>3] & BitMask[FlashErrNo & 0x07]) != 0) break;
} else if (FlashErrNo < 0x38){
if ((Errorflg & BitMask[FlashErrNo & 0x07]) != 0) break;
} else {
if ((Errorflg2 & BitMask[FlashErrNo & 0x07]) != 0) break;
}
}
}
if (WJType == 1 ){ /* 1: 定频外机系统 */
return DPErrNo[FlashErrNo];
} else if (WJType == 0){ /* 0:变频外机系统 */
return BPErrNo[FlashErrNo];
} else {
return 0; /* 其他 */
}
return 0;
#else
if (FlashErrCnt == 0){
FlashErrCnt = 150; /* 3s On 20mS */
while (1){
if (++FlashErrNo >= 0x18) FlashErrNo = 0;
if (FlashErrNo < 0x08){
if ((Errorflg & BitMask[FlashErrNo]) != 0) break;
} else if (FlashErrNo < 0x10){
if ((Errorflg2 & BitMask[FlashErrNo & 0x07]) != 0) break;
} else {
if ((OutSideErr[0] & BitMask[FlashErrNo & 0x07]) != 0) break;
}
}
}
return ErrNo[FlashErrNo];
#endif
}
#endif
#ifdef AVRGCC
SIGNAL(SIG_OUTPUT_COMPARE1B)
#else
#pragma interrupt_handler Disp_Int:iv_TIMER1_COMPB
void Disp_Int(void)
#endif
{
#if (NJTYPE == 4) /* 挂机 */
u8 i;
u8 j;
u8 k;
OCR1B += (u16)2048; /* 1mS */
if (++ScanCnt > 7) ScanCnt = 0; /* 0-7 */
if (!ValBit(Sysflag1,fDataChg)){
ClrBit(pRCLK,pbRCLK);
for(j = 0; j < 2; j++){
if (j == 1){
k = ~SegBuf[ScanCnt];
} else {
k = (u8)~(1 << ScanCnt);
}
i = 0x80;
while(i != 0){
ClrBit(pCLK164,pbCLK164); /* CK Lo */
if ((u8)(k & i) != 0){
SetBit(pAB164,pbAB164);
} else {
ClrBit(pAB164,pbAB164);
}
i >>= 1;
SetBit(pCLK164,pbCLK164); /* CK Hi */
}
}
SetBit(pRCLK,pbRCLK);
//ClrBit(pCLK164,pbCLK164); /* CK Lo */
}
#elif (NJTYPE == 5) /* 柜机 */
u8 i;
OCR1B += (u16)2048; /* 2mS */
if (!ValBit(Sysflag1,fDataChg)){ /* 显示输出,同时扫描健 */
pIO_DIG &= ~((1<<pbIO_DIG1)|
(1<<pbIO_DIG2)|
(1<<pbIO_DIG3)|
(1<<pbIO_DIG4)|
(1<<pbIO_DIG5)|
(1<<pbIO_DIG6)); /* 先关显示输出*/
i = 0x80;
while(i != 0){
ClrBit(pCLK164,pbCLK164); /* CK Lo */
if ((u8)(SegBuf[ScanCnt] & i) != 0){
SetBit(pAB164,pbAB164);
} else {
ClrBit(pAB164,pbAB164);
}
i >>= 1;
SetBit(pCLK164,pbCLK164); /* CK Hi */
}
pIO_DIG |= (u8)(4 << ScanCnt); /* 开显示 */
ClrBit(pCLK164,pbCLK164); /* CK Lo */
Nop();
Nop();
Nop();
if (!ValBit(pIO_KSW1,pbIO_KSW1)){
KeyBuf |= (u8)(1 << ScanCnt);
}
if (!ValBit(pIO_KSW2,pbIO_KSW2)){
KeyBuf |= 0x01;
}
if (++ScanCnt > 5){
/* 存储扫描结果 */
KeyGet = (u8)KeyBuf;
/* 0-5 */
ScanCnt = 0x00;
KeyBuf = 0x00;
}
}
#endif
}
void Led_Init(void)
{
#if ((NJTYPE == 0)||(NJTYPE == 1))
//SetBit(pProtLed,pbProtLed); /* 故障灯 */
//SetBit(pTimeLed,pbTimeLed); /* 定时灯 */
//SetBit(pRunLed,pbRunLed); /* 运行灯 */
//FlashCntr2 = 0x00;
#elif ((NJTYPE == 2)||(NJTYPE == 3))
//SetBit(pTimeLed,pbTimeLed); /* 定时灯 */
//SetBit(pRunLed,pbRunLed); /* 运行灯 */
//FlashCntr2 = 0x00;
#elif (NJTYPE == 4)
//FlashErrCnt = 0;
//SegBuf[0] = 0x0FF; /* 指示灯灭 */
//SegBuf[1] = 0x0FF;
//SegBuf[2] = 0x0FF;
/* TCCR1A: COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10 */
TCCR1A = 0x00; /* Normal */
/* TCCR1B: ICNC1 ICES1 - - WGM13 WGM12 CS12 CS11 CS10 */
TCCR1B = 0x02; /* 1:8 */
//TIFR = 0x0FF;
TIMSK |= (u8)(1 << OCIE1B);
#elif (NJTYPE == 5)
//SetBit(pRunLED,pbRunLED); /* 运行灯灭 */
//FlashErrCnt = 0;
/* TCCR1A: COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10 */
TCCR1A = 0x00; /* Normal */
/* TCCR1B: ICNC1 ICES1 - - WGM13 WGM12 CS12 CS11 CS10 */
TCCR1B = 0x02; /* 1:8 */
//TIFR = 0x0FF;
TIMSK |= (u8)(1 << OCIE1B);
ChkLcdCnt = 150; /* 3s */
#endif
}
#endif
/*** (c) 2005 佛山菱电 **************************** END OF FILE *************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -