📄 disp_mod.c
字号:
/****************************************************************
discrible:显示主流程
author :Ye Yun Kai
date :05.04.15(yy.mm.dd)
****************************************************************/
#include "msp430x42x.h"
#include "Sys_data.h"
#include "Sys_fun.h"
void Disp_Mod(void)
{
Lcd_clr(); //清屏
if((Display_symbol & firlayer_flag) ==firlayer_flag)//-------------主显示层
{
test_index_Disp =0; //在主显示层,测试层键显显示项计数器清0
sysdata_index_Disp =0; //在主显示层,系统数据键显显示项计数器0
hisHeatdata_index_Disp = 0; //在主显示层,历史数据显示层键显显示项计数器清0
hisCooldata_index_Disp = 0;
turn_index_Disp++;
if(turn_index_Disp>6)
turn_index_Disp = 0;
switch(turn_index_Disp) //数据更新
{
case 0x00: Lcd_all(); //全显
break;
case 0x01: Up_Datebuffer(Heat_WH,4); //当前热量(单位:1KWH)
break;
case 0x02: Up_Datebuffer(Cool_WH,4); //当前冷量(单位:1KWH)
break;
case 0x03: Up_Datebuffer(Flux,4); //当前流量(单位:0.01m3)
break;
case 0x04: Up_Datebuffer(In_Temp,2); //进水温度
break;
case 0x05: Up_Datebuffer(Out_Temp,2); //出水温度
break;
case 0x06: Up_Datebuffer(Sub_Temp,2); //温差
break;
default: Lcd_all(); //全显
break;
}
Up_Promptbuffer(turn_index_Disp); //提示符更新
Lcd_buffer_update(Data_buffer); //更新LCD
if((SVSCTL&0x01)==0x01) //MCU内置电源管理模块检测工作电压2.8V,则亮低压提示符
LCDM10 |= 0x04; //点亮低压提示符
}
else if((Display_symbol & seclayer_flag) ==seclayer_flag)//----------测试显示层
{
turn_index_Disp =0; //测试显示层,主显示层键显显示项计数器清0
sysdata_index_Disp =0; //测试显示层,系统数据键显显示项计数器0
hisHeatdata_index_Disp = 0; //测试显示层,历史数据显示层键显显示项计数器清0
hisCooldata_index_Disp = 0;
test_index_Disp++;
if(test_index_Disp>9)
test_index_Disp = 1;
switch(test_index_Disp) //-------------------------数据更新
{
case 0x00: Lcd_all(); //全显
break;
case 0x01: Up_Datebuffer(Power_test,4); //测试实时功率(单位:W)
break;
case 0x02: Up_Datebuffer(FluxSpeed_test,4); //测试实时流速(单位:L/h)
break;
case 0x03: if((Display_symbol & test_off)==test_off)//测试状态("ON"或"OFF")
Up_test_off(); //往Data_buffer寄存器内直接写段码值"TESTOFF"
else
Up_test_on(); //往Data_buffer寄存器内直接写段码值"TEST ON"
break;
case 0x04: Up_Datebuffer(Heat_test,4); //当前测试热量(单位:0.1WH)
break;
case 0x05: Up_Datebuffer(Cool_test,4); //当前测试冷量(单位:0.1WH)
break;
case 0x06: Up_Datebuffer(Flux_test,4); //当前测试流量(单位:1L)
break;
case 0x07: Up_Datebuffer(In_Temp,2); //进水温度
Data_buffer[2] = Num_Disp[(In_SD16Value[0]&0x0F)];
Data_buffer[1] = Num_Disp[(In_SD16Value[0]&0xF0)>>4];
Data_buffer[0] = Num_Disp[(In_SD16Value[1]&0x0F)];
break;
case 0x08: Up_Datebuffer(Out_Temp,2); //出水温度
Data_buffer[2] = Num_Disp[(Out_SD16Value[0]&0x0F)];
Data_buffer[1] = Num_Disp[(Out_SD16Value[0]&0xF0)>>4];
Data_buffer[0] = Num_Disp[(Out_SD16Value[1]&0x0F)];
break;
case 0x09: Up_Datebuffer(Sub_Temp,2); //温差
Data_buffer[2] = Num_Disp[(BasicValue[0]&0x0F)];
Data_buffer[1] = Num_Disp[(BasicValue[0]&0xF0)>>4];
Data_buffer[0] = Num_Disp[(BasicValue[1]&0x0F)];
break;
default: Lcd_all(); //全显
break;
}
Up_test_Promptbuffer(test_index_Disp); //测试提示符更新
Lcd_buffer_update(Data_buffer); //更新LCD
if((SVSCTL&0x01)==0x01) //MCU内置电源管理模块检测工作电压2.8V,则亮低压提示符
LCDM10 |= 0x04; //点亮低压提示符
}
else if((Display_symbol & thilayer_flag) ==thilayer_flag)//----------系统数据显示层
{
turn_index_Disp =0; //在系统数据显示层,测试层键显显示项计数器清0
test_index_Disp =0; //在系统数据显示层,系统数据键显显示项计数器0
hisHeatdata_index_Disp = 0; //在系统数据显示层,历史数据显示层键显显示项计数器清0
hisCooldata_index_Disp = 0;
sysdata_index_Disp++;
if(sysdata_index_Disp>0x07)
sysdata_index_Disp = 1;
switch(sysdata_index_Disp)
{
case 0x01: Up_Datebuffer(Meter_Num,4); //表号
break;
case 0x02: Up_Datebuffer(Address,2); //地址项
break;
case 0x03: Up_Datebuffer(Power_test,4); //测试实时功率(单位: W)
break;
case 0x04: Up_Datebuffer(FluxSpeed_test,4); //测试实时流速(单位: L/h)
break;
case 0x05: Up_Datebuffer(Pile_time,4); //累积运行时间
break;
case 0x06: Up_Datebuffer(Date,3); //系统日期
break;
case 0x07: Up_Datebuffer(Time,3); //系统时间
break;
}
Up_sysdata_Promptbuffer(sysdata_index_Disp); //系统数据提示符更新
Lcd_buffer_update(Data_buffer); //更新LCD
if((SVSCTL&0x01)==0x01) //MCU内置电源管理模块检测工作电压2.8V,则亮低压提示符
LCDM10 |= 0x04; //点亮低压提示符
}
else if((Display_symbol & foulayer_flag) ==foulayer_flag)//----------历史数据显示层
{
turn_index_Disp =0; //在系统数据显示层,测试层键显显示项计数器清0
test_index_Disp =0; //在系统数据显示层,系统数据键显显示项计数器0
sysdata_index_Disp = 0; //在系统数据显示层,历史数据显示层键显显示项计数器清0
hisCooldata_index_Disp = 0;
hisHeatdata_index_Disp++;
if(hisHeatdata_index_Disp>0x0C)
hisHeatdata_index_Disp = 1;
switch(hisHeatdata_index_Disp) //上1月~上12月数据更新
{
case 0x01: Up_Datebuffer(His_HeatWH,4); //更新上1月数据
break;
case 0x02: Up_Datebuffer(His_HeatWH+4,4); //更新上2月数据
break;
case 0x03: Up_Datebuffer(His_HeatWH+8,4); //更新上3月数据
break;
case 0x04: Up_Datebuffer(His_HeatWH+12,4); //更新上4月数据
break;
case 0x05: Up_Datebuffer(His_HeatWH+16,4); //更新上5月数据
break;
case 0x06: Up_Datebuffer(His_HeatWH+20,4); //更新上6月数据
break;
case 0x07: Up_Datebuffer(His_HeatWH+24,4); //更新上7月数据
break;
case 0x08: Up_Datebuffer(His_HeatWH+28,4); //更新上8月数据
break;
case 0x09: Up_Datebuffer(His_HeatWH+32,4); //更新上9月数据
break;
case 0x0A: Up_Datebuffer(His_HeatWH+36,4); //更新上10月数据
break;
case 0x0B: Up_Datebuffer(His_HeatWH+40,4); //更新上11月数据
break;
case 0x0C: Up_Datebuffer(His_HeatWH+44,4); //更新上12月数据
break;
}
Up_hisHeatdata_Promptbuffer(hisHeatdata_index_Disp); //历史数据提示符更新
Lcd_buffer_update(Data_buffer); //更新LCD
if((SVSCTL&0x01)==0x01) //MCU内置电源管理模块检测工作电压2.8V,则亮低压提示符
LCDM10 |= 0x04; //点亮低压提示符
}
else if((Display_symbol & fivlayer_flag) ==fivlayer_flag)//----------历史数据显示层
{
turn_index_Disp =0; //在系统数据显示层,测试层键显显示项计数器清0
test_index_Disp =0; //在系统数据显示层,系统数据键显显示项计数器0
sysdata_index_Disp = 0; //在系统数据显示层,历史数据显示层键显显示项计数器清0
hisHeatdata_index_Disp = 0;
hisCooldata_index_Disp++;
if(hisCooldata_index_Disp>0x0C)
hisCooldata_index_Disp = 1;
switch(hisCooldata_index_Disp) //上1月~上12月数据更新
{
case 0x01: Up_Datebuffer(His_CoolWH,4); //更新上1月数据
break;
case 0x02: Up_Datebuffer(His_CoolWH+4,4); //更新上2月数据
break;
case 0x03: Up_Datebuffer(His_CoolWH+8,4); //更新上3月数据
break;
case 0x04: Up_Datebuffer(His_CoolWH+12,4); //更新上4月数据
break;
case 0x05: Up_Datebuffer(His_CoolWH+16,4); //更新上5月数据
break;
case 0x06: Up_Datebuffer(His_CoolWH+20,4); //更新上6月数据
break;
case 0x07: Up_Datebuffer(His_CoolWH+24,4); //更新上7月数据
break;
case 0x08: Up_Datebuffer(His_CoolWH+28,4); //更新上8月数据
break;
case 0x09: Up_Datebuffer(His_CoolWH+32,4); //更新上9月数据
break;
case 0x0A: Up_Datebuffer(His_CoolWH+36,4); //更新上10月数据
break;
case 0x0B: Up_Datebuffer(His_CoolWH+40,4); //更新上11月数据
break;
case 0x0C: Up_Datebuffer(His_CoolWH+44,4); //更新上12月数据
break;
}
Up_hisCooldata_Promptbuffer(hisCooldata_index_Disp); //历史数据提示符更新
Lcd_buffer_update(Data_buffer); //更新LCD
if((SVSCTL&0x01)==0x01) //MCU内置电源管理模块检测工作电压2.8V,则亮低压提示符
LCDM10 |= 0x04; //点亮低压提示符
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -