📄 qq.c
字号:
current_led = led_on;
hold_led = led_off;
if (index==0)
eror_led = led_on;
else
eror_led = led_off;
}
/*报警处理模块结束++++++*/
/*主程序开始+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
main() /*主程序*/
{
uint f_var0;
uint f_var1;
uint i_init;
uint l_var0;
uint l_var1;
uchar i;
ulong ll;
ulong gg;
ulong ff;
while (1)
{
P0 = 255;
delay(2000);
P0 = 0;
delay(2000);
}
x25045_init();
x25045_feed();
min_data = x25045_read_word(gas_min_address);
max_data = x25045_read_word(gas_max_address);
#ifdef clock
t2_init();
#endif
#ifdef clear
do_clear();
#endif
#ifdef check
do_check();
#endif
for (i=0;;i++)
{
x25045_feed();
f_var0=x25045_read_word(i*4+f_begin_address);
f_var1=x25045_read_word(i*4+f_begin_address+4);
if (f_var1<=f_var0) { chiefdata=i;break; }
}
for (i=0;;i++)
{
x25045_feed();
f_var0=x25045_read_word(i*4+f_begin_address+2);
f_var1=x25045_read_word(i*4+f_begin_address+6);
if (f_var1<=f_var0)
{
x25045_feed();
if (chiefdata==i)
{
f_var1=x25045_read_word(i*4+f_begin_address);
if ((f_var0==max_f)&(f_var1==max_l)) index=1;
else index=0;
}
else index=0;
break;
}
}
/*初始化*/
init();
i_init=0;
while(1) /*主循环*/
{
x25045_feed();
if (reflush==data_reflush)
{
x25045_feed();
if (index>0)
{
chiefdata=count_image/circle_init;
chiefdata=2000-chiefdata;
reflush=false;
for (i=i_init;;i++)
{
x25045_feed();
f_var0=x25045_read_word(i*4+f_begin_address); /*应该采用记忆查询,否则太慢*/
if (chiefdata < f_var0)
{
if (i==0) {chiefdata=0;dis();goto over;}
i_init=i;
goto next1;
}
}
next1:
for (i=i_init;;i--)
{
x25045_feed(); /*喂狗*/
f_var0=x25045_read_word(i*4+f_begin_address);
if (chiefdata >= f_var0)
{
i_init=i;
goto next2;
}
}
next2:
f_var1=x25045_read_word((i_init+1)*4+f_begin_address);
l_var0=x25045_read_word(i_init*4+f_begin_address+2);
l_var1=x25045_read_word((i_init+1)*4+f_begin_address+2);
chiefdata = chiefdata - f_var0;
f_var1 = f_var1 - f_var0;
l_var1 = l_var1 - l_var0;
ff=chiefdata;
gg=l_var1*10;
ll=ff*gg;
l_var0=l_var0*10;
chiefdata=(uint)(ll/f_var1);
chiefdata=chiefdata+l_var0;
bin_bcd(chiefdata);
bcd_dis_four();
dispdata[1]--;
display();
over: ;
}
else {
reflush = false;
chiefdata = count_image/circle_init;
dis();
eror_led=led_on;
}
}
if (reflush==display_reflush)
{
bin_bcd(chiefdata);
bcd_dis_four();
display();
}
if (key==mode) /*键盘服务程序*/
{
delay(80);
if (key==mode)
{
menu=1;
mode_led = led_on;
key_mode_srv();
i_init=0;
}
}
if (key==alt)
{
while (key==alt) {x25045_feed();}
key_alt_srv();
}
if (key==hold)
{
while (key==hold) x25045_feed();key=255;;
hold_led = led_on;
current_led = led_off;
key_hold_srv();
}
else ;
warn();
#ifdef clock
do_clock();
#endif
#ifdef remind
do_remind();
#endif
}
}
/*主程序结束+++++++++++++++++++++*/
/*按键处理模块开始++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*当前,锁存数据显示转换程序开始********************************************************/
void key_alt_srv()
{
current_led = led_off;
hold_led = led_on;
chiefdata = x25045_read_word(hold_data_address); /*读入锁存数据*/
while (1)
{
x25045_feed();
bin_bcd(chiefdata);
bcd_dis_four();
dispdata[1]--;
display();
if (key==alt) /*按alt后退出显示锁存数据*/
{
while (key==alt) { x25045_feed();}
goto over_alt;
}
}
over_alt: ;
}
/*当前,锁存数据转换程序结束*****/
/*数据锁存程序开始************************************************************************/
void key_hold_srv()
{
x25045_feed();
dispdata[0] = dis_off; /*数码管全灭*/
dispdata[1] = dis_off;
dispdata[2] = dis_off;
dispdata[3] = dis_off;
display();
x25045_write_word(hold_data_address,chiefdata); /*将当前值存入eprom中*/
delay(hold_flash_time);
dis(); /*显示刚刚存入的数据*/
delay(hold_flash_time);
delay(hold_flash_time);
dispdata[0] = dis_off; /*数码管全灭*/
dispdata[1] = dis_off;
dispdata[2] = dis_off;
dispdata[3] = dis_off;
display();
delay(hold_flash_time);
}
/*数据锁存程序结束****/
/*标定程序****最主要的一个键盘服务程序***********************************************/
void key_mode_srv() /*标定主程序*/
{
x25045_feed();
display_init();
menu=menu_main;
signal=true;
while (signal)
{
x25045_feed();
key_srv();
display_srv();
}
reflush = display_reflush;
}
void key_srv() /*键盘服务程序*/
{
x25045_feed();
key_data();
if (menu==menu_main)
{
if (key_data_update)
{
if (key_data_update==255)
signal=esc;
else if (key_data_update==set)
{
menu = temp;
if (menu==menu_max)
{
temp = x25045_read_word(gas_max_address);
}
else if (menu==menu_min)
temp = x25045_read_word(gas_min_address);
else if (menu==menu_set)
{
index=0;
menu = zero_zero;
while (reflush!=data_reflush) x25045_feed();
globe = count_image/circle_init;
reflush = false;
}
}
key_data_update=false;
}
;
}
else if (menu==menu_max)
{
if (key_data_update)
{
if (key_data_update==255)
menu=menu_main;
else if (key_data_update==set)
{
x25045_write_word(gas_max_address,temp);
menu=menu_main;
}
key_data_update=false;
}
}
else if (menu==menu_zero)
{
x25045_feed();
if (reflush==data_reflush)
{
chiefdata=count_image/circle_init;
chiefdata=max_f-chiefdata;
reflush=false;
}
if (key_data_update)
{
if (key_data_update==255)
menu=menu_main;
else if (key_data_update==set)
{
x25045_feed();
x25045_write_word(gas_zero_address,chiefdata);
x25045_write_word((gas_zero_address+2),0);
x25045_write_word((gas_zero_address+4),max_f);
x25045_write_word((gas_zero_address+6),max_l);
index = 1;
x25045_write_word(gas_set_all,index);
menu=menu_main;
}
key_data_update=false;
}
}
else if (menu==menu_min)
{
if (key_data_update)
{
if (key_data_update==255)
menu=menu_main;
else if (key_data_update==set)
{
x25045_write_word(gas_min_address,(uchar)temp);
menu=menu_main;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -