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

📄 hw_mb2401.c

📁 RK27驱动
💻 C
字号:
/******************************************************************/
/*   Copyright (C) 2007 ROCK-CHIPS FUZHOU . All Rights Reserved.  */
/*******************************************************************
File	:  hw_Ili9320.c
Desc	:  Mcupanel型号的Mcu驱动
		  
Author	:  nzy
Date	: 
Notes	: 

$Log	: 
*********************************************************************/

#include "hw_include.h"


#if(LCDPANEL == MCUIF_MB2401)

//#define		LCM_7787	7
					//1-->AF240B—36B V1。0(NP);华龙屏7787
					//2-->XL-24W2(LW); 
					//3-->爱伦华7787
					//4-->AF240B—36B V1。0(NP)(LW摄像头机型专用MP2418/2427)
					//5-->AF240B—36B V1.0(7785)
					//6-->
/*---------------------------------------------------------
Name  :  Mcupanel_PowerOnInit
Desc  :  Mcupanel上电初始化
Params:  
Return:
Author:  nzy
Date  :  
-----------------------------------------------------------*/
void Mcupanel_PowerOnInit(void)
{	
    UINT32 i,j;
//############################AF240B—36B V1。0(NP)##########################################

		
	delay_nops(20000);
	//initializing funciton 1
	Mcupanel_Command(0xA1);
	delay_nops(16);
	Mcupanel_Data(0x00);
	delay_nops(90);
	Mcupanel_Command(0xA0);
	delay_nops(10);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x70);
	Mcupanel_Data(0xC8);

	delay_nops(20000);
	
	Mcupanel_Command(0x72);
	Mcupanel_Data(0xA3);
	delay_nops(10);
	Mcupanel_Command(0x73);
	Mcupanel_Data(0x04);
	delay_nops(10);
	Mcupanel_Command(0x75);
	Mcupanel_Data(0x45);
	delay_nops(10);
	Mcupanel_Command(0x76);
	Mcupanel_Data(0x23);
	delay_nops(10);
	Mcupanel_Command(0x77);
	Mcupanel_Data(0x08);
	delay_nops(10);
	Mcupanel_Command(0x78);
	Mcupanel_Data(0x08);
	delay_nops(10);
	Mcupanel_Command(0x79);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x7F);
	Mcupanel_Data(0xF0);
	delay_nops(10);

	Mcupanel_Command(0x71);
	Mcupanel_Data(0x81);	//

	delay_nops(2000);

	Mcupanel_Command(0x0D);
	Mcupanel_Data(0x23);
	delay_nops(10);
	Mcupanel_Command(0x11);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x12);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x21);
	Mcupanel_Data(0x37);
	delay_nops(10);
	Mcupanel_Command(0x22);
	Mcupanel_Data(0x02);
	delay_nops(10);
	Mcupanel_Command(0x23);
	Mcupanel_Data(0x24);
	delay_nops(10);
	delay_nops(10);
	Mcupanel_Command(0x24);
	Mcupanel_Data(0x13);
	delay_nops(10);
	Mcupanel_Command(0x25);
	Mcupanel_Data(0x0A);
	delay_nops(10);
	Mcupanel_Command(0x26);
	Mcupanel_Data(0x82);
	delay_nops(10);
	Mcupanel_Command(0x27);
	Mcupanel_Data(0x01);
	delay_nops(10);
	Mcupanel_Command(0x1E);
	Mcupanel_Data(0x25);
	delay_nops(10);
	Mcupanel_Command(0x1F);
	Mcupanel_Data(0x59);
	delay_nops(10);

	//GAMMA设置
	Mcupanel_Command(0x30);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x31);
	Mcupanel_Data(0x04);
	Mcupanel_Data(0x44);
	delay_nops(10);
	Mcupanel_Command(0x32);
	Mcupanel_Data(0x05);
	Mcupanel_Data(0x55);
	delay_nops(10);
	Mcupanel_Command(0x33);
	Mcupanel_Data(0x04);
	Mcupanel_Data(0x44);
	delay_nops(10);
	Mcupanel_Command(0x34);
	Mcupanel_Data(0x03);
	Mcupanel_Data(0x33);
	delay_nops(10);
	Mcupanel_Command(0x35);
	Mcupanel_Data(0x03);
	Mcupanel_Data(0x33);
	delay_nops(10);
	Mcupanel_Command(0x36);
	Mcupanel_Data(0x03);
	Mcupanel_Data(0x33);
	delay_nops(10);
	Mcupanel_Command(0x37);
	Mcupanel_Data(0x03);
	Mcupanel_Data(0x33);
	delay_nops(10);
	Mcupanel_Command(0x38);
	Mcupanel_Data(0x04);
	Mcupanel_Data(0x44);
	delay_nops(10);
	Mcupanel_Command(0x39);
	Mcupanel_Data(0x05);
	Mcupanel_Data(0x55);
	delay_nops(10);
	Mcupanel_Command(0x3A);
	Mcupanel_Data(0x06);
	Mcupanel_Data(0x66);
	delay_nops(10);
	Mcupanel_Command(0x3B);
	Mcupanel_Data(0x06);
	Mcupanel_Data(0x66);
	delay_nops(10);
	Mcupanel_Command(0x3C);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x3D);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x3E);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x3F);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x40);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x41);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x42);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x43);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x44);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x45);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x46);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x47);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x48);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x49);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x4A);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x4B);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x4C);
	Mcupanel_Data(0x07);
	Mcupanel_Data(0x77);
	delay_nops(10);
	Mcupanel_Command(0x4D);
	Mcupanel_Data(0x06);
	Mcupanel_Data(0x66);
	delay_nops(10);
	Mcupanel_Command(0x4E);
	Mcupanel_Data(0x06);
	Mcupanel_Data(0x66);
	delay_nops(10);
	Mcupanel_Command(0x4F);
	Mcupanel_Data(0x06);
	Mcupanel_Data(0x66);

	delay_nops(400);

	Mcupanel_Command(0x00);
	Mcupanel_Data(0x04);	//扫描方向控制
	delay_nops(10);
	Mcupanel_Command(0x01);
	Mcupanel_Data(0x07);	//扫描方向控制
	delay_nops(10);

	Mcupanel_Command(0x02);
	Mcupanel_Data(0x00);	//X
	Mcupanel_Command(0x03);
	Mcupanel_Data(0x00);
	Mcupanel_Data(0x00);	//Y

	//面板大小设置
	Mcupanel_Command(0x04);
	Mcupanel_Data(0xEF);	//结束列数(0~239)	
	Mcupanel_Command(0x05);
	Mcupanel_Data(0x01);
	Mcupanel_Data(0x3F);	//结束行数(0~319)

	//窗口设置
	Mcupanel_Command(0x06);
	Mcupanel_Data(0x00);	//水平起始位置
	Mcupanel_Command(0x07);
	Mcupanel_Data(0x00);
	Mcupanel_Data(0x00);	//垂直起始位置
	Mcupanel_Command(0x08);
	Mcupanel_Data(0xEF);	//水平结束位置
	Mcupanel_Command(0x09);
	Mcupanel_Data(0x01);
	Mcupanel_Data(0x3F);	//垂直结束位置

	delay_nops(10);
	Mcupanel_Command(0x0A);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x0B);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x0C);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x14);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x15);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x16);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x17);
	Mcupanel_Data(0x01);
	Mcupanel_Data(0xFF);
	delay_nops(10);
	Mcupanel_Command(0x18);
	Mcupanel_Data(0x01);
	Mcupanel_Data(0xFF);
	delay_nops(10);	
	Mcupanel_Command(0x13);
	Mcupanel_Data(0x00);
	delay_nops(10);
	Mcupanel_Command(0x19);
	Mcupanel_Data(0x01);
	Mcupanel_Data(0xFF);
	delay_nops(10);
	Mcupanel_Command(0x1B);
	Mcupanel_Data(0x01);
	Mcupanel_Data(0xFF);
	delay_nops(10);
	Mcupanel_Command(0x1C);
	Mcupanel_Data(0x01);
	Mcupanel_Data(0xFF);
	delay_nops(10);
	Mcupanel_Command(0x1A);
	Mcupanel_Data(0x01);
	Mcupanel_Data(0xFF);	
	delay_nops(10);
	Mcupanel_Command(0x1D);
	Mcupanel_Data(0x0E);
	delay_nops(10);
	Mcupanel_Command(0x10);
	Mcupanel_Data(0x06);		//开显示
	
	Mcupanel_Command(0x0E);
	delay_nops(100);
	Mcupanel_SetAddr(0x0,0x0);
	
    // ---------- Tested throught displaying black  ---------- //
#if 1
	for(j=0;j<240;j++)
	   for(i=0;i<320;i++)
		  Mcupanel_Data(0x000000);
#endif
}


/*---------------------------------------------------------
Name  :  Mcupanel_Standby
Desc  :  Mcupanel的StandBy模式设置
Params:  NORMAL  -> 恢复正常模式
         STANDBY -> 设置为StandBy模式
Return:
Author:  nzy
Date  :  
-----------------------------------------------------------*/
void  Mcupanel_Standby(BOOLEAN Enable)
{
    if(Enable == STANDBY)//Standby mode
    {
    }
	else//Return normal
	{
	}
}

/*---------------------------------------------------------
Name  :  Mcupanel_SetAddr
Desc  :  Mcupanel起始位置设置
Params:  X -> X方向的坐标
         Y -> Y方向的坐标 
Return:
Author:  nzy
Date  :  
-----------------------------------------------------------*/
void Mcupanel_Reset_Addr()
{
    Lcdctrl_McuBypassMode(TRUE);
    
	Mcupanel_Command(0x02);
	Mcupanel_Data(0x00);	//X
	Mcupanel_Command(0x03);
	Mcupanel_Data(0x00);
	Mcupanel_Data(0x00);	//Y
	
	Mcupanel_Command(0x0E);	
    Lcdctrl_McuBypassMode(FALSE);	
}


/*---------------------------------------------------------
Name  :  Mcupanel_SetAddr
Desc  :  Mcupanel起始位置设置
Params:  X -> X方向的坐标
         Y -> Y方向的坐标 
Return:
Author:  nzy
Date  :  
-----------------------------------------------------------*/
void Mcupanel_SetAddr(UINT32 x, UINT32 y)
{
    Lcdctrl_McuBypassMode(TRUE);
    
	Mcupanel_Command(0x02);
	Mcupanel_Data(y&0xff);	//X
	Mcupanel_Command(0x03);
	Mcupanel_Data((x>>8)&0xff);
	Mcupanel_Data(x&0xff);	//Y
	
	Mcupanel_Command(0x0E);	
    Lcdctrl_McuBypassMode(FALSE);	
}


/*---------------------------------------------------------
Name  :  Mcupanel_SetAddr
Desc  :  Mcupanel矩形区域设置
Params:  area -> 矩形区域的左上和右下点坐标
Return:
Author:  nzy
Date  :  
-----------------------------------------------------------*/
void Mcupanel_SetWindow(UHRECT *area)
{
	
}

#endif

⌨️ 快捷键说明

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