📄 6963.h
字号:
void displayset(unsigned int vdata,unsigned int idata ,unsigned int ttimer ,unsigned char rtimer ,unsigned int edata,unsigned char mouse )
{
unsigned char h1,h2;
// mouse=key_tab();
// i=mouse;
switch(mouse)
{
case 0:
//设置画面、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
fun(vdata); //电压设置
ShowShuzi(5,32,buff[3]);
Write_asc(6,5,'.'-0x20);
ShowShuzi(7,32,buff[2]);
ShowShuzi(8,32,buff[1]);
ShowShuzi(9,32,buff[0]);
break;
case 1:
fun(idata); //电流设置
ShowShuzi(5,48,buff[2]);
Write_asc(6,7,'.'-0x20);
ShowShuzi(7,48,buff[1]);
ShowShuzi(8,48,buff[0]);
break;
case 2:
//Com_Two(14,5,0x21);//设置光标位置 充电时间
// fun(ttimer); //充电时间设置
h1=Dis_set[2]/60; //gao
h2=Dis_set[2]%60; //di
buff[0]=h2%10;
buff[1]=h2/10;
buff[2]=h1%10;
buff[3]=h1/10;
ShowShuzi(25,32,buff[3]);
ShowShuzi(26,32,buff[2]);
Write_asc(27,5,':'-0x20);
ShowShuzi(28,32,buff[1]);
ShowShuzi(29,32,buff[0]);
break;
case 3:
//Com_Two(12,7,0x21);//设置光标位置 记录时间
fun(rtimer); //记录时间设置
ShowShuzi(25,48,buff[1]);
ShowShuzi(26,48,buff[0]);
break;
//gai
case 4:
fun(edata); //电压设置
ShowShuzi(25,16,buff[2]);
Write_asc(26,3,'.'-0x20);
ShowShuzi(27,16,buff[1]);
ShowShuzi(28,16,buff[0]);
//ShowShuzi(29,16,buff[0]);
default: break;
}
}
//设置画面、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
//**********************光标位置设置函数*****************//
void mouse(unsigned char mov)
{
unsigned char x,y;
switch(mov)
{
case 0:
x=10;
y=5;
break;
case 1:
x=10;
y=7;
break;
case 2:
x=29;
y=5;
break;
case 3:
x=27;
y=7;
break;
case 4:
x=29;
y=3;
break;
default: break;
}
Com_Two(x,y,0x21);//设置光标位置
}
//**************/充电到时间显示函数
void dis_endtimer()
{
ShowHZ(10,0,5);
ShowHZ(12,0,2);
ShowHZ(14,0,23);
ShowHZ(16,0,6); //第一行“充电到时”
}
//显示ASC画面××××××××××××××××××××××
void dis_dis()
{
unsigned char i,j,k,t;
ShowHZ(10,0,12);
ShowHZ(12,0,13);
ShowHZ(14,0,5);
ShowHZ(16,0,2); //第一行“设置正在充电”
k=1;
j=0;
i=0;
for(t=0;t<4;t++)
{
Write_asc(0,2+j,k+0x10); //第2行1-0.000v-0.00a
Write_asc(7,2+j,'V'-0x20);
Write_asc(13,2+j,'A'-0x20);
k=k+1;
Write_asc(15,2+j,k+0x10);
Write_asc(22,2+j,'V'-0x20);
Write_asc(28,2+j,'A'-0x20);
i=i+15;
j++;
k=k+1;
}
//ShowHZ(0,48,5);
//ShowHZ(2,48,2);//充电s 路
//Write_asc(4,7,0x11);//s
/*ShowHZ(14,48,5);
ShowHZ(16,48,2);
ShowHZ(18,48,6);
ShowHZ(20,48,7); //第4行“ 充电时间”*/
//Write_asc(18,7,'s'-0x20);
Write_asc(19,7,'E'-0x20);
Write_asc(20,7,'t'-0x20);
Write_asc(21,7,'i'-0x20);
Write_asc(22,7,'m'-0x20);
Write_asc(23,7,'e'-0x20);
Write_asc(7,7,'S'-0x20);
Write_asc(8,7,'t'-0x20);
Write_asc(9,7,'i'-0x20);
Write_asc(10,7,'m'-0x20);
Write_asc(11,7,'e'-0x20);
// Write_asc(11,7,'r'-0x20);
/* Write_asc(22,7,'0'-0x20);
Write_asc(23,7,'0'-0x20);
Write_asc(24,7,':'-0x20);
Write_asc(25,7,'0'-0x20);
Write_asc(26,7,'0'-0x20);*/
}
//****************显示数据程序,电压电流
void dis_real_tt(unsigned char i,unsigned char k)
{
fun(stvdata);
Write_asc(2+i,k,buff[3]+0x10); //1-v
Write_asc(3+i,k,'.'-0x20);
Write_asc(4+i,k,buff[2]+0x10);
Write_asc(5+i,k,buff[1]+0x10);
Write_asc(6+i,k,buff[0]+0x10);
fun(stidata);
Write_asc(9+i,k,buff[2]+0x10); //1-i
Write_asc(10+i,k,'.'-0x20);
Write_asc(11+i,k,buff[1]+0x10);
Write_asc(12+i,k,buff[0]+0x10);
}
//************根据下位机命令控制灯和蜂鸣器等
void dis_comd(unsigned char i)
{
unsigned char c1,c2;
if(cccmod[cod]==0x14)
{
CD=1; //充电灯灭
c1=15; //显示汉字 过
c2=3; //显示汉字 压
}
else if(cccmod[cod]==0x13)
{
CD=1; //充电灯灭
c1=15; //显示汉字 过
c2=4; //显示汉字 流
}
else if(cccmod[cod]==0x15)
{
CD=1; //充电灯灭
c1=16; //显示汉字 欠
c2=3; //显示汉字 压
}
else if(cccmod[cod]==0x12)
{
CD=1; //充电灯灭
CM=0; //充满灯亮
c1=5; //显示汉字 充
c2=17; //显示汉字 满
}
else if(cccmod[cod]==0x11)
{
c1=5; //显示汉字 充
c2=2; //显示汉字 电
}
ShowHZ(0,48,c1);
ShowHZ(2,48,c2);
Write_asc(4,7,cod+0x10);
/* switch(cccmod[i])
{
case 0x14:
ShowHZ(0,48,15);
ShowHZ(2,48,3);//过压
//fun(chan);
Write_asc(4,7,i+0x10);
break;
case 0x13:
ShowHZ(0,48,15);
ShowHZ(2,48,4);//过流
//fun(chan);
Write_asc(4,7,i+0x10);
break;
case 0x15:
ShowHZ(0,48,16);
ShowHZ(2,48,3);//欠压
//fun(chan);
Write_asc(4,7,i+0x10);
break;
case 0x12:
CM=1; //充满 灯亮
ShowHZ(0,48,5);
ShowHZ(2,48,17);//充满12
//fun(chan);
Write_asc(4,7,i+0x10);
break;
case 0x11:
ShowHZ(0,48,5);
ShowHZ(2,48,2);//充电s 路
//fun(chan);
Write_asc(4,7,i+0x10);
default:
break;
}*/
}
//****************************显示各个通道电压电流函数
void dis_real(unsigned int tvdata,unsigned int tidata,unsigned char chan)//chan:通道数,tvdata:要显示v数据,tidata:要显示的i数据
{ //chan=8 sum,,chan=9 记录时间
unsigned char i;
i=chan;
asm("nop");
stvdata=tvdata;
stidata=tidata;
////////xdisreal[]={0,15,0,15,0,15,0,15}
//////// ydisreal[]={2,2,3,3,4,4,5,5,}
dis_real_tt(xdisreal[chan-1],ydisreal[chan-1]);
if(chan==8)
{
stvdata=0;
stidata=0;
for(i=1;i<8;i++)
{
stvdata=stvdata+wdv[i];
stidata=stidata+wdi[i];
}
fun(stvdata/10) ;
Write_asc(17,5,buff[3]+0x10); //1-v
Write_asc(18,5,buff[2]+0x10);
Write_asc(19,5,'.'-0x20);
Write_asc(20,5,buff[1]+0x10);
Write_asc(21,5,buff[0]+0x10);
//fun(tidata);
fun(stidata/7) ;
Write_asc(24,5,buff[2]+0x10); //1-i
Write_asc(25,5,'.'-0x20);
Write_asc(26,5,buff[1]+0x10);
Write_asc(27,5,buff[0]+0x10);
}
}
//chong时间???//显示时实时间
void dis_real_rr(unsigned char xx)
{
unsigned char htimer,ltimer;
htimer=ds_rtimer[2]>>4;
ltimer=ds_rtimer[2]&0x0f;
Write_asc(25,7,htimer+0x10);
Write_asc(26,7,ltimer+0x10);
htimer=ds_rtimer[1]>>4;
ltimer=ds_rtimer[1]&0x0f;
// Write_asc(27,7,':'-0x20);////////xx
Write_asc(27,7,xx);////////xx
Write_asc(28,7,htimer+0x10);
Write_asc(29,7,ltimer+0x10);
}
//显示开始时间时间
void dis_real_rrs()
{
unsigned char htimer,ltimer;
htimer=ds_rtimer[2]>>4;
ltimer=ds_rtimer[2]&0x0f;
Write_asc(13,7,htimer+0x10);
Write_asc(14,7,ltimer+0x10);
htimer=ds_rtimer[1]>>4;
ltimer=ds_rtimer[1]&0x0f;
Write_asc(15,7,':'-0x20);
Write_asc(16,7,htimer+0x10);
Write_asc(17,7,ltimer+0x10);
}
//记录时间???
//显示自检画面××××××××××××××××××××××
void zjdisplay()
{
unsigned char i,j,k,t;
k=1;
j=0;
i=0;
ShowHZ(12,0,18);
ShowHZ(16,0,19); //自检
//Write_asc(0,2,'a'-0x20);
for(t=0;t<4;t++)
{
Write_asc(0,2+j,k+0x10); //第2行1-0.000v-0.00a.//ShowShuzi(26,48,buff[0]);
//Write_asc(7,2+j,'V'-0x20);
// Write_asc(13,2+j,'A'-0x20);
k=k+1;
Write_asc(15,2+j,k+0x10);
//Write_asc(22,2+j,'V'-0x20);
//Write_asc(28,2+j,'A'-0x20);
i=i+15;
j++;
k=k+1;
}
}
//********判断自检是否通过并显示出来
void zijianreal()
{
unsigned char t,j=0,i=1;
for(t=0;t<4;t++)
{
if(test1_7[i-1]==1)
{
Write_asc(7,2+j,'O'-0x20);
Write_asc(8,2+j,'K'-0x20);
}
else
{
Write_asc(7,2+j,'E'-0x20);
Write_asc(8,2+j,'R'-0x20);
Write_asc(9,2+j,'R'-0x20);
Write_asc(10,2+j,'O'-0x20);
Write_asc(11,2+j,'R'-0x20);
}
i++;
if(test1_7[i-1]==1)
{
Write_asc(22,2+j,'O'-0x20);
Write_asc(23,2+j,'K'-0x20);
}
else
{
Write_asc(22,2+j,'E'-0x20);
Write_asc(23,2+j,'R'-0x20);
Write_asc(24,2+j,'R'-0x20);
Write_asc(25,2+j,'O'-0x20);
Write_asc(26,2+j,'R'-0x20);
}
j++;
i++;
}
}
//////调表 ????????????
void disclock (unsigned char clockmm )
{
unsigned char x,y,j,k,i,cloh,clol;
x=clockmouse*3+8;
y=3;
Com_Two(x,y,0x21);//设置光标位置
ShowShuzi(5,16,2);
ShowShuzi(6,16,0); //20**年
j=0;
k=0;
for(i=0;i<6;i++)
{
//fun(clk[i]);
cloh=clk[i]>>4;
clol=clk[i]&0x0f;
ShowShuzi(22-j,16,cloh); //yy//fun(rtimer); //记录时间设置
ShowShuzi(23-k,16,clol);
j=j+3;
k=k+3;
}
//ShowShuzi(25,48,buff[1]);
//ShowShuzi(26,48,buff[0]);
//for(i=1;i<6;i++)
//{
//Write_asc(i*3,1,':'-0x20);
//}
Write_asc(9,3,'-'-0x20);
Write_asc(12,3,'-'-0x20);
Write_asc(15,3,0);
Write_asc(18,3,':'-0x20);
Write_asc(21,3,':'-0x20);
}
//*****************进入通讯时候显示
void dis_tongxin()
{
ShowHZ(12,0,24);
ShowHZ(16,0,25); //第一行“通讯”
}
////////ddd
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -