📄 ili9320_xw.c.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 + -