📄 display_mode.h
字号:
//oooo通讯保存前状态00000000000
unsigned char rdisplay_before_status;
unsigned char rdisplay_before_time;
unsigned int rdisplay_befor_reference;
//ok this
//l41
void init_display()
{
RFLAG_B_A_KU=0;
displaynum_auto_key=0;// AUTO OR KEY DISPLAY (DISPLAY NUM)
set_reference_value(0);
RLCD_DISPLAY_STATUS=DISPLAY_LIGHT; // DISPLAY STATUS
gdisplay_auto_key_comm();
RPOINT_AUTO_DISPLAY=0xff;
rchange_a_b_display=0;
RFLAG_PROG=0;
RDISPLAY_TIMER=0;
RDISPLAY_ENVENT=DISPLAY_ENVENT_NO;
DISPLAY_DATA_TIME_WEEK=WEEK;
light_time=0;
// RFLAG_NEED_RESETASKNUM_DISPLAY=0;
RFLAG_RESET_DISPLAY=0;
RFLAG_ASKNUM_DISPLAY=0;
display_comm=0;
status_cuofeng_price=0;
arm_cuofeng=0;
}
void SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE()
{
unsigned char dn10,dn20,dn21,y,i;
unsigned char d1,d2,d3,d4;
unsigned char g1,g2;
unsigned long g3;
unsigned int current_reference;
unsigned char display_biao[13];
union k1
{
unsigned char s[2];
unsigned int w;
}d0,d5;
struct bit_use
{
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
};
union byte_use
{
struct bit_use bit;
unsigned char byte;
};
union byte_use byte_bit;
// check
current_reference=RCURRENT_REFERENCE;
if(current_reference>END_REFERENCE)
set_reference_value(0);
current_reference=RCURRENT_REFERENCE;
// 2003-7-27 changed------>start
for(g1=0;g1<13;g1++)
display_biao[g1]=READ_LCD_DISPLAY_DATA_TABLE[current_reference][g1];
// 2003-7-27 changed------>end
if(RLCD_DISPLAY_STATUS<4)
{
// JI SUAN ADDRESS
data_addr.addrc[0]=display_biao[1];
data_addr.addrc[1]=display_biao[2];
// data_addr.addrc[2]=display_biao[3];
// SHU JU GE SHU
dn10=display_biao[4];
if((0x80&display_biao[10])==0x80)
{
g3=display_biao[3];
data_addr.addri=current_twobiaofm_block_addr(display_biao[1],display_biao[2]);
data_addr.addri=g3+data_addr.addri;
}
// ok
//read data--->wr_data[]
read(display_biao[0],dn10);
if(current_reference==130)// shang xian wu gong
{
shuangxiang_kvarh();
for(i=0;i<4;i++)
wr_data[i]=bcdaddbuffer[i+1];
}
dn10=dn10-1;
for(dn20=0;dn20<8;dn20++)
DISPLAY_8_NUM[dn20]=CHARMODE_KONG;
if(dn10>3)
dn20=3;
else
dn20=dn10;
dn21=0x7;
for(dn10=0;dn10<=dn20;dn10++)
{
DISPLAY_8_NUM[dn21]=0xf&wr_data[dn10];
dn21=dn21-1;
DISPLAY_8_NUM[dn21]=wr_data[dn10]>>4;
dn21=dn21-1;
}
// xu hao
DISPLAY_4_NUM[0]=display_biao[6]>>4;
DISPLAY_4_NUM[1]=0xf&display_biao[6];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][6];
DISPLAY_4_NUM[2]=display_biao[5]>>4;
DISPLAY_4_NUM[3]=0xf&display_biao[5];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][5];
// zi fu liang
// kong ding yi chao zuo
for(dn21=0;dn21<4;dn21++)
{
if(DISPLAY_4_NUM[dn21]==0xa)
DISPLAY_4_NUM[dn21]=CHARMODE_KONG;
}
// fan shangyue zuida jian fen oing guo
DISPLAY_FLAG5.byte=display_biao[7];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][7];
// left dot ji wei
RFLAG_LEFT_DOT=DISPLAY_FLAG5.bit.b4;
// h hj hp hw liang dian xu zon
DISPLAY_FLAG3.byte=display_biao[8];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][8];
// chu duan xiang zhi shi
// right dot k shijian v
DISPLAY_FLAG2.byte=display_biao[9];
// xu hao xiao shu dian
DISPLAY_4_NUM[4]=display_biao[10];//READ_LCD_DISPLAY_DATA_TABLE[current_reference][10];
// nei rong xiao shu dian
DISPLAY_8_NUM[8]=display_biao[11]; //gu ding
}
}
void display_autokeyuse()
// auto or key display know eeprom addr ,calculate REFERENCE,display num
{unsigned int l;
if(1==read(EP1,4))
{
l=value_hex_from_bcd(wr_data[0])+100*value_hex_from_bcd(wr_data[1]);
if(l<=END_REFERENCE)
if(display_yesorno(l)==yes)
{
displaynum_auto_key=value_hex_from_bcd(wr_data[2])+100*value_hex_from_bcd(wr_data[3]);
set_reference_value(l);
}
}
}
void DISPLAY_NEXT()
{unsigned char dn0;
unsigned int l;
// a 0----middle b middle+1----end
if(RFLAG_B_A_KU==1)// l1=b ku 0==a ku
{
reference_next();
if(RCURRENT_REFERENCE> END_REFERENCE)
{
set_reference_value(FIRST_REFERENCE);
RFLAG_B_A_KU=0;
RLCD_DISPLAY_STATUS=DISPLAY_AUTO;
RPOINT_AUTO_DISPLAY=0xff;
}
}
// else
if(RFLAG_B_A_KU==0)
{
if(1==RFLAG_DISPLAY_AUTO_SET)// auto display enabled
{
RPOINT_AUTO_DISPLAY=RPOINT_AUTO_DISPLAY+1;
// READ NUM
data_addr.addri=EP1_AUTO_NUM;// display num
if(1==read(EP1,2))
{
l=value_hex_from_bcd(wr_data[0])+100*value_hex_from_bcd(wr_data[1]);
if((l<=0x80)&&(0!=l))
{
dn0=l-1;
if(RPOINT_AUTO_DISPLAY>dn0) // current point >end
RPOINT_AUTO_DISPLAY=0;
data_addr.addri=RPOINT_AUTO_DISPLAY*4+EP1_AUTO_ADDR_BLOCKADDR;
// zi xian zi dong
display_autokeyuse();
}
}
}
else// no set auto display
{
RPOINT_AUTO_DISPLAY=0;
reference_next();
if(RCURRENT_REFERENCE> MIDDLE_REFERENCE)
set_reference_value(FIRST_REFERENCE);
}
}
if(RCURRENT_REFERENCE>END_REFERENCE)
set_reference_value(0);
SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
RDISPLAY_TIMER=value_hex_from_bcd(RAM[R_DISPLAY_TIMER]);
// auto display time
}
void display_date_use()
// display date time week
{unsigned char dn11;
if(DISPLAY_DATA_TIME_WEEK>WEEK)
DISPLAY_DATA_TIME_WEEK=DATE;
set_reference_value(7+DISPLAY_DATA_TIME_WEEK);
SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
lcd_display();
}
void DISPLAY_DATE_DRIVE()
// yao kong qi time key envent
// date-------->time--------------->week----->date
{
unsigned char dn2;
if(RLCD_DISPLAY_STATUS!=DISPLAY_DATE)
{
RLCD_DISPLAY_STATUS=DISPLAY_DATE;
DISPLAY_DATA_TIME_WEEK=WEEK;
}
DISPLAY_DATA_TIME_WEEK=DISPLAY_DATA_TIME_WEEK+1;
if(DISPLAY_DATA_TIME_WEEK>WEEK)
DISPLAY_DATA_TIME_WEEK=DATE;
display_date_use();
RDISPLAY_TIMER=180;
}
//OK THIS
// zhi ding lun xian hao
void DISPLAY_POINT_DRIVE()
// point firm reference
{
if(RAPPOINT_REFERENCE<=END_REFERENCE)
{
if(RAPPOINT_REFERENCE>MIDDLE_REFERENCE)
RFLAG_B_A_KU=1;// change to b ku
else
RFLAG_B_A_KU=0;// change to a ku
RLCD_DISPLAY_STATUS=DISPLAY_POINT;
RDISPLAY_TIMER=180;// display 180 second
set_reference_value(RAPPOINT_REFERENCE);
SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
}
}
void DISPLAY_KEY_DRIVE()
// key event
{
unsigned int l;
unsigned char g;
//value=0;
if(RLCD_DISPLAY_STATUS!=DISPLAY_KEY)
RPOINT_AUTO_DISPLAY=0xff;
RLCD_DISPLAY_STATUS=DISPLAY_KEY;
if(RFLAG_B_A_KU==1)// b ku
{
reference_next();
if(END_REFERENCE<RCURRENT_REFERENCE)
{
//set_reference_value(FIRST_REFERENCE);// CHANGED
RFLAG_B_A_KU=0;
//value=1;
}// a ku next
}
// else
//value=1; // a ku next
if(0==RFLAG_B_A_KU)
{
if(RFLAG_DISPLAY_KEY_SET ==0)
{
RPOINT_AUTO_DISPLAY=0x00;
reference_next();
if(MIDDLE_REFERENCE<RCURRENT_REFERENCE)
set_reference_value(FIRST_REFERENCE);
}
else
{
RPOINT_AUTO_DISPLAY=RPOINT_AUTO_DISPLAY+1;
data_addr.addri=EP1_KEY_NUM;
if(1==read(EP1,2))
{
l=value_hex_from_bcd(wr_data[0])+100*value_hex_from_bcd(wr_data[1]);
if((l<=0x80)&&(0!=l))
{
g=l-1;
if(RPOINT_AUTO_DISPLAY>g)
RPOINT_AUTO_DISPLAY=0x00;
data_addr.addri=RPOINT_AUTO_DISPLAY*4+EP1_KEY_ADDR_BLOCKADDR; //zhi xian an jian
display_autokeyuse();
}
}
}
}
if(RCURRENT_REFERENCE>END_REFERENCE)
set_reference_value(0);
SET_LCD_BUFFER_FORM_RCURRENT_REFERENCE();
RDISPLAY_TIMER=180;// display 180 second
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -