📄 show.c
字号:
#define SUBRAM
#include "ram.c"
#define LEDon 0
#define LEDoff 1
void show_5led_sub();
void show_DSY_sub();
void show_yiliu_sub();
void power_on_show(),power_off_show();
void show_exchange(),flash_cnt();
const unsigned char dig_tab[]={
0b00000011, /*0*/
0b10011111,
0b00100101,
0b00001101,
0b10011001,
0b01001001,
0b01000001,
0b00011011,
0b00000001,
0b00001001,
0b00010001,
0b11000001,
0b01100011,
0b10000101, /*d*/
0b01100001,
0b01110001, /*f,15*/
0b11111111, /*关,17*/
};
/*-----------------*/
void showsub()
{
if ((JX1 == 1) && (JX2 == 1))
{
show_type = 0; /*5灯显示*/
}
else
{
if ((JX1 == 0) && (JX2 == 0))
{
show_type = 1; /*数码管室温*/
}
else
{
if ((JX1 == 0) && (JX2 == 1))
{
show_type = 2; /*数码管设定温度*/
}
else
{
show_type = 3; /*预留*/
}
}
}
switch (show_type)/*四种显示模式*/
{
case 0:
show_5led_sub(); /*5灯显示*/
break;
case 1:
show_DSY_sub(); /*数码管显示*/
break;
case 2:
show_DSY_sub(); /*数码管显示*/
break;
default:
show_yiliu_sub();/*预留*/
break;
}
}
/*-------------*/
/*5led灯显示*/
void show_5led_sub()
{
if (power)
{
if (!abnormal)
{
if (comp)
{
runLED = LEDon;
}
else
{
runLED = LEDoff;
}
if (rmot_fancode == rmot_fanSleep_1)
{
sleepLED = LEDon;
}
else
{
sleepLED = LEDoff;
}
if ((emergency_test == 1) || (emergency == 1))
{
turboLED = LEDoff;
}
else
{
if (rmot_fancode == rmot_fanVHi_6)/*强力风速*/
{
turboLED = LEDon;
}
else
{
turboLED = LEDoff;
}
}
}
else
{
runLED = LEDoff;
sleepLED = LEDoff;
turboLED = LEDoff;
}
if (roomtemp_err || incoiltemp_err || fan_err || outcoiltemp_err)
{
if (flash05sflg)
{
flash05sflg = 0;
flashcnt++;
#define mieT 10
if (flashcnt >= mieT)
{
if (flashcnt.0 == 0)
{
powerLED = LEDoff;
power35LED = LEDoff;
}
else
{
powerLED = LEDon;
power35LED = LEDon;
}
#define room_err_times mieT + 3
#define coil_err_times mieT + 7
#define fan_err_times mieT + 5
#define outcoil_err_times mieT + 9
if (roomtemp_err)
{
tempa = room_err_times;
}
else
{
if (incoiltemp_err)
{
tempa = coil_err_times;
}
else
{
if (fan_err)
{
tempa = fan_err_times;
}
else
{
tempa = outcoil_err_times;
}
}
}
if (flashcnt >= tempa)
{
flashcnt = 0x00;
}
}
else
{
powerLED = LEDon;
power35LED = LEDon;
}
}
}
else
{
powerLED = LEDon;
power35LED = LEDon;
}
}
else
{
runLED = LEDoff;
sleepLED = LEDoff;
turboLED = LEDoff;
if (timer)
{
powerLED = LEDon;
power35LED = LEDon;
}
else
{
powerLED = LEDoff;
power35LED = LEDoff;
}
}
if (!abnormal)
{
if (timer)
{
timerLED = LEDon;
}
else
{
timerLED = LEDoff;
}
}
else
{
timerLED = LEDoff;
}
}
/*-------------------------------*/
/*传递参数:show_buff[0],show_buff[1],led_show*/
/*-------------------------------*/
/*数码管显示*/
void show_DSY_sub()
{
if (power)
{
power_on_show();
}
else
{
power_off_show();
}
}
/*-------------------------------*/
void show_yiliu_sub()
{
NOP();
NOP();
}
/**********************************/
void power_on_show()
{
DSYpowerLED = LEDon;
power35LED = LEDon;
if (!abnormal)
{
DSYrinseLED = !rinse_flg;
DSYcleanLED = !clean;
DSYtimerLED = !timer;
if (comp)
{
DSYrunLED = LEDon;
}
else
{
DSYrunLED = LEDoff;
}
/*---*/
if (rmot_fancode == rmot_fanSleep_1)
{
DSYsleepLED = LEDon;
}
else
{
DSYsleepLED = LEDoff;
}
/*---*/
if (rmot_fancode == rmot_fanVHi_6)/*强力风速*/
{
DSYturboLED = LEDon;
}
else
{
DSYturboLED = LEDoff;
}
/*---*/
if (temptime >= roomtime)
{
if (show_type == 1)
{
show_data = roomtemp;
}
else
{
if (mode == fan)
{
show_data = roomtemp;
}
else
{
show_data = settemp;
}
}
show_exchange();
show_buff[0] = dig_tab[show_dataH];
show_buff[1] = dig_tab[show_dataL];
}
else
{
show_data = settemp;
show_exchange();
flash_cnt();
if (flash_flg)
{
show_buff[0] = 0xff;
show_buff[1] = 0xff;
}
else
{
show_buff[0] = dig_tab[show_dataH];
show_buff[1] = dig_tab[show_dataL];
}
}
}
else
{
DSYrunLED = LEDoff;
DSYsleepLED = LEDoff;
DSYturboLED = LEDoff;
DSYcleanLED = LEDoff;
DSYrinseLED = LEDoff;
DSYtimerLED = LEDoff;
if (roomtemp_err)/*E2*/
{
show_buff[0] = dig_tab[14];
show_buff[1] = dig_tab[2];
}
else
{
if (incoiltemp_err)/*E1*/
{
show_buff[0] = dig_tab[14];
show_buff[1] = dig_tab[1];
}
else
{
if (fan_err)/*E6*/
{
show_buff[0] = dig_tab[14];
show_buff[1] = dig_tab[6];
}
else
{
if (outcoiltemp_err)/*E3*/
{
show_buff[0] = dig_tab[14];
show_buff[1] = dig_tab[3];
}
}
}
}
}
}
/*--------------------------------*/
void power_off_show()
{
DSYrunLED = LEDoff;
DSYsleepLED = LEDoff;
DSYturboLED = LEDoff;
DSYcleanLED = LEDoff;
DSYrinseLED = LEDoff;
show_buff[0] = 0xff;/*关显示*/
show_buff[1] = 0xff;
if (timer)
{
DSYpowerLED = LEDon;
power35LED = LEDon;
if (!abnormal)
{
DSYtimerLED = LEDon;
}
else
{
DSYtimerLED = LEDoff;
}
}
else
{
DSYpowerLED = LEDoff;
power35LED = LEDoff;
DSYtimerLED = LEDoff;
}
}
/*--------------------------------*/
/*拆数显示*/
void show_exchange()
{
show_data_bak = show_data;
if (show_data_bak >= 99)
{
show_data_bak = 99;
}
tempa = show_data_bak;
tempb = 0x00;
if (tempa >= 10)
{
do
{
tempa = tempa - 10;
tempb = tempb + 1;
}while(tempa >= 10);
}
show_dataH = tempb;
show_dataL = tempa;
}
/*----------------------------------*/
/*每隔0.3ms设置数码管闪标志,亮时间是灭时间的2倍*/
void flash_cnt()
{
if (flash_ms == 1)
{
flash_ms = 0;
if (flash_flg == 0)
{
if (++flash_T_cnt >= 2)
{
flash_T_cnt = 0x00;
flash_flg = 1;
}
}
else
{
flash_flg = 0;
}
}
}
/*----------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -