⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 display.c

📁 Avr Atmeg128汽车行驶记录仪 带有USB驱动 c语言
💻 C
📖 第 1 页 / 共 5 页
字号:
                                   {
                                       com=0;
                                       PR4();   /* 左屏出界写右屏 */
                                       k=0;
                                   }
                                else
                                   {
       				       goto loop2;
                                   }
                            }
                     }
      loop2:       if(i==0)
                     {
                         i=16;
                         O_Y++;   /* 计算页 */
                                if(O_Y==4)
                                   {
                                      return;
                                   }
                                      else
                                          {
                                               goto loop;
                                          }
                     }
        }



//ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
uint CtabAdd(uchar w)					//查表转换地址
{
	uchar a,j;
	uint TBADD = 0;
	a = w;//g_aDisplayBuf[4];
	for(j=0;j<96;j++)
		{
			if( a == pgm_read_byte(&TABE[j][0]) )
				{
					TBADD = pgm_read_byte(&TABE[j][1])*8 ;
					return TBADD;
				}
		}

}


//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

void China_Dis(PGM_P BB,uchar i,uchar j)
{
		uchar a,b;
		a = i;
		for(b =0;b<a;b++)
		{
		   O_Y=0x00;
		   switch(a)
		   {
		   		case 2 : {O_X=(b+1)*0x20;break; }
				case 3 : {O_X=(2*b+1)*0x10;break; }
				case 4 : {O_X=2*b*0x10;   break; }
				case 5 : {O_X=b*0x10+0x10;break; }
				default: O_X=b*0x10;
		   }
           code_1=0x00;
           CCW_PR(BB+b*32);      /* 调中文写入函数 */
		   
		 } 
		a = j;
		for(b =0;b<a;b++)
		{
		   O_Y=0x02;
		   switch(a)
		   {
		   		case 2 : {O_X=(b+1)*0x20;break; }
				case 3 : {O_X=(2*b+1)*0x10;break; }
				case 4 : {O_X=2*b*0x10;   break; }
				case 5 : {O_X=b*0x10+0x10;break; }
				default: O_X=b*0x10;
		   }
           code_1=0x00;
           CCW_PR(BB+(b+i)*32);      /* 调中文写入函数 */
		   
		 }  
          
}
void Xs(void)
{
	uchar a,b,gs,i;
	uchar *HH;
	CLEAR();
	switch(Dis_Pin)
	{
		case 0 : {
						XX = PAGE0; 
						a = 2;b=6;
						goto ZhongW;
				  }
		case 1 :  {
						XX = PAGE1;	
						a =6;b=6;
						goto ZhongW;
				  }
		case 2 :  {
						XX = PAGE2;
						a = 6;b = 4;	
						goto ZhongW ;					
				  }
		case 3 :  {
						XX = PAGE3;
						a = 4;b = 4;
						goto ZhongW;
				   }
		case 4 :   {
						XX = PAGE4;
						a = 4;b =6;
						goto ZhongW;
					}
		case 5 :    {
						XX = PAGE5;
						a = 6;b = 4;
						goto ZhongW;
					}
		case 6 :    {
						XX = PAGE6;
						a = 4;b = 4;
						goto ZhongW;
					}
		case 7 :    {
						XX = PAGE7;
						a = 4;b = 5;
						goto ZhongW;
					}
		case 8 :    {
						XX = PAGE8;//PAGE26;
						a = 5;b = 4;
						goto ZhongW;
					}
		case 9 :    {
						XX = PAGE9;
						a = 4;b = 0;
						goto ZhongW;
					}
		case 20:   {
						XX = PAGE16;
						a =3;b=3;
						China_Dis2(XX,a,b);
						PP = DisplayZs;
						a = 1;b=50;gs = 6;//sizeof(DisplayZs);
						XiTo_Asc();
						English_Dis(PP,a,b,gs);
						//XX = PAGE13;
						//a = 2;b=0;
						//China_Dis2(XX,a,b);
						BcdTime_Asc(SYS_Time,3);
						PP = DisplayBuf;
						a = 3;b =50;gs = 8;
						English_Dis(PP,a,b,gs);
						break;
					}
		case 30 :											//15分钟
					{	uchar a,b,i;
						HH = com1subbuf;
						for(i=0;i<2;i++)
						{
							FmTo_Gngn(HH+i*12,12);
							BcdTime_Asc1(GngnBuf+1,4);
							PP = DisplayBuf;
							a = 0;b =0;gs = 11;
							English_Dis(PP,i+i,b,gs);
							XiTo_Asc1(*(GngnBuf+5));
							PP = DisplayZs;
							English_Dis(PP,i+i,100,3);
							BcdTime_Asc1(GngnBuf+7,4);
							PP = DisplayBuf;
							English_Dis(PP,2*i+1,b,gs);
							XiTo_Asc1(*(GngnBuf+11));
							PP = DisplayZs;
							English_Dis(PP,2*i+1,100,3);
							
						}
							break;
					}
		case 31 :											//15分钟
					{	uchar a,b,i;
						HH = com1subbuf+24;
						for(i=0;i<2;i++)
						{
							FmTo_Gngn(HH+i*12,12);
							BcdTime_Asc1(GngnBuf+1,4);
							PP = DisplayBuf;
							a = 0;b =0;gs = 11;
							English_Dis(PP,i+i,b,gs);
							XiTo_Asc1(*(GngnBuf+5));
							PP = DisplayZs;
							English_Dis(PP,i+i,100,3);
							BcdTime_Asc1(GngnBuf+7,4);
							PP = DisplayBuf;
							English_Dis(PP,2*i+1,b,gs);
							XiTo_Asc1(*(GngnBuf+11));
							PP = DisplayZs;
							English_Dis(PP,2*i+1,100,3);
							
						}
					break;
					}
		case 32 :											//15分钟
					{	uchar a,b,i;
						HH = com1subbuf+48;
						for(i=0;i<2;i++)
						{
							FmTo_Gngn(HH+i*12,12);
							BcdTime_Asc1(GngnBuf+1,4);
							PP = DisplayBuf;
							a = 0;b =0;gs = 11;
							English_Dis(PP,i+i,b,gs);
							XiTo_Asc1(*(GngnBuf+5));
							PP = DisplayZs;
							English_Dis(PP,i+i,100,3);
							BcdTime_Asc1(GngnBuf+7,4);
							PP = DisplayBuf;
							English_Dis(PP,2*i+1,b,gs);
							XiTo_Asc1(*(GngnBuf+11));
							PP = DisplayZs;
							English_Dis(PP,2*i+1,100,3);
							
						}
							break;
					}
		case 33 :											//15分钟
					{	uchar a,b,i;
						HH = com1subbuf+72;
						for(i=0;i<2;i++)
						{
							FmTo_Gngn(HH+i*12,12);
							BcdTime_Asc1(GngnBuf+1,4);
							PP = DisplayBuf;
							a = 0;b =0;gs = 11;
							English_Dis(PP,i+i,b,gs);
							XiTo_Asc1(*(GngnBuf+5));
							PP = DisplayZs;
							English_Dis(PP,i+i,100,3);
							if(i !=1)
							{
								BcdTime_Asc1(GngnBuf+7,4);
								PP = DisplayBuf;
								English_Dis(PP,2*i+1,b,gs);
								XiTo_Asc1(*(GngnBuf+11));
								PP = DisplayZs;
								English_Dis(PP,2*i+1,100,3);
							}
							
						}
							break;
					}
		case 34:	{												//	无记录
						XX = PAGE20;
						a = 7;b = 0;
						goto ZhongW;						
					}
		case 35 :   {
						uchar a,b,sum;
						FM_CS;
						HH = com1subbuf;					/*	疲劳驾驶记录 */
						sum = *HH;
						if(sum >= 2)
							b = 2;
							else
								if(sum >=1 )
									b = 1;
								else b =0;
						HH=HH+7;
						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;
						}
					//	while(1)
					//	{
					//		a =0;
					//	}
						break;
					}
		case 36 :	{
						uchar a,b,sum;
						FM_CS;
						HH = com1subbuf;					/*	疲劳驾驶记录 */
						sum = *HH;
						sum -=2;
						if(sum >= 2)
							b = 2;
							else
								if(sum >=1 )
									b = 1;
								else b =0;
						HH +=28;
						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 37 :   {
						uchar a,b,sum;
						FM_CS;
						HH = com1subbuf;					/*	疲劳驾驶记录 */
						sum = *HH;
						sum -=4;
						if(sum >= 2)
							b = 2;
							else
								if(sum >=1 )
									b = 1;
								else b =0;
						HH +=48;
						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 38 :   {
						uchar a,b,sum;
						FM_CS;
						HH = com1subbuf;					/*	疲劳驾驶记录 */
						sum = *HH;
						sum -=6;
						if(sum >= 2)
							b = 2;
							else
								if(sum >=1 )
									b = 1;
								else b =0;
						HH +=68;
						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 39 :   {
						uchar a,b,sum;
							FM_CS;
						HH = com1subbuf;					/*	疲劳驾驶记录 */
						sum = *HH;
						sum -=8;
						if(sum >= 2)
							b = 2;
							else

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -