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

📄 ili9320_xw.c.bak

📁 此案例为ARM2131+flash+QVGAtft+按键的读写显示控制程序
💻 BAK
字号:
/****************************************Copyright (c)**************************************************
**                               Beijing Visionox Technology Co.,LTD.
**                                      
**                                 
**
**--------------File Info-------------------------------------------------------------------------------
** File name:			main.c
** Last modified Date:  2007-03-09
** Last Version:		1.0
** Descriptions:		The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:			Alan Dong
** Created date:		2007-03-08
** Version:				1.0
** Descriptions:		The original version
**
**------------------------------------------------------------------------------------------------------
** Modified by:			Alan Dong
** Modified date:		2007-03-20
** Version:				1.1
** Descriptions:		Display the dynamic picture of a MOVIE
**
********************************************************************************************************/
#include "config.h"
#include "KEY_LED.h"
#include "TFT_LCD.h"

void DelayNS(uint32 dly);		//dly=1,delay 10ms	while Osc=11.0592Mhz
void Write_cmd(uint32 cmd);		//Write command
void Write_data(uint32 data);	//write data
void DisplayOn(void);			//All white
void DisplayRGB(void);			//Display RGN in one flash
void DisplayRed(void);			//Display Red Color
void DisplayGreen(void);		//Display Green Color
void DisplayBlue(void);			//Display Blue Color
void DisplayPack(int i);		//Displar Switch
void DisplayFlash(uint32 Fdata);
/*******************************************************************************************************/

//TFT_LCD int	//For ssd1289
void TFT_Int(void)
{
	//int i;
	IO0SET=NAND_CS;				//Unable nand flash
	IO0CLR=TFT_RES;
	IO0CLR=TFT_CS;				//Active the TFT IC
	IO0CLR=TFT_RES;
	IO0SET=TFT_RS;				//Initial the RS sign
	IO0SET=TFT_RD;				//Pull up the RD sign
	IO0SET=TFT_WR;				//Initial the RS sign
	DelayNS(20);				//Delay 100ms
	IO0SET=TFT_RES;
	//initial code
	Write_cmd(0x0000E500);			//Oscillation Start
	Write_data(0x00800000);	
	Write_cmd(0x00000000);			//Oscillation Start
	Write_data(0x00000100);			
	//DelayNS(1);				//Delay 100ms
	//Write_cmd(0x00000000);			//Oscillation Start
	//Write_data(0x00000100);	
	//DelayNS(20)		;
	Write_cmd(0x00000100);			//Output Control
	Write_data(0x00010000);
	//Write_cmd(0x10);			//Sleep Mode
	//Write_data(0x0000);
	
	Write_cmd(0x00000200);			//LCD driver AC control
	
	
	Write_data(0x00070000);
	Write_cmd(0x00000300);			//Power Control
	Write_data(0x00103800);
	Write_cmd(0x00000400);			//Frame cycle control
	Write_data(0x00000000);
	Write_cmd(0x00000800);			//Frame cycle control
	Write_data(0x00020200);
	Write_cmd(0x00000900);			//Power Control
	Write_data(0x00000000);
	Write_cmd(0x00000A00);			//Power Control
	Write_data(0x00000000);  
	Write_cmd(0x00000C00);			//Gate scan start
	Write_data(0x00000000);
	Write_cmd(0x00000D00);			//Entry mode
	Write_data(0x00000000);
	Write_cmd(0x00000F00);			//Power control
	Write_data(0x00000000);
	Write_cmd(0x00001000);			//Frame	Frequency
	Write_data(0x00000000);
	Write_cmd(0x00001100);			//Frame	Frequency
	Write_data(0x00000700);
	Write_cmd(0x00001200);			//Frame	Frequency
	Write_data(0x00000000);
	Write_cmd(0x00001300);			//Frame	Frequency
	Write_data(0x00000000);
	DelayNS(30);
	Write_cmd(0x00001000);			//Frame	Frequency
	Write_data(0x0017B000);
	Write_cmd(0x00001100);			//Frame	Frequency
	Write_data(0x00003700);
	DelayNS(65);
	Write_cmd(0x00001200);			//Frame	Frequency
	Write_data(0x00013A00);
	DelayNS(65);
	Write_cmd(0x00001300);			//Frame	Frequency
	Write_data(0x001A0000);
	Write_cmd(0x00002900);			//Frame	Frequency
	Write_data(0x00000C00);
	DelayNS(65);
	Write_cmd(0x00002000);			//Frame	Frequency
	Write_data(0x00000000);
	Write_cmd(0x00002100);			//Frame	Frequency
	Write_data(0x00000000);
	
	//GammaSet
	Write_cmd(0x00003000);
	Write_data(0x00000000);
	Write_cmd(0x00003100);
	Write_data(0x00050500);
	Write_cmd(0x00003200);
	Write_data(0x00000400);
	Write_cmd(0x00003500);
	Write_data(0x00000600);
	Write_cmd(0x00003600);
	Write_data(0x00070700);
	Write_cmd(0x00003700);
	Write_data(0x00010500);
	Write_cmd(0x00003800);
	Write_data(0x00000200);
	Write_cmd(0x00003900);
	Write_data(0x00070700);
	Write_cmd(0x00003C00);
	Write_data(0x00070400);
	Write_cmd(0x00003D00);
	Write_data(0x00080700);
	


	
	//Write_cmd(0x17);			//Vertical porch
	//Write_data(0x1B1B);

	//Write_cmd(0x041);			//Vertical scroll
	//Write_data(0x0000);
	//Write_cmd(0x42);			//Vertical scroll
	//Write_data(0x0000);
	Write_cmd(0x00005000);			//Horizontal scroll
	Write_data(0x00000000);
	Write_cmd(0x00005100);			//Vertical ram adress start
	Write_data(0x0000EF00);
	Write_cmd(0x00005200);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00005300);			//Vertical ram adress start
	Write_data(0x00013F00);
	Write_cmd(0x00006000);			//Vertical ram adress end
	Write_data(0x00270000);
	Write_cmd(0x00006100);			//Vertical ram adress end
	Write_data(0x00000100);
	Write_cmd(0x00006A00);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00008000);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00008100);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00008200);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00008300);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00008400);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00008500);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00009000);			//Vertical ram adress end
	Write_data(0x00009500);
	Write_cmd(0x00009200);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00009300);			//Vertical ram adress end
	Write_data(0x00000300);
	Write_cmd(0x00009500);			//Vertical ram adress end
	Write_data(0x00011000);
	Write_cmd(0x00009700);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00009800);			//Vertical ram adress end
	Write_data(0x00000000);
	Write_cmd(0x00000700);			//Vertical ram adress end
	Write_data(0x00017300);
	/*Write_cmd(0x48);			//First window start
	Write_data(0x0000);
	Write_cmd(0x49);			//First window end
	Write_data(0x013F);
	Write_cmd(0x4A);			//Second window start
	Write_data(0x0000);
	Write_cmd(0x4B);			//Second window end
	Write_data(0x0000);*/
	
	
	}


//******************************************************sub function********************************************************
//Delay sevral ms
void DelayNS(uint32 dly)	//dly=1,delay 10ms	while Osc=11.0592Mhz
{	uint32 i;
	
	for(;dly>0;dly--)
		for(i=0;i<50000;i++);
}

//Write Command
void Write_cmd(uint32 cmd)
{

	IO0CLR=TFT_RS;				//This is function 	for CMD
	IO0CLR=TFT_WR;
	IO0PIN=(IO0PIN&0xFF00FFFF)|(cmd&0x00FF0000);					 //((cmd&0x0000FF00)<<8);
	IO1PIN=(IO1PIN&0xFF00FFFF)|((cmd&0x0000FF00)<<8);//((cmd&0x000000FF)<<16);
	IO0SET=TFT_WR;

}
//Write Data
void Write_data(uint32 data)
{
	uint32 i;
	IO0SET=TFT_RS;
	IO0CLR=TFT_WR;
	IO0PIN=(IO0PIN&0xFF00FFFF)|(data&0x00FF0000);
	IO1PIN=(IO1PIN&0xFF00FFFF)|((data&0x0000FF00)<<8);//((data&0x000000FF)<<16);
	IO0SET=TFT_WR;
	
}
void Write_NFdata(uint32 data)
{
	
	IO0SET=TFT_RS;
	IO0SET=TFT_WR;
	IO0PIN=(IO0PIN&0xFF00FFFF)|(data&0x00FF0000);
	IO1PIN=(IO1PIN&0xFF00FFFF)|((data&0x0000FF00)<<8);
	IO0CLR=TFT_WR;
	
}
//Display the last picture
void DisLastP(void)
{

}
//Display the next picture
void DisNextP(void)
{

}
void DisplayFlash(uint32 Fdata)
{
	uint32 i;	
	IO0SET=TFT_RD;
	Write_cmd(0x00002200);			//WRITE TO RAM
	for(i=0;i<76800;i++)
	Write_data(Fdata>>16);			//EC
	
}
//All Display ON
void DisplayOn(void)
{	uint32	i;
	Write_cmd(0x00002200);			//WRITE TO RAM
	for(i=0;i<76800;i++)
	Write_data(0x00000000);			//RED
}
//All Display OFF
void DisplayOff(void)
{

}
//Display RGB
void DisplayRGB(void)
{	uint32 i;
	Write_cmd(0x00002200);			//WRITE TO RAM
	for(i=0;i<25600;i++)
	Write_data(0x00F80000);			//RED
	for(i=0;i<25600;i++)
	Write_data(0x0007E000);			//GREEN
	for(i=0;i<25600;i++)
	Write_data(0x00001F00);			//BLUE

}
//Display RED 
void DisplayRed(void)
{	uint32 i; 
	Write_cmd(0x00002200);			//WRITE TO RAM
	for(i=0;i<76800;i++)
	Write_data((0x0007FF00)|((i/2400)<<19));
	
}
//Display Green
void DisplayGreen(void)
{	uint32 i;	
	Write_cmd(0x00002200);			//WRITE TO RAM
	for(i=0;i<76800;i++)
	Write_data((0x00F81F00)|((i/1200)<<13));			//GREEN
}
//Display Blue 
void DisplayBlue(void)
{	uint32 i;	
	Write_cmd(0x00002200);			//WRITE TO RAM
	for(i=0;i<76800;i++)
	Write_data((0x00FFE000)|((i/2400)<<8));			//BLUE
}
//Display package
void DisplayPack(int i)
{
	
	switch(i)
	{
	case 0:
		DisplayOn();
		break;
	case 1:
		DisplayRed();
		break;
	case 2:
		DisplayGreen();
		break;
	case 3:
		DisplayBlue();
		break;
	default:
		break;	
	}
}

/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

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