📄 display.c
字号:
if(sum >=1 )
b = 1;
else b =0;
HH +=88;
for(a=0;a<b;a++)
{
FmTo_Gngn(HH,10);
BcdTo_Asc(GngnBuf,10);
PP = DisplayBuf;
English_Dis(PP,a+a,0,17);
PP = DisplayBuf1;
English_Dis(PP,2*a+1,0,17);
HH = HH+14;
}
break;
}
case 40 : {
uchar a,b,sum;
FM_CS;
HH = com1subbuf; /* 疲劳驾驶记录 */
sum = *HH;
sum -=10;
if(sum >= 2)
b = 2;
else
if(sum >=1 )
b = 1;
else b =0;
HH +=108;
for(a=0;a<b;a++)
{
FmTo_Gngn(HH,10);
BcdTo_Asc(GngnBuf,10);
PP = DisplayBuf;
English_Dis(PP,a+a,0,17);
PP = DisplayBuf1;
English_Dis(PP,2*a+1,0,17);
HH = HH+14;
}
break;
}
case 41 : {
uchar a,b,sum;
FM_CS;
HH = com1subbuf; /* 疲劳驾驶记录 */
sum = *HH;
sum -=12;
if(sum >= 2)
b = 2;
else
if(sum >=1 )
b = 1;
else b =0;
HH +=128;
for(a=0;a<b;a++)
{
FmTo_Gngn(HH,10);
BcdTo_Asc(GngnBuf,10);
PP = DisplayBuf;
English_Dis(PP,a+a,0,17);
PP = DisplayBuf1;
English_Dis(PP,2*a+1,0,17);
HH = HH+14;
}
break;
}
case 42 : {
uchar a,b,sum;
FM_CS;
HH = com1subbuf; /* 疲劳驾驶记录 */
sum = *HH;
sum -=14;
if(sum >= 2)
b = 2;
else
if(sum >=1 )
b = 1;
else b =0;
HH +=148;
for(a=0;a<b;a++)
{
FmTo_Gngn(HH,10);
BcdTo_Asc(GngnBuf,10);
PP = DisplayBuf;
English_Dis(PP,a+a,0,17);
PP = DisplayBuf1;
English_Dis(PP,2*a+1,0,17);
HH = HH+14;
}
break;
}
case 43: { // 打印
XX = PAGE17;
a = 2;b = 0;
goto ZhongW;
}
case 44: {
XX = PAGE_VIN;
a = 6;b = 0;
China_Dis(XX,a,b);
HH = Qiche_Buf;
FmTo_Gngn(HH,17);
PP = GngnBuf;
English_Dis(PP,2,7,17);
break;
}
case 45 : {
XX = PAGECP; /* 车牌号码 */
a=4;b=0;
China_Dis(XX,a,b);
HH = Qiche_Buf+17;
FmTo_Gngn(HH,9);
CarLx(GngnBuf,1);
PP = GngnBuf+2;
English_Dis(PP,3,21,7);
break;
}
case 46 : {
XX = PAGECL; /* 车辆类型 */
a = 4;b=0;
China_Dis(XX,a,b);
HH = Qiche_Buf+29;
FmTo_Gngn(HH,18);
//
CarLx(GngnBuf,5);
break;
}
case 47: { //车辆特征系数
XX = PAGE5;
a = 6;b = 0;
China_Dis(XX,a,b);
HH = Tzx_Buf;
FmTo_Gngn(HH,3);
gs = ThreeBy_ToAsc(GngnBuf);
PP = DisplayBuf;
English_Dis(PP,3,7,gs);
break;
}
case 48 : {
XX = PAGE6; /* 驾驶证号 */
a = 4;b = 0;
China_Dis(XX,a,b);
HH = Driver_now__Buf+4;
FmTo_Gngn(HH,18);
PP = GngnBuf;
English_Dis(PP,2,7,18);
goto ZhongW;
}
case 49: {
XX = PAGE15; /* 驾驶员代码 */
a = 5;b = 0;
China_Dis(XX,a,b);
HH = Driver_now__Buf+1;
FmTo_Gngn(HH,3);
gs = ThreeBy_ToAsc(GngnBuf);
PP = DisplayBuf;
English_Dis(PP,3,7,gs);
break;
}
case 50: {
XX = PAGE22; /* 360小时里程 */
a = 3;b = 2;
China_Dis(XX,a,b);
// HH = Driver_Buf+4;
// FmTo_Gngn(HH,18);
// PP = GngnBuf;
// English_Dis(PP,2,7,18);
HH = Driver_now__Buf+1;
FmTo_Gngn(HH,3);
gs = ThreeBy_ToAsc(GngnBuf);
PP = DisplayBuf;
English_Dis(PP,2,49,gs);
//
HH = Driver_now__Buf+4;
FmTo_Gngn(HH,3);
gs = ThreeBy_ToAsc(GngnBuf);
PP = DisplayBuf;
English_Dis(PP,3,49,gs);
break;
}
case 51: { // 正在抄送
XX = PAGE12;
a = 4;b = 0;
goto ZhongW;
}
case 52: { //请插入U盘 // 正在抄送
XX = PAGE11;
a = 5;b = 0;
goto ZhongW;
}
case 53 : { //抄送结束
XX = PAGEUSB;
a =4;b=0;
goto ZhongW;
}
ZhongW : China_Dis(XX,a,b);
break;
XiWeng : English_Dis(PP,a,b,gs);
break;
}
}
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
void XiTo_Asc(void)
{
uchar a,a1;
if(speed == 0)
{
DisplayZs[0]='0';
DisplayZs[1]='0';
DisplayZs[2]='0';
DisplayZs[4]='0';
DisplayZs[5]='0';
}
else
{
a = speed / 100;
if(a == 0)
DisplayZs[0]=' ';
else
DisplayZs[0]=a+48;
a1 = (speed-(a*100))/10;
DisplayZs[1]= a1+48;
DisplayZs[2]= (speed-a*100-a1*10)+48;
a = speed_dot/10;
DisplayZs[4]=a+48;
DisplayZs[5]=(speed_dot-a*10)+48;
}
}
void XiTo_Asc1(uchar speed)
{
uchar a,a1,sum;
sum = speed;
if(sum == 0)
{
DisplayZs[0]='0';
DisplayZs[1]='0';
DisplayZs[2]='0';
DisplayZs[4]='0';
DisplayZs[5]='0';
}
else
{
a = sum / 100;
if(a == 0)
DisplayZs[0]=' ';
else
DisplayZs[0]=a+48;
a1 = (sum-(a*100))/10;
DisplayZs[1]= a1+48;
DisplayZs[2]= (sum-a*100-a1*10)+48;
a = speed_dot/10;
DisplayZs[4]=a+48;
DisplayZs[5]=(speed_dot-a*10)+48;
}
}
void BcdTo_Asc(uchar *p,uchar a)
{
uchar i,j,k,w;
w =0;
DisplayBuf[0] = 'S';
DisplayBuf[1] = ':';
DisplayBuf[2] = ' ';
DisplayBuf1[0] = 'E';
DisplayBuf1[1] = ':';
DisplayBuf1[2] = ' ';
for(i=0;i<a;i++)
{
if(i<5)
{
j= *(p+i);
k=j & 0xf0;
k=(k>>4)+48;
DisplayBuf[i * 3 +2+1]=k;//[i*2+2]=k;
j=(j & 0x0f)+48;
DisplayBuf[i * 3 +3+1]=j;//[i*2+1+2]=j;
DisplayBuf[i*3+4+1]= '/';
}
else
{
j= *(p+i);
k=j & 0xf0;
k=(k>>4)+48;
DisplayBuf1[w * 3 +2+1]=k;//[i*2+2]=k;
j=(j & 0x0f)+48;
DisplayBuf1[w * 3 +3+1]=j;//[i*2+1+2]=j;
DisplayBuf1[w*3+4+1]= '/';
w++;
}
}
DisplayBuf[11] = ' ';
DisplayBuf1[11] = ' ';
DisplayBuf[14] = ':';
DisplayBuf1[14] = ':';
}
//
void FmTo_Gngn(uchar *p,uchar gs)
{
uchar i;
FM_CS;
for(i=0;i<gs;i++)
{
GngnBuf[i]= *p;
p++;
}
}
//
void China_Dis2(PGM_P BB,uchar i,uchar j)
{
uchar a,b;
a = i;
for(b =0;b<a;b++)
{
O_Y=0x00;
O_X=b*0x10;
code_1=0x00;
CCW_PR(BB+b*32); /* 调中文写入函数 */
}
a = j;
for(b =0;b<a;b++)
{
O_Y=0x02;
O_X=b*0x10;
code_1=0x00;
CCW_PR(BB+(b+i)*32); /* 调中文写入函数 */
}
}
//
void BcdTime_Asc(uchar *p,uchar a)
{
uchar i,j,k;
for(i=0;i<a;i++)
{
j= *(p+i+3);
k=j & 0xf0;
k=(k>>4)+48;
DisplayBuf[i+2*i]=k;
j=(j & 0x0f)+48;
DisplayBuf[i+2*i+1]=j;
DisplayBuf[i+2*i+2]=':';
}
}
//
void CarLx(uchar *p,uchar x)
{
uchar a,a1,i,j,k;
uchar *HP;
uchar flag=0;
uint TBADD;
for(i=0;i<2*x;i=i+2)
{
a = *(p+i);
a1=*(p+i+1);
TBADD = 0;
for(j=0;j<15;j++)
{
if(( a == pgm_read_byte(&TABE_CAR[j][0]) )&&(a1 == pgm_read_byte(&TABE_CAR[j][1])))
{
TBADD = pgm_read_byte(&TABE_CAR[j][2])*32 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -