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

📄 t4317a.c

📁 这是LCD常用驱动IC ST7637的初始化程序
💻 C
📖 第 1 页 / 共 5 页
字号:
/******************************************************
	Program:  4317A00.c
	Description: 4317A test program(or test program)
	Driver IC: ST7637  //如果是双屏模组应分别描述
	Dot size: 128*128   //如果是双屏模组应分别描述
	Interface: 80-08bit 
	Author:HAPPY
	Date: 2007.08.21
******************************************************/

#include <lcd.h>
uchar code Pic[];


void delay(uint t)
{
	uint i,j;
	for(i=0;i<t;i++)
	for(j=0;j<250;j++);
}

void WriteData(uint LCD_Data)
{
	LCM_RD=1;
	LCM_RS=1;

	LCM_CS=0;
	DataBus=LCD_Data;
	LCM_CS=1;
}

void WriteCmd(uint LCD_Reg)
{
	LCM_RD=1;
	LCM_RS=0;

	LCM_CS=0;
	DataBus=LCD_Reg;
	LCM_CS=1;
}

void Reset()
{
	LCM_RESET=0; 
	delay(40);
	LCM_RESET=1;
	delay(40);
}

void Init()
{
	Reset();
	
	
//-----------------------------------------------------------------------------------//
//------------------------------------ST7637 Initial Code----------------------------//
//--------------------------------Date/Time : 2006-11-28 15:50:13----------------//
//--------------------------------Interface : 80-16bit-------------------------------//
//-----------------------------------------------------------------------------------//

		delay(50);                      //Delay 50mS
		WriteCmd(0x01);                  //Software Reset 
		delay(150);                     //Delay 150mS

		WriteCmd(0xD7);                  //Autoread control
		WriteData(0x9F);                //Disable Autoread
		WriteCmd(0xE0);                  //Control OTP/MTP
		WriteData(0x00);                //Read Mode
		delay(10);                      //Delay 10mS
		WriteCmd(0xE3);                  //Control OTP/MTP
		delay(20);                      //Delay 20mS
		WriteCmd(0xE1);                  //Close Read Mode
//-----------------------------------------------------------------------------------//
//------------------------------OTP/MTP Set [OTPA/OTPB/MTP ]-------------------------//
//-----------------------------------------------------------------------------------//
//------------------------------------OTPA Set---------------------------------------//
		WriteCmd(0xCA);                  //OTPA OSC
		WriteData(0x06);                //
		WriteCmd(0xC8);                  //OTPA VM
		WriteData(0x10);                //
		WriteCmd(0xC9);                  //OTPA VREF
		WriteData(0x20);                //
		WriteCmd(0xF5);                  //OTPA Temp Cal.
		WriteData(0x88);                //
		WriteCmd(0xC5);                  //Booster Frequency Set
		WriteData(0x21);                //
		WriteCmd(0xD0);                  //VM Offset Select
		WriteData(0x1D);                //
//------------------------------------OTPB Set---------------------------------------//
		WriteCmd(0xC3);                  //Bias Set
		WriteData(0x00);                //
		WriteCmd(0xC4);                  //Booster Set
		WriteData(0x06);                //
		WriteCmd(0xC5);                  //Booster Efficiency Set
		WriteData(0x21);                //
		WriteCmd(0xCB);                  //VG Booster Set
		WriteData(0x01);                //
		WriteCmd(0xCC);                  //ID1 Set
		WriteData(0x45);                //
		WriteCmd(0xCE);                  //ID3 Set
		WriteData(0x00);                //
		WriteCmd(0xB7);                  //Glass Direction
		WriteData(0xC8);                //
		WriteCmd(0xD0);                  //Follower Type set
		WriteData(0x1D);                //
//------------------------------------MTP Set----------------------------------------//
		WriteCmd(0xD7);                  //Autoread control
		WriteData(0xBF);                //
		/*
		WriteCmd(0xC7);                  //V0 Offset Voltage Set
		WriteData(0x00);                //
		WriteData(0x00);                //
		*/
		WriteCmd(0xB5);                  //N-line Set
		WriteData(0x01);                //0x07
		WriteCmd(0xCD);                  //ID2 Set
		WriteData(0x80);                //
		WriteCmd(0xD0);                  //Set Vg Source
		WriteData(0x1D);                //
		WriteCmd(0xB4);                  //PTL Saving Mode Set
		WriteData(0x18);                //Power Normal Mode
//-----------------------------------------------------------------------------------//
//----------------------------WriteCmd Table 1----------------------------------------//
//-----------------------------------------------------------------------------------//
		WriteCmd(0x11);                  //Sleep Out
		WriteCmd(0x20);                  //Normal Display
		WriteCmd(0x38);                  //Idle Mode Off
		WriteCmd(0x25);                  //Contrast Difference Set 0x25
		WriteData(0x3f);                //0x3F 0x6F

		WriteCmd(0x13);                  //Partial Mode Off
/*
		WriteCmd(0x2A);                  //Column Range
		WriteData(0x00);                //Start Address-0
		WriteData(0x7F);                //End Address-127

		WriteCmd(0x2B);                  //Page Range
		WriteData(0x04);                //Start Address-4
		WriteData(0x83);                //End Address-131
*/
		WriteCmd(0x34);                  //TE Off
		WriteCmd(0x33);                  //Scroll Area Set
		WriteData(0x00);                //Top Address
		WriteData(0x80);                //Height Address
		WriteData(0x00);                //Botton Address
		WriteCmd(0x37);                  //Scroll Start Address Set
		WriteData(0x00);                //
		WriteCmd(0x3A);                  //Pixel Format Set
		WriteData(0x05);                //
		WriteCmd(0x36);                  //Memory Access Control
		WriteData(0x00);                //
		WriteCmd(0x29);                  //Display On
//-----------------------------------------------------------------------------------//
//------------------------WriteCmd Table 2 [XXXX/XXXX/GAMM]---------------------------//
//-----------------------------------------------------------------------------------//
		WriteCmd(0xB0);                  //Duty Set
		WriteData(0x7F);                //0x7F
		WriteCmd(0xB1);                  //First COM Set
		WriteData(0x00);                //
		WriteCmd(0xB3);                  //OSC Div. Set
		WriteData(0x00);                //
		
		WriteCmd(0xC0);                  //V0 Voltage Set
		WriteData(0x05);                //Vop=17.08v 0x15 0x10
		WriteData(0x01);                //
		
		WriteCmd(0xC6);                  //V0 Bias Set
		WriteData(0x00);                //
		WriteCmd(0xB7);                  //Glass Direction
		WriteData(0xC8);                //
//------------------------------Gamma Table Set--------------------------------------//
		WriteCmd(0xF9);                  //Gamma
		WriteData(0x00);                //
		WriteData(0x02);                //
		WriteData(0x04);                //
		WriteData(0x06);                //
		WriteData(0x08);                //
		WriteData(0x0A);                //
		WriteData(0x0C);                //
		WriteData(0x0E);                //
		WriteData(0x10);                //
		WriteData(0x12);                //
		WriteData(0x14);                //
		WriteData(0x16);                //
		WriteData(0x18);                //
		WriteData(0x1A);                //
		WriteData(0x1C);                //
		WriteData(0x1E);                //

//-----------------------------------------------------------------------------------//
//----------------------------------Test WriteCmd-------------------------------------//
//-----------------------------------------------------------------------------------//  
}

void LCD_BlockWrite_IC(uint X0,uint X1,uint Y0,uint Y1)
{
	WriteCmd(0x2a);
	WriteData(X0);
	WriteData(X1);
	
	WriteCmd(0x2b);
	WriteData(Y0);
	WriteData(Y1);
	
	WriteCmd(0x2c);
}

void Display_RGB(uint COLOUR,uint t)
{
	uint i,j;

	LCD_BlockWrite_IC(Win_Startx,Win_Endx,Win_Starty,Win_Endy);

	for(i=0;i<Lcd_Length;i++)
	for(j=0;j<Lcd_Width;j++)
	{
		WriteData(COLOUR>>8);
		WriteData(COLOUR);
	}
	delay(t);
}

void Contrast_Test(uint t)
{
	uint i,j;

⌨️ 快捷键说明

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