📄 gj3.c
字号:
key_last2=key1; //key_last2 is final read P2 data
have_key=1; //there is the pushed key
}
} //if(key1==key2)
key2=key1; //第二次采样P2数据
} //if(aaa<0x0f)去抖动处理
else // p20--p23 is all high level
{
key1=0;
key2=0;
have_key=0;
}
}
/************************************************************* */
move_cursor(unsigned char hang1) //write tubiao for hang1
{
hang1=hang1 & 0x3; //only keep 0,1,2,3 hang
ansi();
PBYTE[0X00]=0X87;
ansi();
PBYTE[0X01]=spac;
ansi();
PBYTE[0X01]=spac;
//
ansi();
PBYTE[0X00]=0X8f;
ansi();
PBYTE[0X01]=spac;
ansi();
PBYTE[0X01]=spac;
//
ansi();
PBYTE[0X00]=0X97;
ansi();
PBYTE[0X01]=spac;
ansi();
PBYTE[0X01]=spac;
//
ansi();
PBYTE[0X00]=0X9f;
ansi();
PBYTE[0X01]=spac;
ansi();
PBYTE[0X01]=spac;
//
if(hang1==0)
{
ansi();
PBYTE[0X00]=0X87;
}
if(hang1==1)
{
ansi();
PBYTE[0X00]=0X97;
}
if(hang1==2)
{
ansi();
PBYTE[0X00]=0X8f;
}
if(hang1==3)
{
ansi();
PBYTE[0X00]=0X9f;
}
ansi();
PBYTE[0X01]=0x11;
ansi();
PBYTE[0X01]=0x11;
}
/************************************************************* */
back_lamp_contrl(bit ifon)
{
//
ansi();
PBYTE[0X00]=0X9d;
if(ifon)
{
ansi();
PBYTE[0X01]=0xbf;
ansi();
PBYTE[0X01]=0xaa;
P11=0;
}
else
{
ansi();
PBYTE[0X01]=0xb9;
ansi();
PBYTE[0X01]=0xd8;
P11=1;
}
}
/************************************************************* */
set_lcd_page() //set page ,cursor_hang configue relative
{
switch(cursor_hang)
{ // unsigned char num;
// unsigned char i5,err_ansr;
case 120:
menu_page=120;
break;
case 0:
menu_page=0;
break;
case 1:
menu_page=0;
break;
case 2:
menu_page=0;
break;
case 3:
menu_page=0;
break;
case 4:
menu_page=1;
break;
case 5:
menu_page=1;
break;
case 0x10:
menu_page=no_menu; //#define no_menu 250
dis_err1(dis_mod1);
break;
/* case 0x11:
menu_page=no_menu;
break;
case 0x12:
menu_page=no_menu;
break;
case 0x13:
menu_page=no_menu;
break; */
case 0x14:
menu_page=no_menu1;
dis_err2(dis_mod2);
break;
case 0x20:
menu_page=no_menu2; //#define no_menu 250
dis_err3(dis_mod3);
break;
case 0x24:
menu_page=no_menu3;
dis_err4(dis_mod4);
break;
case 0x30:
case 0x31:
case 0x32:
case 0x33:
menu_page=no_menu4; //#define no_menu 250
dis_err5(dis_mod5);
break;
/* case 0x34:
menu_page=no_menu5;
dis_err6(dis_mod6);
break; */
case 0x50: //显示:正在联机测试 请稍等...
menu_page=no_menu6;
p_renew=&test_dis_file[0];
renew_led(p_renew);
break;
case 0x54: //显示:联机测试完毕
menu_page=no_menu6;
p_renew=&test_ok_file[0];
renew_led(p_renew);
break;
case 0x60: //显示:ABS正忙
menu_page=no_menu6;
p_renew=&test_busy_file[0];
renew_led(p_renew);
break;
case 0x64: //显示:正在下载故障 请稍等...
menu_page=no_menu6;
p_renew=&tx_dis_file[0];
renew_led(p_renew);
break;
case 0x70: //显示:故障数据下载完毕
menu_page=no_menu6;
p_renew=&rx_ok_file[0];
renew_led(p_renew);
err_num(max_wei);
break;
case 0x74: //(0x74)无故障显示!
menu_page=no_menu6;
need_move_cursor=0;
p_renew=&no_err_file[0];
renew_led(p_renew);
break;
case 0x90: // 通信失败!
menu_page=no_menu6;
need_move_cursor=0;
p_renew=&test_fail_file[0];
renew_led(p_renew);
break;
}
}
/************************************************************* */
cursor_up_proc()
{
if(cursor_hang!=120) //outside of huitu page
{ need_move_cursor=1;
cursor_hang--;
switch (cursor_hang)
{
case 0xff: //max of char hang is 0xff
{
cursor_hang=0;
break;
}
case 0xf:
{
cursor_hang=0x10;
break;
}
}
}//if(cursor_hang!=120)
}
/************************************************************* */
cursor_down_proc()
{
if(cursor_hang!=120)
{ need_move_cursor=1;
cursor_hang++;
switch (cursor_hang)
{
case 0x14:
need_renew_lcd=1;
need_move_cursor=1;
break;
case 0x18:
// t_tx(datacomm2[1]);
cursor_hang=cursor_hang+8;
need_move_cursor=1;
need_renew_lcd=1;
break;
case 0x24:
need_move_cursor=1;
need_renew_lcd=1;
break;
case 0x28:
// t_tx(datacomm2[2]);
cursor_hang=cursor_hang+8;
need_move_cursor=1;
need_renew_lcd=1;
break;
case 0x34:
cursor_hang=0x33;
need_move_cursor=1;
need_renew_lcd=1;
break;
/* case 0x38:
// t_tx(datacomm2[2]);
cursor_hang=0x37;
need_move_cursor=0;
need_renew_lcd=1;
break; */
}
}
}
/************************************************************* */
renew_hang(unsigned char hang1,unsigned char * p_rom) //write display_code(* p_rom) to hang1
{ unsigned char err_i1,hang2; //as hang write display_code(* p_rom)
ansi();
hang2=hang1%4;
/* t_tx(hang1);
t_tx(hang2); */
switch (hang2)
{
case 0:
PBYTE[0X00]=0X80;
for(err_i1=0;err_i1<16;err_i1++)
{
ansi();
PBYTE[0X01]=* p_rom;
p_rom++;
}
break;
//
case 1:
PBYTE[0X00]=0X90;
for(err_i1=0;err_i1<16;err_i1++)
{
ansi();
PBYTE[0X01]=* p_rom;
p_rom++;
}
break;
//
case 2:
PBYTE[0X00]=0X88;
for(err_i1=0;err_i1<16;err_i1++)
{
ansi();
PBYTE[0X01]=* p_rom;
p_rom++;
}
break;
//
case 3:
PBYTE[0X00]=0X98;
for(err_i1=0;err_i1<16;err_i1++)
{
ansi();
PBYTE[0X01]=* p_rom;
p_rom++;
}
break;
}
}//renew_hang
/***********************************************************/
read_err_to_struct(rx_data_p)
unsigned char *rx_data_p;
{
unsigned char err_i1,err_i2;
unsigned char err_temp1[3];
unsigned char err_temp2,err_temp3;
for (err_i2=0;err_i2<3;err_i2++)
err_temp1[err_i2]=*(rx_data_p+err_i2);
for(err_i1=0;err_i1<24;err_i1++)
{
err[err_i1].err_num=0;
err[err_i1].err_wei=0;
}
err_temp2=0;
err_temp3=0;
//
// t_tx(err_temp1[0]);
for(err_i1=0;err_i1<8;err_i1++)
{
err[err_i1].err_num=err_temp2;
err_temp2++;
if (err_temp1[0] & 0x01)
{
err[err_i1].err_wei=err_temp3;
err_temp3++;
}
else
err[err_i1].err_wei=err_temp3;
err_temp1[0]=(err_temp1[0]>>1);
}
/* t_tx(err_temp2);
t_tx(err_temp3);
t_tx(err_temp1[1]); */
for(err_i1=8;err_i1<16;err_i1++)
{
err[err_i1].err_num=err_temp2;
err_temp2++;
if (err_temp1[1] & 0x01)
{
err[err_i1].err_wei=err_temp3;
err_temp3++;
}
else
err[err_i1].err_wei=err_temp3;
err_temp1[1]=(err_temp1[1]>>1);
}
/* t_tx(err_temp2);
t_tx(err_temp3);
t_tx(err_temp1[2]); */
for(err_i1=16;err_i1<24;err_i1++)
{
err[err_i1].err_num=err_temp2;
err_temp2++;
if (err_temp1[2] & 0x01)
{
err[err_i1].err_wei=err_temp3;
err_temp3++;
}
else
err[err_i1].err_wei=err_temp3;
err_temp1[2]=(err_temp1[2]>>1);
}
/* t_tx(err_temp2);
t_tx(err_temp3); */
if (err_temp3<=0)
{ dis_mod1=0;dis_mod2=0;dis_mod3=0;
dis_mod4=0;dis_mod5=0;dis_mod6=0;}
else if (err_temp3>0&&err_temp3<=4)
{ dis_mod1=1;dis_mod2=0;dis_mod3=0;
dis_mod4=0;dis_mod5=0;dis_mod6=0;}
else if (err_temp3>4&&err_temp3<=8)
{ dis_mod1=2;dis_mod2=1;dis_mod3=0;
dis_mod4=0;dis_mod5=0;dis_mod6=0;}
else if (err_temp3>8&&err_temp3<=12)
{ dis_mod1=2;dis_mod2=2;dis_mod3=1;
dis_mod4=0;dis_mod5=0;dis_mod6=0;}
else if (err_temp3>12&&err_temp3<=16)
{ dis_mod1=2;dis_mod2=2;dis_mod3=2;
dis_mod4=1;dis_mod5=0;dis_mod6=0;}
else if (err_temp3>16&&err_temp3<=20)
{ dis_mod1=2;dis_mod2=2;dis_mod3=2;
dis_mod4=2;dis_mod5=1;dis_mod6=0;}
else if (err_temp3>20&&err_temp3<=24)
{ dis_mod1=2;dis_mod2=2;dis_mod3=2;
dis_mod4=2;dis_mod5=2;dis_mod6=1;}
else
{ dis_mod1=2;dis_mod2=2;dis_mod3=2;
dis_mod4=2;dis_mod5=2;dis_mod6=2;}
/* t_tx(dis_mod1);
t_tx(dis_mod2);
t_tx(dis_mod3);
t_tx(dis_mod4);
t_tx(dis_mod5);
t_tx(dis_mod6); */
return(err_temp3);
// }
}//read_err_to_struct
/************************************************************* */
show_picture(unsigned char * p_picture)
{
unsigned char i1,i2;
unsigned char pic_hang;
pic_hang=0x80;
//pic_lie=0x80;
ansi();
PBYTE[0X00]=0x80; //设绘图垂直位址
ansi();
PBYTE[0X00]=0x82; //设绘图水平地址,打开控制绘图显示的位元G(2)
for(i1=0;i1<32;i1++) //32个垂直位址
{
for(i2=0;i2<9;i2++) //i2水平位元
{
ansi();
PBYTE[0X01]=*p_picture;
p_picture++;
//ansi();
//PBYTE[0X01]=*p_picture;
//p_picture++;
}
pic_hang++;
ansi();
PBYTE[0X00]=pic_hang; //设绘图地址
ansi();
PBYTE[0X00]=0x82; //设绘图水平地址
}
} // show_picture
/************************************************************* */
void t_tx(unsigned char send_temp)
{
//ES=0;
if (TI==1)
{ TI=0;
SBUF= send_temp;
while (TI==0);
}
TI=1;
//ES=1;
}//void t_tx
void tx_download()
{
int i,j;
unsigned char rcv_temp1,rcv_temp2;
rcvdata[0]=0;
rcvdata[1]=0;
rcvdata[2]=0;
datacomm1=0x0a; //发送数据
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -