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

📄 graphics.c

📁 在Freescale16位单片机MC9s12dp256上移植了J1939源码和操作系统(ucOSII)。
💻 C
📖 第 1 页 / 共 3 页
字号:
      vLcd_WRCommand(4,Picture123[y*101+n]);  
    }
  }
}
		
void vLcd_LeftScroll2(void){
  unsigned int y,n;
	for(y=0;y<113;y++){
	 // vLcd_WRCommand(Lcd_YAxisR,30+y);
    //vLcd_WRCommand(Lcd_CntrlR,(y+100)/256);
    //vLcd_WRCommand(Lcd_XAxisR,480);
   
	  //vLcd_SetCursor(100,100+y);
    for(n=0;n<68;n++)  {
      vLcd_SetCursor(10+n,360+y);
     // vLcd_WRCommand(Lcd_XAxisR,0+n);		 
      vLcd_WRCommand(4,Picture124[y*68+n]);  
    }
  }
}
			
void vLcd_LeftScroll3(void){
  unsigned int y,n;
	for(y=0;y<156;y++){
	 // vLcd_WRCommand(Lcd_YAxisR,30+y);
    //vLcd_WRCommand(Lcd_CntrlR,(y+100)/256);
    //vLcd_WRCommand(Lcd_XAxisR,480);
   
	  //vLcd_SetCursor(100,100+y);
    for(n=0;n<89;n++)  {
      vLcd_SetCursor(540+n,320+y);
     // vLcd_WRCommand(Lcd_XAxisR,0+n);		 
      vLcd_WRCommand(4,Picture125[y*89+n]);  
    }
  }
}
					
/*
void vLcd_Disply32DotWord(unsigned char *Str,unsigned char color,unsigned int row,unsigned int col,int T){
  unsigned char i,j,k;
  for(i=0;i<12;i++){
		for(j=0;j<111;j++){
		  for(k=0;k<8;k++){
		    if(Str[j*12+i]&Bit001[k]){
		       vLcd_DrawPoint(i*8+k+col+T,row+j,color); 
		    }
		  }
		}
  }
}

						*/



 
 
/**************************************************/
/*图标。燃油
/**************************************************/  
void vLcd_FuelPic(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned char i,k;					 //50*50

  vLcd_ClearRect(x,y+4,x+4,y+20,FColor);
  vLcd_ClearRect(x+23,y+4,x+27,y+20,FColor);
  vLcd_ClearRect(x,y+20,x+27,y+50,FColor);
  vLcd_ClearRect(x-4,y+50,x+31,y+55,FColor); 
  for(k=1;k<21;k++) vLcd_DrawCircle(x+29,y+24+k,1,FColor,1);
  for(i=1;i<3;i++){
    for(k=1;k<4;k++)
       vLcd_DrawCircle(x+29+i,y+42+k,1,FColor,1);		
  }	

  for(k=0;k<5;k++){
    vLcd_DrawLine(x+32,y+43+k,x+34,y+45+k,FColor);
    vLcd_DrawLine(x+34,y+44+k,x+37,y+44+k,FColor);
    vLcd_DrawLine(x+36,y+42+k,x+40,y+44+k,FColor);  
  }
  for(k=0;k<6;k++){
    vLcd_DrawLine(x+39,y+42+k,x+44,y+39+k,FColor);
    vLcd_DrawLine(x+43,y+39+k,x+41,y+37+k,FColor);
  }  
  for(i=1;i<2;i++){
    for(k=1;k<10;k++){
       vLcd_DrawCircle(x+44-i,y+41-k,1,FColor,1);
       vLcd_DrawCircle(x+43-i,y+34-k,1,FColor,1);	
    }
  }  
  for(k=0;k<8;k++){
    vLcd_DrawLine(x+38,y+18+k,x+41,y+24+k,FColor);
    vLcd_DrawLine(x+37,y+14+k,x+38,y+18+k,FColor);
  }
 	for(k=1;k<4;k++){
 	  vLcd_DrawCircle(x+24+k,y+24,2,FColor,1);
   	vLcd_DrawLine(x,y+k,x+26,y+k,FColor);
 	  vLcd_DrawLine(x+35+k,y+22,x+35+k,y+10,FColor);
 	  vLcd_DrawLine(x+30+k,y+2,x+38+k,y+10,FColor);	
	  vLcd_DrawLine(x+30+k,y+2,x+38+k,y+13,FColor);	
	  vLcd_DrawLine(x+30+k,y+3,x+38+k,y+16,FColor);	 
 	}
};
 
/**************************************************/
/*远(近)光灯模型。
/**************************************************/  
void LHighModel(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned int i;  
  for(i=0;i<3;i++){	
    vLcd_DrawLine(x+31,y+i-6,x+37,y+i-4,FColor);
    vLcd_DrawLine(x+31,y+i+40,x+37,y+i+39,FColor);
    vLcd_DrawLine(x+37,y+i-4,x+43,y+i-2,FColor);
    vLcd_DrawLine(x+37,y+i+39,x+43,y+i+38,FColor);    
    vLcd_DrawLine(x+43,y+i-2,x+49,y+i,FColor);
    vLcd_DrawLine(x+43,y+i+38,x+49,y+i+36,FColor);  
    vLcd_DrawLine(x+49,y+i,x+57,y+i+3,FColor);
    vLcd_DrawLine(x+49,y+i+36,x+57,y+i+32,FColor);     
  }				   
  for(i=0;i<4;i++){
    vLcd_DrawPartArc(x+50+i,y+18,30,FColor,5);
    vLcd_DrawPartArc(x+50+i,y+18,30,FColor,6);
    vLcd_DrawPartArc(x+44+i,y+18,18,FColor,4);
    vLcd_DrawPartArc(x+44+i,y+19,18,FColor,7);  		
  } 
}


/**************************************************/
/*远光灯。
/**************************************************/ 
void vLcd_LHighBeam(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned int i;  
  for(i=0;i<3;i++){
    vLcd_DrawLine(x,y+2+i,x+20,y+2+i,FColor);
    vLcd_DrawLine(x,y+9+i,x+19,y+9+i,FColor);
    vLcd_DrawLine(x,y+16+i,x+17,y+16+i,FColor);
    vLcd_DrawLine(x,y+23+i,x+19,y+23+i,FColor);
    vLcd_DrawLine(x,y+30+i,x+20,y+30+i,FColor);	
  }
  LHighModel(x,y,FColor);
}


/**************************************************/
/*近光灯。
/**************************************************/ 
void vLcd_LDippedHeadLight(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned int tmp;  
  unsigned char i;
  tmp=x+6;
  for(i=0;i<4;i++){
    vLcd_DrawLine(tmp,y+16+i,x+20,y+2+i,FColor);
    vLcd_DrawLine(tmp,y+23+i,x+19,y+9+i,FColor);
    vLcd_DrawLine(tmp,y+30+i,x+18,y+18+i,FColor);
    vLcd_DrawLine(tmp,y+37+i,x+19,y+23+i,FColor);
    vLcd_DrawLine(tmp,y+44+i,x+20,y+30+i,FColor);	
  }
  LHighModel(x,y,FColor);
}


/**************************************************/
/*电池。										    							  	 */
/**************************************************/
void vLcd_BatteryState(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned int i;
  for(i=0;i<3;i++){
    vLcd_DrawLine2(x,y+4+i,x+50,y+4+i,FColor);
    vLcd_DrawLine2(x,y+34+i,x+50,y+34+i,FColor);	
    vLcd_DrawLine2(x+7,y+15+i,x+16,y+15+i,FColor);
    vLcd_DrawLine2(x+34,y+15+i,x+43,y+15+i,FColor);
  }
  for(i=0;i<30;i++){
    vLcd_DrawLine2(x,y+4+i,x+3,y+4+i,FColor);
    vLcd_DrawLine2(x+47,y+4+i,x+50,y+4+i,FColor);
  }
  for(i=0;i<4;i++){
    vLcd_DrawLine2(x+7,y+i,x+16,y+i,FColor); 
    vLcd_DrawLine2(x+34,y+i,x+43,y+i,FColor);   
  }
  for(i=0;i<9;i++)
    vLcd_DrawLine2(x+37,y+12+i,x+40,y+12+i,FColor);  
}

/**************************************************/
/*风窗玻璃模型。  //x>40,y>40
/**************************************************/ 
void WindScreenModel(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned char i;
  for(i=0;i<4;i++){
    vLcd_DrawPartArc(x,y-i,40,FColor,0);
    vLcd_DrawPartArc(x,y-i,40,FColor,1);
    vLcd_DrawPartArc(x,y+4-i,18,FColor,0);
    vLcd_DrawPartArc(x,y+4-i,18,FColor,1);
    vLcd_DrawLine(x-30+i,y-26,x-14+i,y-9,FColor);
    vLcd_DrawLine(x+27+i,y-26,x+12+i,y-9,FColor);		
  }
} 

/**************************************************/
/*风窗玻璃雨刮器。  //x>40,y>40
/**************************************************/  
void vLcd_ScrapeWaterInstr(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned char i;
  vLcd_DrawCircle(x,y-1,3,FColor,1);
  for(i=0;i<3;i++)
    vLcd_DrawLine(x-14+i,y-37,x+i,y-1,FColor);  
} 

/**************************************************/
/*风窗玻璃洗涤器。  //x>40,y>40
/**************************************************/  
void vLcd_WashInstr(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned char i,k;
  for(i=0;i<25;i++)
  for(k=0;k<3;k++)			 
    vLcd_DrawLine2(x,y-2*i-1,x+k,y-2*i-1,FColor);
  for(i=0;i<2;i++){
    vLcd_DrawPartArc(x-12+i,y-46,11,FColor,0);
    vLcd_DrawPartArc(x-12+i,y-46,11,FColor,1);  
    vLcd_DrawPartArc(x-12+i,y-46,11,FColor,4);
    vLcd_DrawPartArc(x-12+i,y-46,11,FColor,5);   
    vLcd_DrawPartArc(x+12+i,y-46,11,FColor,0);
    vLcd_DrawPartArc(x+12+i,y-46,11,FColor,1);  
    vLcd_DrawPartArc(x+12+i,y-46,11,FColor,4);
    vLcd_DrawPartArc(x+12+i,y-46,11,FColor,5); 
  }
} 
 

/**************************************************/
/*发动机机油压力.                                 */
/**************************************************/   
void vLcd_SumpStress(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned char i;
  for(i=0;i<3;i++){  
    vLcd_DrawLine(x+10,y+10+i,x+32,y+10+i,FColor);
    vLcd_DrawLine(x+36,y+15+i,x+60,y+10+i,FColor);
  
    vLcd_DrawLine(x+6+i,y+10,x+6+i,y+28,FColor);
    vLcd_DrawLine(x+8,y+28+i,x+39,y+28+i,FColor); 
  }
  for(i=0;i<4;i++){
    vLcd_DrawLine(x+i,y,x+8+i,y+10,FColor);
    vLcd_DrawLine(x+i,y,x-5+i,y+5,FColor);
    vLcd_DrawLine(x-5+i,y+5,x+8+i,y+16,FColor);
    
    vLcd_DrawLine(x+30+i,y+10,x+36+i,y+15,FColor);
    vLcd_DrawLine(x+36+i,y+28,x+53+i,y+11,FColor); 
    
    vLcd_DrawLine(x+16,y+3+i,x+29,y+3+i,FColor); 
    vLcd_DrawLine(x+19+i,y+4,x+19+i,y+12,FColor);	 
  }
  vLcd_DrawCircle(x+56,y+22,2,FColor,1); 
} 
 
 
/**************************************************/
/*画圆弧。 1/4象限圆弧                            */
/**************************************************/
void DrawSemicircle(unsigned int x,unsigned int y,unsigned int r,
                    unsigned char updown,unsigned char FColor){
  if(updown==0){
    vLcd_DrawPartArc(x,y,r,FColor,0);
    vLcd_DrawPartArc(x,y,r,FColor,1);
  }else{
    vLcd_DrawPartArc(x,y,r,FColor,2);
    vLcd_DrawPartArc(x,y,r,FColor,3); 
  }
}
 
/**************************************************/
/*发动冷却液温度.                                 */
/**************************************************/    
void vLcd_WaterTemperature(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned char i,j,k;
  for(i=1;i<5;i++){
		vLcd_DrawCircle(x,y+i,2,FColor,0);
	  vLcd_DrawCircle(x,y+31,i,FColor,0);		
  }
	vLcd_ClearRect(x-2,y+2,x+3,y+30,FColor);  
  for(i=1;i<3;i++){ 
    vLcd_DrawLine2(x,y+10+i,x+8,y+10+i,FColor);
    vLcd_DrawLine2(x,y+15+i,x+8,y+15+i,FColor);
    vLcd_DrawLine2(x,y+20+i,x+8,y+20+i,FColor);
  }  
  DrawSemicircle(x-4,y+45,6,0,FColor);  
  DrawSemicircle(x+4,y+45,6,0,FColor);
  DrawSemicircle(x-12,y+45,6,0,FColor);  
  DrawSemicircle(x+12,y+45,6,0,FColor);
  DrawSemicircle(x+21,y+37,4,1,FColor);
  
  DrawSemicircle(x+10,y+34,3,0,FColor);  
  DrawSemicircle(x+14,y+34,3,0,FColor);	
  
  DrawSemicircle(x-11,y+36,6,0,FColor); 
  DrawSemicircle(x-16,y+30,3,1,FColor);  
} 			


/**************************************************/
/*左转向信号.                                     */
/**************************************************/ 
void vLcd_LTurnIndn(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned char i,k;
  for(i=0;i<4;i++){
    vLcd_DrawLine(x+i,y,x+15+i,y+15,FColor);
    vLcd_DrawLine(x+i,y,x+15+i,y-15,FColor); 
  }
  for(i=0;i<3;i++){ 
    vLcd_DrawLine(x+15+i,y+15,x+15+i,y+5,FColor);
    vLcd_DrawLine(x+15+i,y-15,x+15+i,y-5,FColor);	 
  
    vLcd_DrawLine(x+17,y+4+i,x+32,y+4+i,FColor);	
    vLcd_DrawLine(x+17,y-5+i,x+32,y-5+i,FColor);	
  
    for(k=0;k<10;k++)
      vLcd_DrawLine(x+30,y-5+k,x+30+i,y-5+k,FColor);
   // vLcd_DrawLine(x+30+i,y+6,x+30+i,y-5,FColor);
  }
}
 

/**************************************************/
/*右转向信号.                                     */
/**************************************************/  
void vLcd_RTurnIndn(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned char i,k;
  for(i=0;i<3;i++){ 
    vLcd_DrawLine(x,y+4+i,x+15,y+4+i,FColor);	
    vLcd_DrawLine(x,y-5+i,x+15,y-5+i,FColor);	
		for(k=0;k<10;k++)
      vLcd_DrawLine(x,y-5+k,x+i,y-5+k,FColor);    
    vLcd_DrawLine(x+12+i,y+4,x+12+i,y+15,FColor);
    vLcd_DrawLine(x+12+i,y-3,x+12+i,y-15,FColor);	     
  }
  for(i=0;i<4;i++){
    vLcd_DrawLine(x+14+i,y+15,x+29+i,y,FColor);
    vLcd_DrawLine(x+14+i,y-15,x+29+i,y,FColor); 
  }  
}


/**************************************************/
/*前雾灯模型                                      */
/**************************************************/  
void FFogLightModel(unsigned int x,unsigned int y,unsigned char FColor){
  unsigned int i;  

⌨️ 快捷键说明

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