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

📄 cmd.c

📁 瑞萨单片机开发软代码.非常实用小巧的平台,很多应用都可以在上面实现.
💻 C
📖 第 1 页 / 共 2 页
字号:
		for(i=0; i<TARGET_Y_DISP_BOTTOM/16; i++){
				if(i==(i/2)*2){
				for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
					lcd_out(R766_RAM_Data, cCYAN);
					lcd_out(R766_RAM_Data, cYELLOW);
				}
			}
			else{
				for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
					lcd_out(R766_RAM_Data, cYELLOW);
					lcd_out(R766_RAM_Data, cCYAN);
				}
			}
		}
		for(i=0; i<TARGET_Y_DISP_BOTTOM/16; i++){
				if(i==(i/2)*2){
				for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
					lcd_out(R766_RAM_Data, cCYAN);
					lcd_out(R766_RAM_Data, cMAGENTA);
				}
			}
			else{
				for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
					lcd_out(R766_RAM_Data, cMAGENTA);
					lcd_out(R766_RAM_Data, cCYAN);
				}
			}
		}
		for(i=0; i<TARGET_Y_DISP_BOTTOM/16; i++){
				if(i==(i/2)*2){
				for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
					lcd_out(R766_RAM_Data, cWHITE);
					lcd_out(R766_RAM_Data, cMAGENTA);
				}
			}
			else{
				for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
					lcd_out(R766_RAM_Data, cMAGENTA);
					lcd_out(R766_RAM_Data, cWHITE);
				}
			}
		}
		for(i=0; i<TARGET_Y_DISP_BOTTOM/16; i++){
				if(i==(i/2)*2){
				for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
					lcd_out(R766_RAM_Data, cWHITE);
					lcd_out(R766_RAM_Data, cBLACK);
				}
			}
			else{
				for(j=0; j<TARGET_X_BYTE_SIZE/2; j++){
					lcd_out(R766_RAM_Data, cBLACK);
					lcd_out(R766_RAM_Data, cWHITE);
				}
			}
		}
		break; 
	case 5:				/* Color Tile Checker */
		lcd_out(R766_RAM_WriteMask, 0x0000);
		col = 0;
		for(k=0; k<16; k++){
			for(j=0; j<16; j++){
				for(i=0; i<10; i++){
					lcd_out(R766_RAM_AddressSet, TARGET_START_ADDRESS - (i*TARGET_X_BYTE_WIDTH + j*8 + k*TARGET_X_BYTE_WIDTH*10));
		                                                                                                                                                           /* J*4 */
		/* Case of 8bit data  
		 			send_fill(R766_RAM_Data, col<<8|col, 4); */      
		 			
		 			send_fill(R766_RAM_Data, col<<3|col, 8);
				}
				col = col+0x0821;
			}
		}
		break;
	}
}

unsigned char CMD = 0;

unsigned char Dispatch( unsigned char CMD )
{
	return 0;
}

void cmdToMainLcd(unsigned char addr)
{
	BUS_INDEX_A2 = 0;
	BUS_DATA_A2 = addr;
	BUS_INDEX_A2 = 1;
}

void mainLcdWindow(unsigned short sax, unsigned short say, unsigned short eax, unsigned short eay)
{
            cmdToMainLcd(0x42);     ///X-address Area Set
            cmdToMainLcd(sax);
            cmdToMainLcd(eax);

            cmdToMainLcd(0x43); 	///Y-address Area Set
            cmdToMainLcd(say);
            cmdToMainLcd(eay);
						
}

void mainLcdStart(unsigned short sax, unsigned short say)
{
	cmdToMainLcd(0x42);	
	cmdToMainLcd(sax); 
    cmdToMainLcd(0x9f); 	
		
	cmdToMainLcd(0x43);
	cmdToMainLcd(say); 
	cmdToMainLcd(0x7f); 
}

unsigned char init_m3v( )
{
	int i;
	PORT.PADDR.BIT.PA0DDR = 1;
	PORT.PADR.BIT.PA0DR = 0;
	WaitTime( 200 );
	PORT.PADR.BIT.PA0DR = 1;
	WaitTime( 150 );

    cmdToMainLcd(0x50);
    cmdToMainLcd(0xea);
    // initial sequence
    WaitTime(35);
    cmdToMainLcd(0x2C);
    WaitTime(35);

    cmdToMainLcd(0x02);     ///Oscillation Mode Set
    cmdToMainLcd(0x01);

    cmdToMainLcd(0x026);	 ///DCDC & AMP ON/OFF Set
    cmdToMainLcd(0x01);    
    cmdToMainLcd(0x026);	 ///DCDC & AMP ON/OFF Set
    cmdToMainLcd(0x09);	
    cmdToMainLcd(0x026);	 ///DCDC & AMP ON/OFF Set
    cmdToMainLcd(0x0B);	
    cmdToMainLcd(0x026);	 ///DCDC & AMP ON/OFF Set
    cmdToMainLcd(0x0F);	

    cmdToMainLcd(0x010);	 ///Driver Output Mode Set
    cmdToMainLcd(0x020);	

    cmdToMainLcd(0x020);	 ///DC-DC Select
    cmdToMainLcd(0x05);		

    cmdToMainLcd(0x022);	 ///BIAS Select
    cmdToMainLcd(0x011);	

    cmdToMainLcd(0x024);	 ///DCDC Clock Division Set
    cmdToMainLcd(0x22);//(0x011);		

    cmdToMainLcd(0x028);	 ///Temp Compensation Set
    cmdToMainLcd(0x01);	

    cmdToMainLcd(0x02A);	 ///Contrast Control 1
    cmdToMainLcd(0x0Bf);
    WaitTime(35);

    cmdToMainLcd(0x02F);	 ///DDRAM Burst Mode On

    cmdToMainLcd(0x030);	 ///Addressing Mode Set
    cmdToMainLcd(0x01C);

    cmdToMainLcd(0x032);	 ///Row Vector Mode Set
    cmdToMainLcd(0x0f);

    cmdToMainLcd(0x034);	 ///N-Line Inversion Set
    //cmdToMainLcd(0x01f);      //b0a
	cmdToMainLcd(0x0d1);	   //b2a

    cmdToMainLcd(0x040);	 //Entry Mode Set
    cmdToMainLcd(0x000);

    cmdToMainLcd(0x055);	 /// partial display mode Off and PDM 0; 
    cmdToMainLcd(0x00);    
	

//    outpw(0x800000+0x1C, 0x0333);
	BUS_DATA( 0x1C, 0x0333 );
    //mainLcdWindow(0, 8, 159, 135);  for s6b330b0a
    mainLcdWindow(0, 0, 159, 127);     //for s6b330b2a
	
    cmdToMainLcd(0x51);    //display on
    WaitTime(35);
    mainLcdStart(0,0);

    for(i = 0; i < 128*160; i++) 
	{
		BUS_DATA_A2 = cGREEN;                                        //display white
    }  	
}

void ClearDisp()
{       unsigned long i;
		lcd_out(0x44,0xaf00);  //0xaf00  source
		lcd_out(0x45,0xdb00 );  //0xdb00  gate
		lcd_out(0x21,0x00);//gate---source
		index_out( 0x22 );
		for(i=0;i<176*220;i++)data_out(0xffff);
}
void ShowPicture( int fileID, unsigned short LcdWidth, unsigned short LcdHeight )
{
	unsigned long i,j, k, x, y, mode;

	unsigned long dwSize;
	unsigned short* img_buf;
	unsigned short wWidth, wHeight,data;
	unsigned char * img_buf1;
	if( !IsExistImgFile( fileID, &dwSize, &wWidth, &wHeight ) )
	{
	   if(( LcdWidth>= wWidth  )&&( LcdHeight >= wHeight  ))
	   {
		data=(LcdWidth-wWidth)/2;
		//lcd_out(0x44,(wWidth-1)<<8 );	
		lcd_out(0x44,((wWidth+data-1)<<8)+data );  //0xaf00  source
		data=(LcdHeight-wHeight)/2;
		//lcd_out(0x45,(wHeight-1)<<8 );
		lcd_out(0x45,((wHeight+data-1)<<8)+data );  //0xdb00  gate
		//lcd_out( 0x0021,0x0000 );
		lcd_out(0x21,(data<<8)+(LcdWidth-wWidth)/2);//gate---source
		index_out( 0x22 );
       // index_out(0x2c);
		for( i = 0; i< dwSize/512; i++ )
		{
			img_buf = GetImgBuf( i );
			for( j = 0; j<256; j++ )
			{
				data_out( img_buf[j] );
			}
		}
		if( dwSize%512 )
		{
			img_buf = GetImgBuf( i );

			for( j = 0; j<(dwSize%512)/2; j++ )
			{
				data_out( img_buf[j] );
			}
		}
		}//end if(( LcdWidth>= wWidth  )&&( LcdHeight >= wHeight  )))
	}//end if( !IsExistImgFile( fileID, &dwSize, &wWidth, &wHeight ) )
	else
	{
		SCI_Str( "\r\nDon't Show the picture!");
	}
}

void ShowDemoPicture( unsigned short* buf, int lcd_width, int lcd_height, int img_width, int img_height, int other_color )
{
	int x,y, pos;
	unsigned short data;
	index_out( 0x22 );
	for( y = 0; y<lcd_height; y++ )
	{
		for( x = 0; x<lcd_width; x++ )
		{
			if( x > img_width || y > img_height )
				data = other_color;			
			else
			{
				data= buf[y*img_width+x];
			}		  
					
			data_out( data );
		}
	}
}
void init_lcdPCF8839()
{     unsigned int i;
	PORT.PADDR.BIT.PA0DDR = 1;
	PORT.PADR.BIT.PA0DR = 0;
	WaitTime( 200 );
	PORT.PADR.BIT.PA0DR = 1;
	WaitTime( 150 );
	PORT.P1DDR.BIT.P15DDR = 1;
	PORT.P1DR.BIT.P15DR = 1;
    index_out(0x01); /* s/w reset */      
	WaitTime( 100 );
    index_out(0xee);  /* disable factory defaul */    
      //index_out(0x11);  /* sleep out */   
      //index_out(0x11);   
  
      //index_out(0x29);   /* display on */   
    index_out(0xc2);   /*  booster */   
    data_out(0x00); 
    index_out(0xc7);    /*   bias setting */   
    data_out(0x01); 
    index_out(0xb0);    /*   vpr setting */   
    data_out(0xba); 
    index_out(0x25);     /*  contrast setting */   
    data_out(0x3f);       
    index_out(0x3a);  /* color format */   
      data_out(0x05);        
      index_out(0x03);
      index_out(0x2a);    /*  x display area setting */   
      data_out(0x04); 
      data_out(0x83); 
      index_out(0x2b);     /*  y display area setting */   
      data_out(0x00); 
      data_out(0x7f); 
      index_out(0x36);     /*   display control */   
      data_out(0xC8); 
      index_out(0xc5);     /*    frame frequency  */     
      data_out(0x05); 
      data_out(0x05); 
      data_out(0x05); 
      data_out(0x05); 
      data_out(0x05); 
      index_out(0xB3);     /*  FREQUENCY SETTING */   
      data_out(0x00);  
      index_out(0xc3);     /*   temperature conpensation */   
      data_out(0x74); 
      index_out(0xC4);       /*   temperature conpensation */    
      data_out(0x04); 
      index_out(0xb9);      /*  super frame   */   
      index_out(0xc9);      /*  N-line  */   
      data_out(0x13); 
     
    
      //index_out(0xb4);      /*    trs/brs  */   
      index_out(0xb6);       /*    trs/brs    */         
      index_out(0x13);       /*    normal display on */   
      //index_out(0x35);        /*   TE on */   

      //data_out(0x01); 

      index_out(0xf2);        /*   charge sharing   */   
      data_out(0x00); 
      
      index_out(0xf3);        /*  charge sharing */   
      data_out(0x00); 

      index_out(0xf8);     /*    phase mixing */   
      data_out(0x06); 
      index_out(0x29); 
      index_out(0x11); 

//  while(PauseDisp){WaitTime( 200 );};
    index_out(0x2c);	
	for(i=0;i<128*128;i++)
	{
		data_out(0xf800);
	}
	WaitTime( 1000 );
//	while(PauseDisp){WaitTime( 200 );};
    index_out(0x2c);	
	for(i=0;i<128*128;i++)
	{
		data_out(0x07e0);
      
	}
	WaitTime( 1000 );
//	while(PauseDisp){WaitTime( 200 );};
index_out(0x2c);	
      
	for(i=0;i<128*128;i++)
	{
		data_out(0x001f);
	}
	WaitTime( 1000 );
    index_out(0x2c);	
    for(i=0;i<128*128;i++)
	{
//		data_out(pic[i]);
   
	}
	WaitTime( 1000 );	
//while(PauseDisp){WaitTime( 200 );

	//end while	
}
/*
void DisplayPic(unsigned char p)
{   unsigned short i;
    switch(p)
	{
		 case 0:
    	 index_out(0x2c);	
    	 for(i=0;i<128*128;i++)
			{
			data_out(pic[i]);
   			}
         break;
		 
		 case 1:
    	 index_out(0x2c);	
    	 for(i=0;i<128*128;i++)
			{
			data_out(pic1[i]);
   			}
         break;
		 case 2:
    	 index_out(0x2c);	
    	 for(i=0;i<128*128;i++)
			{
			data_out(pic2[i]);
   			}
         break;
		 case 3:
    	 index_out(0x2c);	
    	 for(i=0;i<128*128;i++)
			{
			data_out(pic3[i]);
   			}
         break;
		 case 4:
    	 index_out(0x2c);	
    	 for(i=0;i<128*128;i++)
			{
			data_out(pic4[i]);
   			}
         break;
		 case 5:
    	 index_out(0x2c);	
    	 for(i=0;i<128*128;i++)
			{
			data_out(pic5[i]);
   			}
		 break;
		 case 6:
    	 index_out(0x2c);	
    	 for(i=0;i<128*128;i++)
			{
			data_out(pic6[i]);
   			}
		 break;
		 case 7:
    	 index_out(0x2c);	
    	 for(i=0;i<128*128;i++)
			{
			data_out(pic8[i]);
   			}
         break;
		 case 8:
    	 index_out(0x2c);	
		 for(i=0;i<128*128;i++)
			{
			data_out(0xf800);
 			}
		 break;
		 case 9:
    	 index_out(0x2c);	
		 for(i=0;i<128*128;i++)
			{
			data_out(0x07e0);
 			}
		 break;
		 case 10:
    	 index_out(0x2c);	
		 for(i=0;i<128*128;i++)
			{
			data_out(0x001f);
 			}
		 break;
		 default:
		 p=0xff;
		 break;
	}
}*/

⌨️ 快捷键说明

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