📄 disp_control.c
字号:
case 0xcc://待命状态
{
if(ready_led==0)
ready_f=0;
else ready_f=1;
if(reset_require==0xce) //要求复位
{
reset_require=0;
reset_done();
}
if(time_count==4)
{
key_scan();//50ms键盘扫描
key_process();//待命处理所有键盘
time_count=0;
time_count2++;
tran_require(0x1ccc); //50ms发送温度报警请求信号
}
if(time_count2==9)
{
re_display();//500ms刷新显示
time_count2=0;
if((pic_number==1)||(pic_number==2)||(pic_number==3)||(pic_number==4)||(pic_number==300))
{
if(temp_flag==0xaa12)//接收完电压、电流、功率因数标志
{
tran_require(0x1c1a); //50ms发送温度报警请求信号
}
if((send_pic==0)||(send_pic==2))
{
tran_master(0xce00);//发送在主画面下标志
send_pic=1;
}
}
else
{
if((send_pic==0)||(send_pic==1))
{
tran_master(0xcf00); //发送在非主画面下标志
send_pic=2;
}
}
}
}break;
case 0xaa://起动状态
{
time_count1++;
if(time_count1==5)
{
if(I_a_value>read_eeprom(0xfc10))//最后起动电流
{
write_word(0xfc10,I_a_value);//将起动电流最大值记录下来并写入EEPROM
}
run_f=~run_f;
time_count1=0;
tran_require(0x1ccc); //50ms发送温度报警请求信号
}
if(time_count==4)
{
key_scan();//50ms键盘扫描
key_process1();//启动过程中只处理上下翻页键
time_count=0;
time_count2++;
}
if(time_count2==9)
{
count_factor();//计算功率因数、有功功率、无功功率
re_display();//500ms刷新显示
time_count2=0;
if(temp_flag==0xaa12)//接收完电压、电流、功率因数标志
tran_require(0x1c1a); //发送温度请求
}
}break;
case 0xce://运行状态
{
if(time_count==4)
{
key_scan();//50ms键盘扫描
key_process1();//运行过程中只处理上下翻页键
time_count=0;
time_count2++;
tran_require(0x1ccc); //50ms发送温度报警请求信号
}
if(time_count2==9)
{
count_factor();//计算功率因数、有功功率、无功功率
re_display();//500ms刷新显示
time_count2=0;
if(temp_flag==0xaa12)//接收完电压、电流、功率因数标志
{
tran_require(0x1c1a); //发送温度请求信号
}
}
}break;
case 0xaf://报警状态
{
if(reset_require==0xce) //要求复位
{
reset_require=0;
reset_done();
}
if(time_count==4)
{
time_count=0;
time_count2++;
key_scan(); //50ms键盘扫描
key_process2(); //故障状态下只响应 reset horn_off键
}
if (time_count==5)
{
fault_f=~fault_f;
time_count=0;
}
if(time_count2==9)
{
re_display();//500ms刷新显示
time_count2=0;
}
}break;
case 0xbb://软停状态
{
if(time_count==4)
{
sstop_f =~sstop_f ;
time_count=0;
}
}break;
default:;
}
}
/*******************错误状态显示*************************/
void err_display()
{
write_word(0xfc60,trip_count);//将跳闸次数 写入EEPROM
write_word(0xfc50,trip_flag);//将跳闸记录 写入EEPROM
status=0xaf;
stop_f=0;
run_f= auxa_f=sstop_f=st_stp_f=st_sart_f=turn_f= dol_f=ready_f=1;
}
/*************************************************************************/
/***************************************************************************/
void clear_alram()
{
clear1();
alarm_info=alarm_info_1;
alarm_info_1=0;
pic_number400();
}
void alarm_flag_son(uchar flag)
{
alarm_flag=flag;//报警记录标志
write_word(0xfc40,alarm_flag);//将报警记录 写入EEPROM
}
void trip_record(uchar flag)
{
trip_count=read_eeprom(0xfc60)+1;;//记录跳闸次数
trip_flag=flag;//报警记录标志
err_display();
clear1();
}
void alarm_record(uchar flag)
{
clear1();
alarm_info_1=alarm_info;
alarm_info=flag;
}
/***************************************************************************/
void temp_trip_alarm()
{
if((temp_trip&0x0001)==0x0001)
{
if(status==0xcc)
{
T_ch1=0xdd01;
trip_flag=20;//跳闸记录标志
}
else
{T_ch1=0xff01;
trip_record(20);
}
}
else if((temp_alarm&0x0001)==0x0001)
{
alarm_flag_son(20);
T_ch1=0xdd01;
}
else
T_ch1=0;
if((temp_trip&0x0002)==0x0002)
{
if(status==0xcc)
{
T_ch2=0xdd02;
trip_flag=21;//跳闸记录标志
}
else
{ T_ch2=0xff02;
trip_record(21);
}
}
else if((temp_alarm&0x0002)==0x0002)
{
alarm_flag_son(21);
T_ch2=0xdd02;
}
else
T_ch2=0;
if((temp_trip&0x0004)==0x0004)
{
if(status==0xcc)
{
T_ch3=0xdd03;
trip_flag=22;//跳闸记录标志
}
else
{T_ch3=0xff03;
trip_record(22);
}
}
else if((temp_alarm&0x0004)==0x0004)
{
alarm_flag_son(22);
T_ch3=0xdd03;
}
else
T_ch3=0;
if((temp_trip&0x0008)==0x0008)
{
if(status==0xcc)
{
T_ch4=0xdd04;
trip_flag=23;//跳闸记录标志
}
else
{T_ch4=0xff04;
trip_record(23);
}
}
else if((temp_alarm&0x0008)==0x0008)
{
alarm_flag_son(23);
T_ch4=0xdd04;
}
else
T_ch4=0;
if((temp_trip&0x0010)==0x0010)
{
if(status==0xcc)
{
T_ch5=0xdd05;
trip_flag=24;//跳闸记录标志
}
else
{T_ch5=0xff05;
trip_record(24);
}
}
else if((temp_alarm&0x0010)==0x0010)
{
alarm_flag_son(24);
T_ch5=0xdd05;
}
else
T_ch5=0;
if((temp_trip&0x0020)==0x0020)
{
if(status==0xcc)
{
T_ch6=0xdd06;
trip_flag=25;//跳闸记录标志
}
else
{T_ch6=0xff06;
trip_record(25);
}
}
else if((temp_alarm&0x0020)==0x0020)
{
alarm_flag_son(25);
T_ch6=0xdd06;
}
else
T_ch6=0;
if((temp_trip&0x0040)==0x0040)
{
if(status==0xcc)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -