📄 t4317a.c
字号:
/******************************************************
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 + -