?? 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 + -