?? j.c
字號:
(var_change[2]-0x30)*1.0 +
(var_change[4]-0x30)*0.1 + (var_change[5]-0x30)*0.01 ;
eeprom_write_block(&tem_down, &ee_tem_down, sizeof(double));
delay(10,8000);
judge_eeprom( &tem_down,&ee_tem_down);
clear_all();
main_menu();
setup_menu_cursor();
}
break;
case 6: // 差壓上限, 屏幕在“差壓上限”選項時只檢測“設置/退出”"加1"“右移/向下”“確認/保存”鍵
if( key_value==1 ) // 是否“設置/退出”
{
clear_all();
screen_status=3; // 回到主菜單模式
main_menu();
setup_menu_cursor();
}
if( key_value==2 ) // 是否“加1”
{
var_change[change_posion]++;
if( var_change[change_posion]==0x3a ) var_change[change_posion] = 0x30;
}
if( key_value==3 ) // 是否“右移/向下”
{
line4 = " ";
display();
par_cursor_addres++;
change_posion++;
if( par_cursor_addres==0x9d ) par_cursor_addres = 0x9e; // 跳過小數點
if( par_cursor_addres==0xa0 ) par_cursor_addres = 0x99; // 回頭
if( change_posion==4 ) change_posion = 5; // 跳過小數點
if( change_posion==7 ) change_posion = 0; // 回頭
wr_com(par_cursor_addres);
wr_date(0x18);
}
if( key_value==4 ) // 是否“確認/保存”
{
clear_all();
screen_status=3; // 回到主菜單模式
//在此處把修改好的參數存入EEPROM
asm("wdr");
chaya_up = (var_change[0]-0x30)*1000.00 + (var_change[1]-0x30)*100.00 +
(var_change[2]-0x30)*10.0 + (var_change[3]-0x30)*1.0 +
(var_change[5]-0x30)*0.1 + (var_change[6]-0x30)*0.01 ;
asm("wdr");
eeprom_write_block(&chaya_up, &ee_chaya_up, sizeof(double));
delay(10,8000);
judge_eeprom( &chaya_up,&ee_chaya_up);
clear_all();
main_menu();
setup_menu_cursor();
}
break;
case 7: // 差壓下限, 屏幕在“差壓下限”選項時只檢測“設置/退出”"加1"“右移/向下”“確認/保存”鍵
if( key_value==1 ) // 是否“設置/退出”
{
clear_all();
screen_status=3; // 回到主菜單模式
main_menu();
setup_menu_cursor();
}
if( key_value==2 ) // 是否“加1”
{
var_change[change_posion]++;
if( var_change[change_posion]==0x3a ) var_change[change_posion] = 0x30;
}
if( key_value==3 ) // 是否“右移/向下”
{
line4 = " ";
display();
par_cursor_addres++;
change_posion++;
if( par_cursor_addres==0x9d ) par_cursor_addres = 0x9e; // 跳過小數點
if( par_cursor_addres==0xa0 ) par_cursor_addres = 0x99; // 回頭
if( change_posion==4 ) change_posion = 5; // 跳過小數點
if( change_posion==7 ) change_posion = 0; // 回頭
wr_com(par_cursor_addres);
wr_date(0x18);
}
if( key_value==4 ) // 是否“確認/保存”
{
clear_all();
screen_status=3; // 回到主菜單模式
//在此處把修改好的參數存入EEPROM
asm("wdr");
chaya_down = (var_change[0]-0x30)*1000.00 + (var_change[1]-0x30)*100.00 +
(var_change[2]-0x30)*10.0 + (var_change[3]-0x30)*1.0 +
(var_change[5]-0x30)*0.1 + (var_change[6]-0x30)*0.01 ;
asm("wdr");
eeprom_write_block(&chaya_down, &ee_chaya_down, sizeof(double));
delay(10,8000);
judge_eeprom( &chaya_down,&ee_chaya_down);
clear_all();
main_menu();
setup_menu_cursor();
}
break;
case 8: // 溫度電流糾偏 屏幕在“電流糾偏”選項時只檢測“設置/退出”"加1"“右移/向下”“確認/保存”鍵
if( key_value==1 ) // 是否“設置/退出”
{
clear_all();
screen_status=3; // 回到主菜單模式
main_menu();
setup_menu_cursor();
}
if( key_value==2 ) // 是否“加1”
{
if( var_change[change_posion]==0x2b ) var_change[change_posion] = 0x2d; // 切換正負號
else if( var_change[change_posion]==0x2d ) var_change[change_posion] = 0x2b; // 切換正負號
if( change_posion!=0 )
{
var_change[change_posion]++;
if( var_change[change_posion]==0x3a ) var_change[change_posion] = 0x30;
}
}
if( key_value==3 ) // 是否“右移/向下”
{
line4 = " ";
display();
par_cursor_addres++;
change_posion++;
if( par_cursor_addres==0x9b ) par_cursor_addres = 0x9c; // 跳過小數點
if( par_cursor_addres==0x9e ) par_cursor_addres = 0x99; // 回頭
if( change_posion==2 ) change_posion = 3; // 跳過小數點
if( change_posion==5 ) change_posion = 0; // 回頭
wr_com(par_cursor_addres);
wr_date(0x18);
}
if( key_value==4 ) // 是否“確認/保存”
{
clear_all();
screen_status=3; // 回到主菜單模式
//在此處把修改好的參數存入EEPROM
asm("wdr");
tem_cur_jp = (var_change[1]-0x30)*1.00 + (var_change[3]-0x30)*0.1 + (var_change[4]-0x30)*0.01;
if( var_change[0]==0x2d) tem_cur_jp *= -1.00;
asm("wdr");
eeprom_write_block(&tem_cur_jp, &ee_tem_cur_jp, sizeof(double));
delay(10,8000);
judge_eeprom( &tem_cur_jp,&ee_tem_cur_jp);
clear_all();
main_menu();
setup_menu_cursor();
}
break;
case 9: // 差壓電流糾偏 屏幕在“電流糾偏”選項時只檢測“設置/退出”"加1"“右移/向下”“確認/保存”鍵
if( key_value==1 ) // 是否“設置/退出”
{
clear_all();
screen_status=3; // 回到主菜單模式
main_menu();
setup_menu_cursor();
}
if( key_value==2 ) // 是否“加1”
{
if( var_change[change_posion]==0x2b ) var_change[change_posion] = 0x2d; // 切換正負號
else if( var_change[change_posion]==0x2d ) var_change[change_posion] = 0x2b; // 切換正負號
if( change_posion!=0 )
{
var_change[change_posion]++;
if( var_change[change_posion]==0x3a ) var_change[change_posion] = 0x30;
}
}
if( key_value==3 ) // 是否“右移/向下”
{
line4 = " ";
display();
par_cursor_addres++;
change_posion++;
if( par_cursor_addres==0x9b ) par_cursor_addres = 0x9c; // 跳過小數點
if( par_cursor_addres==0x9e ) par_cursor_addres = 0x99; // 回頭
if( change_posion==2 ) change_posion = 3; // 跳過小數點
if( change_posion==5 ) change_posion = 0; // 回頭
wr_com(par_cursor_addres);
wr_date(0x18);
}
if( key_value==4 ) // 是否“確認/保存”
{
clear_all();
screen_status=3; // 回到主菜單模式
//在此處把修改好的參數存入EEPROM
asm("wdr");
chaya_cur_jp = (var_change[1]-0x30)*1.00 + (var_change[3]-0x30)*0.1 + (var_change[4]-0x30)*0.01;
if( var_change[0]==0x2d) chaya_cur_jp *= -1.00;
asm("wdr");
eeprom_write_block(&chaya_cur_jp, &ee_chaya_cur_jp, sizeof(double));
asm("wdr");
delay(10,8000);
judge_eeprom( &chaya_cur_jp,&ee_chaya_cur_jp);
clear_all();
main_menu();
setup_menu_cursor();
}
break;
case 10: // 截面積, 屏幕在“截面積”選項時只檢測“設置/退出”"加1"“右移/向下”“確認/保存”鍵
if( key_value==1 ) // 是否“設置/退出”
{
clear_all();
screen_status=3; // 回到主菜單模式
main_menu();
setup_menu_cursor();
}
if( key_value==2 ) // 是否“加1”
{
var_change[change_posion]++;
if( var_change[change_posion]==0x3a ) var_change[change_posion] = 0x30;
}
if( key_value==3 ) // 是否“右移/向下”
{
line4 = " ";
display();
par_cursor_addres++;
change_posion++;
if( par_cursor_addres==0x9b ) par_cursor_addres = 0x9c; // 跳過小數點
if( par_cursor_addres==0x9e ) par_cursor_addres = 0x99; // 回頭
if( change_posion==2 ) change_posion = 3; // 跳過小數點
if( change_posion==5 ) change_posion = 0; // 回頭
wr_com(par_cursor_addres);
wr_date(0x18);
}
if( key_value==4 ) // 是否“確認/保存”
{
clear_all();
screen_status=3; // 回到主菜單模式
//在此處把修改好的參數存入EEPROM
asm("wdr");
aera = (var_change[0]-0x30)*10.00 + (var_change[1]-0x30)*1.00 + (var_change[3]-0x30)*0.10 + (var_change[4]-0x30)*0.01;
asm("wdr");
eeprom_write_block(&aera, &ee_aera, sizeof(double));
delay(10,8000);
judge_eeprom( &aera,&ee_aera);
clear_all();
main_menu();
setup_menu_cursor();
}
break;
case 11: // 重置EEPROM
if( key_value==1 ) // 是否“設置/退出”
{
clear_all();
screen_status=3; // 回到主菜單模式
main_menu();
setup_menu_cursor();
}
if( key_value==3 ) // 是否“右移/向下”
{
line4 = " ";
display();
if( par_cursor_addres==0x9a ) par_cursor_addres = 0x9d;
else par_cursor_addres = 0x9a;
wr_com(par_cursor_addres);
wr_date(0x18);
}
if( key_value==4 ) // 是否“確認/保存”
{
clear_all();
screen_status=3; // 回到主菜單模式
//在此處重置EEPROM
if( par_cursor_addres==0x9a )
{
asm("wdr");
tem_up = 500.00;
tem_down = 0.00;
chaya_up = 7000.00;
chaya_down = 0.00;
tem_cur_jp = 0.00;
chaya_cur_jp = 0.00;
aera = 1.54;
quanya_up = 10000.00;
quanya_down = 0.00;
asm("wdr");
eeprom_write_block(&tem_up, &ee_tem_up, sizeof(double)); delay(10,8000);
eeprom_write_block(&tem_down, &ee_tem_down, sizeof(double)); delay(10,8000);
eeprom_write_block(&chaya_up, &ee_chaya_up, sizeof(double)); delay(10,8000);
eeprom_write_block(&chaya_down, &ee_chaya_down, sizeof(double)); delay(10,8000);
eeprom_write_block(&tem_cur_jp, &ee_tem_cur_jp, sizeof(double)); delay(10,8000);
eeprom_write_block(&chaya_cur_jp, &ee_chaya_cur_jp, sizeof(double));delay(10,8000);
eeprom_write_block(&aera, &ee_aera, sizeof(double)); delay(10,8000);
eeprom_write_block(&quanya_up, &ee_quanya_up, sizeof(double)); delay(10,8000);
eeprom_write_block(&quanya_down, &ee_quanya_down, sizeof(double)); delay(10,8000);
line2 = " 重置成功 ";
display();
delay(800,8000);
}
clear_all();
main_menu();
setup_menu_cursor();
}
break;
case 12: // 全壓上限
if( key_value==1 ) // 是否“設置/退出”
{
clear_all();
screen_status=3; // 回到主菜單模式
main_menu();
setup_menu_cursor();
}
if( key_value==2 ) // 是否“加1”
{
var_change[change_posion]++;
if( var_change[change_posion]==0x3a ) var_change[change_posion] = 0x30;
}
if( key_value==3 ) // 是否“右移/向下”
{
line4 = " ";
display();
par_cursor_addres++;
change_posion++;
if( par_cursor_addres==0x9d ) par_cursor_addres = 0x9e; // 跳過小數點
if( par_cursor_addres==0xa0 ) par_cursor_addres = 0x98; // 回頭
if( change_posion==5 ) change_posion = 6; // 跳過小數點
if( change_posion==8 ) change_posion = 0; // 回頭
wr_com(par_cursor_addres);
wr_date(0x18);
}
if( key_value==4 ) // 是否“確認/保存”///////////////////////////////////////
{
clear_all();
screen_status=3; // 回到主菜單模式
//在此處把修改好的參數存入EEPROM
asm("wdr");
quanya_up = (var_change[0]-0x30)*10000.00 + (var_change[1]-0x30)*1000.00 +
(var_change[2]-0x30)*100.0 + (var_change[3]-0x30)*10.0 +
(var_change[4]-0x30)*1.0 +
(var_change[6]-0x30)*0.1 + (var_change[7]-0x30)*0.01 ;
asm("wdr");
eeprom_write_block(&quanya_up, &ee_quanya_up, sizeof(double));
delay(10,8000);
judge_eeprom( &quanya_up,&ee_quanya_up);
clear_all();
main_menu();
setup_menu_cursor();
}
break;
case 13: // 全壓下限
if( key_value==1 ) // 是否“設置/退出”
{
clear_all();
screen_status=3; // 回到主菜單模式
main_menu();
setup_menu_cursor();
}
if( key_value==2 ) // 是否“加1”
{
var_change[change_posion]++;
if( var_change[change_posion]==0x3a ) var_change[change_posion] = 0x30;
}
if( key_value==3 ) // 是否“右移/向下”
{
line4 = " ";
display();
par_cursor_addres++;
change_posion++;
if( par_cursor_addres==0x9d ) par_cursor_addres = 0x9e; // 跳過小數點
if( par_cursor_addres==0xa0 ) par_cursor_addres = 0x98; // 回頭
if( change_posion==5 ) change_posion = 6; // 跳過小數點
if( change_posion==8 ) change_posion = 0; // 回頭
wr_com(par_cursor_addres);
wr_date(0x18);
}
if( key_value==4 ) // 是否“確認/保存”///////////////////////////////////////
{
clear_all();
screen_status=3; // 回到主菜單模式
//在此處把修改好的參數存入EEPROM
asm("wdr");
quanya_down = (var_change[0]-0x30)*10000.00 + (var_change[1]-0x30)*1000.00 +
(var_change[2]-0x30)*100.0 + (var_change[3]-0x30)*10.0 +
(var_change[4]-0x30)*1.0 +
(var_change[6]-0x30)*0.1 + (var_change[7]-0x30)*0.01 ;
asm("wdr");
eeprom_write_block(&quanya_down, &ee_quanya_down, sizeof(double));
delay(10,8000);
judge_eeprom( &quanya_down,&ee_quanya_down);
clear_all();
main_menu();
setup_menu_cursor();
}
break;
default:
break;
}
delay(200,8000); // 延時,防止長按鍵
}
//----------- 按鍵處理函數 END -----------------
void wdsx(void) // 輸入溫度上限
{
line1 = "溫度上限 度";
display();
display_variable1(0x89,6);
}
void wdxx(void) // 輸入溫度下限
{
line1 = "溫度下限 度";
display();
display_variable1(0x89,6);
}
void ylsx(void) // 輸入差壓上限
{
line1 = "差壓上限 帕";
display();
display_variable1(0x89,7);
}
void ylx(void) // 輸入差壓下限
{
line1 = "差壓下限 帕";
display();
display_variable1(0x89,7);
}
void wddljp(void) // 輸入溫度電流糾偏值
{
line1 = "溫度電流糾偏值";
display();
wr_com(0x8e);
wr_date(0xba);
wr_date(0xc1);
wr_date(0xb0);
wr_date(0xb2);
display_variable1(0x89,5);
}
void yldljp(void) // 輸入壓力電流糾偏值
{
line1 = "差壓電流糾偏值";
display();
wr_com(0x8e);
wr_date(0xba);
wr_date(0xc1);
wr_date(0xb0);
wr_date(0xb2);
display_variable1(0x89,5);
}
void jmjsr(void) // 截面積輸入
{
line1 = "截面積 平方米";
display();
display_variable1(0x89,5);
}
void EEPROM_CZ(void) // EEPROM重置
{
line1 = "確定重置EEPROM?";
line3 = " 是 否";
display();
}
void qysx(void) // 輸入全壓上限
{
line1 = "全壓上限 帕";
display();
display_variable1(0x88,8);
}
void qyxx(void) // 輸入全壓下限
{
line1 = "全壓下限 帕";
display();
display_variable1(0x88,8);
}
int main(void)
{
uint i;
delay(200,8000);
cpu_init();
system_init();
while(1)
{
if( screen_status==1 ) // 正常模式
{
normal_model();
for( i=0;i<300;i++ ) // 顯示流量時,300ms 刷新一次流量值
{
delay(1,8000);
if( key_value!=0 ) break;
}
}
else if( screen_status==2 ) test_model(); // 測試模式
else if( screen_status==3 ) main_menu(); // 主菜單
else if( screen_status==4 ) wdsx(); // 溫度上限
else if( screen_status==5 ) wdxx(); // 溫度下限
else if( screen_status==6 ) ylsx(); // 差壓上限
else if( screen_status==7 ) ylx(); // 差壓下限
else if( screen_status==8 ) wddljp(); // 溫度電流糾偏
else if( screen_status==9 ) yldljp(); // 差壓電流糾偏
else if( screen_status==10 ) jmjsr(); // 截面積輸入
else if( screen_status==11 ) EEPROM_CZ(); // EEPROM重置
else if( screen_status==12 ) qysx(); // 全壓上限
else if( screen_status==13 ) qyxx(); // 全壓下限
else
{
clear_all();
line2 = "系統遭遇嚴重錯誤";
line3 = "請檢查是否受干擾";
line4 = "并斷電重新運行";
display();
delay(400,8000);
PORTB ^= (1<<2); // 點亮背光
}
if( key_value!=0 ) // 是否有按鍵?
{
led_on
key_process(); // 有,調用按鍵處理程序
key_value = 0; // 按鍵值清零
led_off
}
asm("wdr");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -